Compare commits

..

5 Commits

Author SHA1 Message Date
Markus Opolka
cd8f4b825e Updating to Version 3.14.2+180807 2018-08-09 19:23:17 +02:00
Markus Opolka
2683fcee3c Add example docker-compose.yaml for Postgres 2018-08-09 19:22:20 +02:00
Markus Opolka
bef4ac9ae3 Improve entrypoint to check if database is already provisioned 2018-08-09 19:22:17 +02:00
Markus Opolka
4279818967 Fix docker-compose files
- context needed to change
2018-08-08 09:04:17 +02:00
Markus Opolka
481e72194a Updating to Version 3.14.1+180731 2018-08-08 09:02:14 +02:00
8 changed files with 97 additions and 47 deletions

View File

@@ -45,7 +45,7 @@ To change to LimeSurvey configuration, you can mount a Volume into the Container
| Parameter | Description |
| --------- | ----------- |
| DB_TYPE | Database Type to use. mysql or postgresql |
| DB_TYPE | Database Type to use. mysql or pgsql |
| DB_HOST | Database server hostname |
| DB_PORT | Database server port |
| DB_NAME | Database name |

View File

@@ -1,6 +1,6 @@
FROM php:7.2-apache
LABEL maintainer="markus@martialblog.de"
ARG version='3.14.0+180730'
ARG version='3.14.2+180807'
# Install OS dependencies
RUN apt-get update && \

View File

@@ -1,6 +1,6 @@
#!/bin/bash
# Entrypoint for Docker Container
set -e
DB_TYPE=${DB_TYPE:-'mysql'}
DB_HOST=${DB_HOST:-'mysql'}
@@ -19,17 +19,13 @@ PUBLIC_URL=${PUBLIC_URL:-}
URL_FORMAT=${URL_FORMAT:-'path'}
# Check if DB_PASSWORD is set
if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD'
exit 1
fi
# Check if database is available
until nc -z -v -w30 $DB_HOST $DB_PORT
do
echo "Info: Waiting for database connection..."
sleep 5
done
# Check if DB_PASSWORD is set
if [ -z "$ADMIN_PASSWORD" ]; then
echo >&2 'Error: Missing ADMIN_PASSWORD'
exit 1
fi
# Check if already provisioned
if [ -f application/config/config.php ]; then
@@ -43,7 +39,7 @@ else
cp application/config/config-sample-mysql.php application/config/config.php
fi
if [ "$DB_TYPE" = 'postgresql' ]; then
if [ "$DB_TYPE" = 'pgsql' ]; then
echo 'Info: Using PostgreSQL configuration'
DB_CHARSET=${DB_CHARSET:-'utf8'}
cp application/config/config-sample-pgsql.php application/config/config.php
@@ -66,14 +62,30 @@ else
fi
fi
until nc -z -v -w30 $DB_HOST $DB_PORT
do
echo "Info: Waiting for database connection..."
sleep 5
done
echo 'Running console.php install'
# Hint: The console.php script seems to always exit with 1, so that is why
php application/commands/console.php install $ADMIN_USER $ADMIN_PASSWORD $ADMIN_NAME $ADMIN_EMAIL || true
# Check if LimeSurvey database is provisioned
echo 'Info: Check if database already provisioned. Nevermind the Stack trace.'
php application/commands/console.php updatedb
if [ $? -eq 0 ]; then
echo 'Info: Database already provisioned'
else
# Check if DB_PASSWORD is set
if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD'
exit 1
fi
# Check if DB_PASSWORD is set
if [ -z "$ADMIN_PASSWORD" ]; then
echo >&2 'Error: Missing ADMIN_PASSWORD'
exit 1
fi
echo ''
echo 'Running console.php install'
php application/commands/console.php install $ADMIN_USER $ADMIN_PASSWORD $ADMIN_NAME $ADMIN_EMAIL
fi
exec "$@"

View File

