175 lines
4.2 KiB
YAML
175 lines
4.2 KiB
YAML
services:
|
|
|
|
php:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/dockerfile_php
|
|
environment:
|
|
DB_HOST: mariadb
|
|
DB_DATABASE: ${MYSQL_DATABASE}
|
|
DB_USERNAME: ${MYSQL_USER}
|
|
DB_PASSWORD: ${MYSQL_PASSWORD}
|
|
image: angels-it/php-app
|
|
volumes:
|
|
- ./app:/var/www/html
|
|
- ./sessions:/var/lib/php/sessions
|
|
- ./config/php:/usr/local/etc/php
|
|
- ./logs/php:/var/log
|
|
networks:
|
|
- app_network
|
|
|
|
php-cron:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/dockerfile_cron
|
|
image: angels-it/php-cron
|
|
environment:
|
|
APP_ENV: ${APP_ENV}
|
|
DB_HOST: mariadb
|
|
DB_DATABASE: ${MYSQL_DATABASE}
|
|
DB_USERNAME: ${MYSQL_USER}
|
|
DB_PASSWORD: ${MYSQL_PASSWORD}
|
|
volumes:
|
|
- ./app:/var/www/html
|
|
- ./config/php:/usr/local/etc/php
|
|
- ./config/cron:/etc/cron.d
|
|
- ./logs/php-cron:/var/log
|
|
command: >
|
|
/bin/sh -c '
|
|
if [ "$${APP_ENV}" = "prod" ]; then
|
|
echo "[cron] production mode — starting cron";
|
|
cron -f;
|
|
else
|
|
echo "[cron] dev mode — sleeping";
|
|
tail -f /dev/null;
|
|
fi
|
|
'
|
|
restart: always
|
|
networks:
|
|
- app_network
|
|
|
|
|
|
# bambolo-worker:
|
|
# build:
|
|
# context: .
|
|
# dockerfile: docker/dockerfile_worker
|
|
# image: angels-it/worker
|
|
# environment:
|
|
# DB_HOST: mariadb
|
|
# DB_DATABASE: ${MYSQL_DATABASE}
|
|
# DB_USERNAME: ${MYSQL_USER}
|
|
# DB_PASSWORD: ${MYSQL_PASSWORD}
|
|
# volumes:
|
|
# - ./app:/var/www/html
|
|
# - ./config/php:/usr/local/etc/php
|
|
# - ./logs/worker:/var/log
|
|
# restart: always
|
|
# networks:
|
|
# - app_network
|
|
|
|
nginx:
|
|
image: nginx:1.24.0
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
depends_on:
|
|
- php
|
|
volumes:
|
|
- ./app:/var/www/html
|
|
- ./config/nginx/default.conf.${APP_ENV}:/etc/nginx/conf.d/default.conf
|
|
- ./config/certs:/etc/letsencrypt
|
|
- ./config/certs-data:/data/letsencrypt
|
|
- ./config/certs/selfsigned:/etc/ssl/selfsigned
|
|
- ./logs/nginx:/var/log/nginx
|
|
networks:
|
|
- app_network
|
|
|
|
mariadb:
|
|
image: mariadb:10.6
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
|
MYSQL_DATABASE: ${MYSQL_DATABASE}
|
|
MYSQL_USER: ${MYSQL_USER}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
|
volumes:
|
|
- ./db/mysql:/var/lib/mysql
|
|
- ./db/init:/docker-entrypoint-initdb.d
|
|
|
|
command: [
|
|
'--default_authentication_plugin=mysql_native_password',
|
|
'--character-set-server=utf8mb4',
|
|
'--collation-server=utf8mb4_unicode_ci',
|
|
'--sql_mode=NO_ENGINE_SUBSTITUTION'
|
|
]
|
|
networks:
|
|
- app_network
|
|
|
|
memcached:
|
|
image: memcached:1.6.38
|
|
networks:
|
|
- app_network
|
|
|
|
# gearman:
|
|
# image: artefactual/gearmand:1.1.21.2-alpine
|
|
# restart: unless-stopped
|
|
# networks:
|
|
# - app_network
|
|
|
|
manticore_search:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/dockerfile_manticore_search
|
|
image: manticoresearch/manticore:6.3.8
|
|
user: root
|
|
volumes:
|
|
- ./db/manticore_search:/var/manticore
|
|
- ./config/manticore_search:/etc/manticoresearch
|
|
- ./logs/manticore_search:/var/log/manticore
|
|
environment:
|
|
DB_HOST: mariadb
|
|
DB_DATABASE: ${MYSQL_DATABASE}
|
|
DB_USERNAME: ${MYSQL_USER}
|
|
DB_PASSWORD: ${MYSQL_PASSWORD}
|
|
networks:
|
|
- app_network
|
|
|
|
manticore_logs:
|
|
image: manticoresearch/manticore:6.3.8
|
|
volumes:
|
|
- ./db/manticore_logs:/var/manticore
|
|
- ./config/manticore_logs:/etc/manticoresearch
|
|
- ./logs/manticore_logs:/var/log/manticore
|
|
networks:
|
|
- app_network
|
|
|
|
certbot:
|
|
image: certbot/certbot
|
|
volumes:
|
|
- ./config/certs:/etc/letsencrypt
|
|
- ./config/certs-data:/data/letsencrypt
|
|
- ./app:/var/www/html/
|
|
- ./logs/certbot:/var/log/letsencrypt
|
|
entrypoint: /bin/sh -c
|
|
command: >
|
|
"trap exit TERM;
|
|
while :; do
|
|
certbot renew --webroot -w /var/www/html/www --quiet;
|
|
sleep 12h & wait $${!};
|
|
done"
|
|
networks:
|
|
- app_network
|
|
|
|
phpmyadmin:
|
|
image: phpmyadmin/phpmyadmin:latest
|
|
ports:
|
|
- "8080:80"
|
|
environment:
|
|
- PMA_HOST=mariadb
|
|
- PMA_PORT=3306
|
|
networks:
|
|
- app_network
|
|
|
|
networks:
|
|
app_network:
|
|
driver: bridge
|