summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Applications/phpmyadmin/Dockerfile15
-rw-r--r--Applications/phpmyadmin/config.inc.php157
-rw-r--r--Applications/phpmyadmin/docker-compose.yml19
-rw-r--r--Services/apache/README.md2
-rw-r--r--Services/apache/docker-compose.yml1
-rw-r--r--Services/apache/httpd.conf2
-rw-r--r--Services/apache/sx-httpd.sh2
-rw-r--r--Services/php/Dockerfile10
-rw-r--r--Services/php/README.md18
-rw-r--r--Services/php/docker-compose.yml7
-rw-r--r--Services/php/httpd.conf2
11 files changed, 199 insertions, 36 deletions
diff --git a/Applications/phpmyadmin/Dockerfile b/Applications/phpmyadmin/Dockerfile
index 88d2b84..21de57a 100644
--- a/Applications/phpmyadmin/Dockerfile
+++ b/Applications/phpmyadmin/Dockerfile
@@ -1,11 +1,14 @@
FROM startx/sv-php
MAINTAINER Christophe LARUE <dev@startx.fr>
-RUN dnf -y install phpMyAdmin \
- && dnf clean all
-COPY config.php /etc/phpMyAdmin/config.inc.php
-COPY test.php /var/www/html/test.php
+RUN cd $TMP_APP_PATH && \
+ wget -q https://files.phpmyadmin.net/phpMyAdmin/4.5.2/phpMyAdmin-4.5.2-all-languages.zip && \
+ unzip phpMyAdmin-4.5.2-all-languages.zip && \
+ rm -f phpMyAdmin-4.5.2-all-languages.zip && \
+ mv phpMyAdmin-4.5.2-all-languages pma
+COPY config.inc.php $TMP_APP_PATH/pma/config.inc.php
+COPY test.php $TMP_APP_PATH/pma/test.php
EXPOSE 80 443
-VOLUME ["/var/www/html", "/var/log/httpd"]
-CMD ["/sx/httpd_run.sh"] \ No newline at end of file
+VOLUME [$APP_PATH,$LOG_PATH]
+CMD ["/bin/run.sh"] \ No newline at end of file
diff --git a/Applications/phpmyadmin/config.inc.php b/Applications/phpmyadmin/config.inc.php
new file mode 100644
index 0000000..5c73c2e
--- /dev/null
+++ b/Applications/phpmyadmin/config.inc.php
@@ -0,0 +1,157 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * phpMyAdmin sample configuration, you can use it as base for
+ * manual configuration. For easier setup you can use setup/
+ *
+ * All directives are explained in documentation in the doc/ folder
+ * or at <http://docs.phpmyadmin.net/>.
+ *
+ * @package PhpMyAdmin
+ */
+
+/**
+ * This is needed for cookie based authentication to encrypt password in
+ * cookie
+ */
+$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
+
+/**
+ * Servers configuration
+ */
+$i = 0;
+
+/**
+ * First server
+ */
+$i++;
+/* Authentication type */
+$cfg['Servers'][$i]['auth_type'] = 'cookie';
+/* Server parameters */
+$cfg['Servers'][$i]['host'] = 'localhost';
+$cfg['Servers'][$i]['connect_type'] = 'tcp';
+$cfg['Servers'][$i]['compress'] = false;
+$cfg['Servers'][$i]['AllowNoPassword'] = false;
+
+/**
+ * phpMyAdmin configuration storage settings.
+ */
+
+/* User used to manipulate with storage */
+// $cfg['Servers'][$i]['controlhost'] = '';
+// $cfg['Servers'][$i]['controlport'] = '';
+// $cfg['Servers'][$i]['controluser'] = 'pma';
+// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
+
+/* Storage database and tables */
+// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
+// $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
+// $cfg['Servers'][$i]['relation'] = 'pma__relation';
+// $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
+// $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
+// $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
+// $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
+// $cfg['Servers'][$i]['history'] = 'pma__history';
+// $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
+// $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
+// $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
+// $cfg['Servers'][$i]['recent'] = 'pma__recent';
+// $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
+// $cfg['Servers'][$i]['users'] = 'pma__users';
+// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
+// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
+// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
+// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
+// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
+// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
+/* Contrib / Swekey authentication */
+// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';
+
+/**
+ * End of servers configuration
+ */
+
+/**
+ * Directories for saving/loading files from server
+ */
+$cfg['UploadDir'] = '';
+$cfg['SaveDir'] = '';
+
+/**
+ * Whether to display icons or text or both icons and text in table row
+ * action segment. Value can be either of 'icons', 'text' or 'both'.
+ * default = 'both'
+ */
+//$cfg['RowActionType'] = 'icons';
+
+/**
+ * Defines whether a user should be displayed a "show all (records)"
+ * button in browse mode or not.
+ * default = false
+ */
+//$cfg['ShowAll'] = true;
+
+/**
+ * Number of rows displayed when browsing a result set. If the result
+ * set contains more rows, "Previous" and "Next".
+ * Possible values: 25, 50, 100, 250, 500
+ * default = 25
+ */
+//$cfg['MaxRows'] = 50;
+
+/**
+ * Disallow editing of binary fields
+ * valid values are:
+ * false allow editing
+ * 'blob' allow editing except for BLOB fields
+ * 'noblob' disallow editing except for BLOB fields
+ * 'all' disallow editing
+ * default = 'blob'
+ */
+//$cfg['ProtectBinary'] = false;
+
+/**
+ * Default language to use, if not browser-defined or user-defined
+ * (you find all languages in the locale folder)
+ * uncomment the desired line:
+ * default = 'en'
+ */
+//$cfg['DefaultLang'] = 'en';
+//$cfg['DefaultLang'] = 'de';
+
+/**
+ * How many columns should be used for table display of a database?
+ * (a value larger than 1 results in some information being hidden)
+ * default = 1
+ */
+//$cfg['PropertiesNumColumns'] = 2;
+
+/**
+ * Set to true if you want DB-based query history.If false, this utilizes
+ * JS-routines to display query history (lost by window close)
+ *
+ * This requires configuration storage enabled, see above.
+ * default = false
+ */
+//$cfg['QueryHistoryDB'] = true;
+
+/**
+ * When using DB-based query history, how many entries should be kept?
+ * default = 25
+ */
+//$cfg['QueryHistoryMax'] = 100;
+
+/**
+ * Whether or not to query the user before sending the error report to
+ * the phpMyAdmin team when a JavaScript error occurs
+ *
+ * Available options
+ * ('ask' | 'always' | 'never')
+ * default = 'ask'
+ */
+//$cfg['SendErrorReports'] = 'always';
+
+/**
+ * You can find more configuration options in the documentation
+ * in the doc/ folder or at <http://docs.phpmyadmin.net/>.
+ */
diff --git a/Applications/phpmyadmin/docker-compose.yml b/Applications/phpmyadmin/docker-compose.yml
new file mode 100644
index 0000000..9a8d4d9
--- /dev/null
+++ b/Applications/phpmyadmin/docker-compose.yml
@@ -0,0 +1,19 @@
+server:
+ build: ./
+ container_name: "application-phpmyadmin"
+ mem_limit: 500m
+ memswap_limit: 500m
+ cpu_shares: 2
+ restart: "on-failure:2"
+ ports:
+ - "9215:80"
+ - "9216:443"
+ environment:
+ CONTAINER_TYPE: "application"
+ CONTAINER_SERVICE: "phpmyadmin"
+ CONTAINER_INSTANCE: "application-phpmyadmin"
+ SERVER_NAME: "localhost"
+ DOC_ROOT: "/data/apache"
+ volumes:
+ - "/tmp/container/logs/phpmyadmin:/data/logs/apache_php"
+ - "/tmp/container/phpmyadmin:/data/apache_php" \ No newline at end of file
diff --git a/Services/apache/README.md b/Services/apache/README.md
index 9db6367..ed737e1 100644
--- a/Services/apache/README.md
+++ b/Services/apache/README.md
@@ -29,7 +29,6 @@ service:
CONTAINER_SERVICE: "apache"
CONTAINER_INSTANCE: "service-apache"
SERVER_NAME: "localhost"
- DOC_ROOT: "/data/apache"
volumes:
- "/tmp/container/logs/apache:/data/logs/apache"
- "/tmp/container/apache:/data/apache"
@@ -91,7 +90,6 @@ CMD ["/bin/run.sh"]
| CONTAINER_SERVICE | `string` | `no` | Define the type of service or application provided
| SERVER_NAME | `string` | `no` | Server name for this container. If no name localhost will be assigned
| HOSTNAME | `auto` | `auto` | Container unique id automatically assigned by docker daemon at startup
-| DOC_ROOT | `auto` | `auto` | document root, will use the $APP_PATH variable
| LOG_PATH | `auto` | `auto` | default set to /data/logs/apache and used as a volume mountpoint
| APP_PATH | `auto` | `auto` | default set to /data/apache and used as a volume mountpoint
diff --git a/Services/apache/docker-compose.yml b/Services/apache/docker-compose.yml
index 44c8a5b..57bacf0 100644
--- a/Services/apache/docker-compose.yml
+++ b/Services/apache/docker-compose.yml
@@ -13,7 +13,6 @@ server:
CONTAINER_SERVICE: "apache"
CONTAINER_INSTANCE: "service-apache"
SERVER_NAME: "localhost"
- DOC_ROOT: "/data/apache"
volumes:
- "/tmp/container/logs/apache:/data/logs/apache"
- "/tmp/container/apache:/data/apache" \ No newline at end of file
diff --git a/Services/apache/httpd.conf b/Services/apache/httpd.conf
index 97672b4..f1bc5af 100644
--- a/Services/apache/httpd.conf
+++ b/Services/apache/httpd.conf
@@ -1,7 +1,7 @@
#
# This file will be copied into /etc/httpd/conf.d/app.conf and loaded when httpd start
#
-DocumentRoot ${DOC_ROOT}
+DocumentRoot ${APP_PATH}
ServerName ${SERVER_NAME}
ServerAdmin cl@startx.fr
diff --git a/Services/apache/sx-httpd.sh b/Services/apache/sx-httpd.sh
index 0344f1e..1adec4e 100644
--- a/Services/apache/sx-httpd.sh
+++ b/Services/apache/sx-httpd.sh
@@ -11,8 +11,6 @@ function check_httpd_environment {
if [ ! -v APP_PATH ]; then
APP_PATH="/data/apache"
export APP_PATH
- DOC_ROOT=$APP_PATH
- export DOC_ROOT
fi
if [ ! -v LOG_PATH ]; then
LOG_PATH="/data/logs/apache"
diff --git a/Services/php/Dockerfile b/Services/php/Dockerfile
index 7cb96b5..58653a8 100644
--- a/Services/php/Dockerfile
+++ b/Services/php/Dockerfile
@@ -8,19 +8,11 @@ RUN dnf -y install php php-pecl-mongo php-cli php-pear \
php-bcmath php-pecl-zip php-php-gettext php-tcpdf \
php-tcpdf-dejavu-sans-fonts php-tidy \
&& dnf clean all
-ENV LOG_PATH=/data/logs/apache_php \
- APP_PATH=/data/apache_php \
- STARTUPLOG=/data/logs/apache_php/startup.log \
- TMP_APP_PATH=/tmp/apache
COPY httpd.conf $HTTPDCONF
COPY php.ini /etc/php.d/sx.ini
COPY run.sh /bin/
RUN chmod 775 /bin/run.sh && \
- chmod ug+r $HTTPDCONF && \
- mkdir -p $TMP_APP_PATH && \
- mkdir -p $APP_PATH && \
- mkdir -p $LOG_PATH && \
- touch $STARTUPLOG
+ chmod ug+r $HTTPDCONF
COPY ./ $TMP_APP_PATH
RUN rm -f $TMP_APP_PATH/Dockerfile $TMP_APP_PATH/httpd.conf $TMP_APP_PATH/run.sh && \
chown -R apache:apache $TMP_APP_PATH $APP_PATH $LOG_PATH && \
diff --git a/Services/php/README.md b/Services/php/README.md
index ffce3c7..4e350b3 100644
--- a/Services/php/README.md
+++ b/Services/php/README.md
@@ -29,10 +29,9 @@ service:
CONTAINER_SERVICE: "php"
CONTAINER_INSTANCE: "service-php"
SERVER_NAME: "localhost"
- DOC_ROOT: "/data/apache_php"
volumes:
- - "/tmp/container/logs/php:/data/logs/apache_php"
- - "/tmp/container/php:/data/apache_php"
+ - "/tmp/container/logs/php:/data/logs/apache"
+ - "/tmp/container/php:/data/apache"
```
## Docker-compose in various situations
@@ -91,9 +90,8 @@ CMD ["/bin/run.sh"]
| CONTAINER_SERVICE | `string` | `no` | Define the type of service or application provided
| SERVER_NAME | `string` | `no` | Server name for this container. If no name localhost will be assigned
| HOSTNAME | `auto` | `auto` | Container unique id automatically assigned by docker daemon at startup
-| DOC_ROOT | `auto` | `auto` | document root, will use the $APP_PATH variable
-| LOG_PATH | `auto` | `auto` | default set to /data/logs/apache_php and used as a volume mountpoint
-| APP_PATH | `auto` | `auto` | default set to /data/apache_php and used as a volume mountpoint
+| LOG_PATH | `auto` | `auto` | default set to /data/logs/apache and used as a volume mountpoint
+| APP_PATH | `auto` | `auto` | default set to /data/apache and used as a volume mountpoint
## Exposed port
@@ -106,8 +104,8 @@ CMD ["/bin/run.sh"]
| Container directory | Description |
|----------------------|--------------------------------------------------------------------------|
-| /data/logs/apache_php | log directory used to record container and php logs
-| /data/apache_php | data directory served by php. If empty will be filled with app on startup. In other case use content from mountpoint or data volumes
+| /data/logs/apache | log directory used to record container and php logs
+| /data/apache | data directory served by php. If empty will be filled with app on startup. In other case use content from mountpoint or data volumes
## Testing the service
@@ -128,8 +126,8 @@ You must have a working environment with the source code of this repository. Rea
1. Jump into the container directory with `cd Services/php`
2. Build the container using `docker build -t sv-php .`
3. Run this container
- 1. Interactively with `docker run -p 80:80 -v /data/logs/apache_php -it sv-php`. If you add a second parameter (like `/bin/bash`) to will run this command instead of the default entrypoint. Usefull to interact with this container (ex: `/bin/bash`, `/bin/ps -a`, `/bin/df -h`,...)
- 2. As a daemon with `docker run -p 80:80 -v /data/logs/apache_php -d sv-php`
+ 1. Interactively with `docker run -p 80:80 -v /data/logs/apache -it sv-php`. If you add a second parameter (like `/bin/bash`) to will run this command instead of the default entrypoint. Usefull to interact with this container (ex: `/bin/bash`, `/bin/ps -a`, `/bin/df -h`,...)
+ 2. As a daemon with `docker run -p 80:80 -v /data/logs/apache -d sv-php`
### Build & run a container using `docker-compose`
diff --git a/Services/php/docker-compose.yml b/Services/php/docker-compose.yml
index 16a5496..22b7585 100644
--- a/Services/php/docker-compose.yml
+++ b/Services/php/docker-compose.yml
@@ -11,9 +11,8 @@ server:
environment:
CONTAINER_TYPE: "service"
CONTAINER_SERVICE: "php"
- CONTAINER_INSTANCE: "service-apache_php"
+ CONTAINER_INSTANCE: "service-php"
SERVER_NAME: "localhost"
- DOC_ROOT: "/data/apache_php"
volumes:
- - "/tmp/container/logs/apache_php:/data/logs/apache_php"
- - "/tmp/container/apache_php:/data/apache_php" \ No newline at end of file
+ - "/tmp/container/logs/php:/data/logs/apache"
+ - "/tmp/container/php:/data/apache" \ No newline at end of file
diff --git a/Services/php/httpd.conf b/Services/php/httpd.conf
index 9cbe16a..e469e57 100644
--- a/Services/php/httpd.conf
+++ b/Services/php/httpd.conf
@@ -1,7 +1,7 @@
#
# This file will be copied into /etc/httpd/conf.d/app.conf and loaded when httpd start
#
-DocumentRoot ${DOC_ROOT}
+DocumentRoot ${APP_PATH}
ServerName ${SERVER_NAME}
ServerAdmin cl@startx.fr