@@ -2,8 +2,8 @@ version: "3.0"
services:
limesurvey:
build:
context: .
dockerfile: fpm/Dockerfile
context: fpm/
dockerfile: Dockerfile
volumes:
- /tmp/upload/:/var/www/html/upload/
- lime:/var/www/html

26
docker-compose.pgsql.yml Normal file
View File

@@ -0,0 +1,26 @@
version: "3.0"
services:
limesurvey:
build:
context: apache/
dockerfile: Dockerfile
volumes:
- /tmp/upload/:/var/www/html/upload/
links:
- lime-db
depends_on:
- lime-db
ports:
- "8080:80"
environment:
- "DB_TYPE=pgsql"
- "DB_PORT=5432"
- "DB_HOST=docker-limesurvey_lime-db_1"
- "DB_PASSWORD=secret"
- "ADMIN_PASSWORD=foobar"
lime-db:
image: postgres:10
environment:
- "POSTGRES_USER=limesurvey"
- "POSTGRES_DB=limesurvey"
- "POSTGRES_PASSWORD=secret"

View File

@@ -2,8 +2,8 @@ version: "3.0"
services:
limesurvey:
build:
context: .
dockerfile: apache/Dockerfile
context: apache/
dockerfile: Dockerfile
volumes:
- /tmp/upload/:/var/www/html/upload/
links:

View File

@@ -1,6 +1,6 @@
FROM php:7.2-fpm
LABEL maintainer="markus@martialblog.de"
ARG version='3.14.0+180730'
ARG version='3.14.2+180807'
# Install OS dependencies
RUN apt-get update && \

View File

@@ -1,6 +1,6 @@
#!/bin/bash
# Entrypoint for Docker Container
set -e
DB_TYPE=${DB_TYPE:-'mysql'}
DB_HOST=${DB_HOST:-'mysql'}
@@ -19,17 +19,13 @@ PUBLIC_URL=${PUBLIC_URL:-}
URL_FORMAT=${URL_FORMAT:-'path'}
# Check if DB_PASSWORD is set
if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD'
exit 1
fi
# Check if database is available
until nc -z -v -w30 $DB_HOST $DB_PORT
do
echo "Info: Waiting for database connection..."
sleep 5
done
# Check if DB_PASSWORD is set
if [ -z "$ADMIN_PASSWORD" ]; then
echo >&2 'Error: Missing ADMIN_PASSWORD'
exit 1
fi
# Check if already provisioned
if [ -f application/config/config.php ]; then
@@ -43,7 +39,7 @@ else
cp application/config/config-sample-mysql.php application/config/config.php
fi
if [ "$DB_TYPE" = 'postgresql' ]; then
if [ "$DB_TYPE" = 'pgsql' ]; then
echo 'Info: Using PostgreSQL configuration'
DB_CHARSET=${DB_CHARSET:-'utf8'}
cp application/config/config-sample-pgsql.php application/config/config.php
@@ -66,14 +62,30 @@ else
fi
fi
until nc -z -v -w30 $DB_HOST $DB_PORT
do
echo "Info: Waiting for database connection..."
sleep 5
done
echo 'Running console.php install'
# Hint: The console.php script seems to always exit with 1, so that is why
php application/commands/console.php install $ADMIN_USER $ADMIN_PASSWORD $ADMIN_NAME $ADMIN_EMAIL || true
# Check if LimeSurvey database is provisioned
echo 'Info: Check if database already provisioned. Nevermind the Stack trace.'
php application/commands/console.php updatedb
if [ $? -eq 0 ]; then
echo 'Info: Database already provisioned'
else
# Check if DB_PASSWORD is set
if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD'
exit 1
fi
# Check if DB_PASSWORD is set
if [ -z "$ADMIN_PASSWORD" ]; then
echo >&2 'Error: Missing ADMIN_PASSWORD'
exit 1
fi
echo ''
echo 'Running console.php install'
php application/commands/console.php install $ADMIN_USER $ADMIN_PASSWORD $ADMIN_NAME $ADMIN_EMAIL
fi
exec "$@"