diff --git a/.env b/.env new file mode 100644 index 0000000..330adc8 --- /dev/null +++ b/.env @@ -0,0 +1,7 @@ +HTTP_HOST="localhost:8080" +DB_HOST="mysql" +DB_DATABASE="docker" +DB_USERNAME="docker" +DB_PASSWORD="Your_DB_user_P@ssw0rd" +CACHE_URL="Redis://?server=redis&port=6379&password=&timeout=3" +MYSQL_ROOT_PASSWORD="Your_MysQl_ROOt_P@ssw0rd" diff --git a/crontab/crontab b/crontab/crontab index 5cb0a7f..aa46fe7 100644 --- a/crontab/crontab +++ b/crontab/crontab @@ -1,5 +1,5 @@ -@hourly export $(cat /var/www/eramba/app/upgrade/vendor/eramba/docker/main.env) && /bin/sh /var/www/eramba/app/upgrade/bin/cake cron job hourly >> /var/log/cron.log 2>&1 -@daily export $(cat /var/www/eramba/app/upgrade/vendor/eramba/docker/main.env) && /bin/sh /var/www/eramba/app/upgrade/bin/cake cron job daily >> /var/log/cron.log 2>&1 -@yearly export $(cat /var/www/eramba/app/upgrade/vendor/eramba/docker/main.env) && /bin/sh /var/www/eramba/app/upgrade/bin/cake cron job yearly >> /var/log/cron.log 2>&1 -*/1 * * * * export $(cat /var/www/eramba/app/upgrade/vendor/eramba/docker/main.env) && /bin/sh /var/www/eramba/app/upgrade/bin/cake queue run -v >> /var/log/cron.log 2>&1 +@hourly export $(cat /var/www/eramba/app/upgrade/vendor/eramba/docker/.env) && /bin/sh /var/www/eramba/app/upgrade/bin/cake cron job hourly >> /var/log/cron.log 2>&1 +@daily export $(cat /var/www/eramba/app/upgrade/vendor/eramba/docker/.env) && /bin/sh /var/www/eramba/app/upgrade/bin/cake cron job daily >> /var/log/cron.log 2>&1 +@yearly export $(cat /var/www/eramba/app/upgrade/vendor/eramba/docker/.env) && /bin/sh /var/www/eramba/app/upgrade/bin/cake cron job yearly >> /var/log/cron.log 2>&1 +*/1 * * * * export $(cat /var/www/eramba/app/upgrade/vendor/eramba/docker/.env) && /bin/sh /var/www/eramba/app/upgrade/bin/cake queue run -v >> /var/log/cron.log 2>&1 # remember to end this file with an empty new line diff --git a/docker-compose.simple-install.yml b/docker-compose.simple-install.yml index 1110af0..745dcc2 100644 --- a/docker-compose.simple-install.yml +++ b/docker-compose.simple-install.yml @@ -9,10 +9,10 @@ services: - ./mysql/conf.d:/etc/mysql/conf.d - ./mysql/entrypoint:/docker-entrypoint-initdb.d environment: - MYSQL_DATABASE: docker - MYSQL_USER: docker - MYSQL_PASSWORD: docker - MYSQL_ROOT_PASSWORD: docker + MYSQL_DATABASE: ${DB_DATABASE} + MYSQL_USER: ${DB_USERNAME} + MYSQL_PASSWORD: ${DB_PASSWORD} + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} redis: container_name: redis image: redis:6.0.16-alpine @@ -28,8 +28,14 @@ services: - ./apache/ssl/mycert.crt:/etc/ssl/certs/mycert.crt - ./apache/ssl/mycert.key:/etc/ssl/private/mycert.key - ./apache/vhost-with-ssl.conf:/etc/apache2/sites-available/000-default.conf - env_file: - - main.env + - ./crontab/crontab:/etc/cron.d/eramba-crontab + environment: + DB_HOST: ${DB_HOST} + DB_DATABASE: ${DB_DATABASE} + DB_USERNAME: ${DB_USERNAME} + DB_PASSWORD: ${DB_PASSWORD} + CACHE_URL: ${CACHE_URL} + HTTP_HOST: ${HTTP_HOST} links: - mysql - redis @@ -39,13 +45,19 @@ services: container_name: cron image: ghcr.io/eramba/eramba:latest command: ["cron", "-f"] - entrypoint: ["docker-php-entrypoint"] + entrypoint: ["/docker-cron-entrypoint.sh"] volumes: - data:/var/www/eramba/app/upgrade/data - app:/var/www/eramba - - ./main.env:/var/www/eramba/app/upgrade/vendor/eramba/docker/main.env - env_file: - - main.env + - ./docker-cron-entrypoint.sh:/docker-cron-entrypoint.sh + - ./crontab/crontab:/etc/cron.d/eramba-crontab + environment: + DB_HOST: ${DB_HOST} + DB_DATABASE: ${DB_DATABASE} + DB_USERNAME: ${DB_USERNAME} + DB_PASSWORD: ${DB_PASSWORD} + CACHE_URL: ${CACHE_URL} + HTTP_HOST: ${HTTP_HOST} links: - mysql - redis diff --git a/docker-cron-entrypoint.sh b/docker-cron-entrypoint.sh new file mode 100755 index 0000000..d18d8a7 --- /dev/null +++ b/docker-cron-entrypoint.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +cd /var/www/eramba/app/upgrade/vendor/eramba/docker || exit + +su -s /bin/bash -c "printenv | grep DB_ > .env" www-data +su -s /bin/bash -c "printenv | grep CACHE_URL >> .env" www-data +su -s /bin/bash -c "printenv | grep HTTP_HOST >> .env" www-data + +su -s /bin/bash -c "crontab -u www-data /etc/cron.d/eramba-crontab" www-data + +exec docker-php-entrypoint "$@" diff --git a/main.env b/main.env deleted file mode 100644 index 85fe2dd..0000000 --- a/main.env +++ /dev/null @@ -1,6 +0,0 @@ -HTTP_HOST=localhost:8080 -DB_HOST=mysql -DB_DATABASE=docker -DB_USERNAME=docker -DB_PASSWORD=docker -CACHE_URL=Redis://?server=redis&port=6379&password=&timeout=3 diff --git a/mysql/entrypoint/grant.sh b/mysql/entrypoint/grant.sh index 4edd668..dabde72 100755 --- a/mysql/entrypoint/grant.sh +++ b/mysql/entrypoint/grant.sh @@ -1,2 +1,2 @@ #!/bin/bash -mysql -u root -pdocker -e 'GRANT PROCESS ON *.* TO docker@`%`;' +mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e 'GRANT PROCESS ON *.* TO '"$MYSQL_USER"'@`%`;'