211 lines
5.8 KiB
YAML
211 lines
5.8 KiB
YAML
version: "3.7"
|
|
|
|
services:
|
|
|
|
uvdesk:
|
|
image: dietermartens/uvdesk
|
|
environment:
|
|
# installation in dev, change it after installation to prod
|
|
- APP_ENV=dev
|
|
- APP_SECRET=8237945gker
|
|
- TZ=Europe/Budapest
|
|
- APP_TIMEZONE=Europe/Budapest
|
|
- APP_CURRENCY=EUR
|
|
- CRON_USER1=root
|
|
- CRON_SCHEDULE1=*/5 * * * *
|
|
# - CRON_COMMAND1=cd /usr/local/uvdesk && php bin/console uvdesk:refresh-mailbox info@domain.tld support@domain.tld
|
|
restart: always
|
|
volumes:
|
|
- uvdesk:/usr/local/uvdesk
|
|
ports:
|
|
- "7089:89"
|
|
|
|
web:
|
|
build:
|
|
context: .
|
|
dockerfile: ./Dockerfile
|
|
container_name: backoffice
|
|
volumes:
|
|
- .:/aitrainer_backoffice
|
|
- media:/aitrainer_backoffice/aitrainer_backoffice/media
|
|
- static:/aitrainer_backoffice/aitrainer_backoffice/static
|
|
depends_on:
|
|
- mysql-server
|
|
ports:
|
|
- "8002:8000"
|
|
environment:
|
|
- GOOGLE_APPLICATION_CREDENTIALS=/aitrainer_backoffice/aitrainer_backoffice/aitrainer_backoffice/asset/aitrainer-firebase-adminsdk.json
|
|
- WORKOUTTEST_SETTING=PROD
|
|
command: gunicorn aitrainer_backoffice.aitrainer_backoffice.wsgi --env DJANGO_SETTINGS_MODULE=aitrainer_backoffice.aitrainer_backoffice.settings.prod --bind 0.0.0.0:8000 --workers 3
|
|
|
|
cronjobs:
|
|
build:
|
|
context: .
|
|
dockerfile: ./Dockerfile
|
|
environment:
|
|
- GOOGLE_APPLICATION_CREDENTIALS=/aitrainer_backoffice/aitrainer_backoffice/aitrainer_backoffice/asset/aitrainer-firebase-adminsdk.json
|
|
- WORKOUTTEST_SETTING=DEPLOY
|
|
- DJANGO_KEY=${DJANGO_KEY}
|
|
command: ["cron", "-f"]
|
|
|
|
mysql-server:
|
|
image: mysql:8.0.21
|
|
restart: always
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD
|
|
volumes:
|
|
- mysql-data-backoffice:/var/lib/mysql
|
|
- /home/bosi/backoffice/aitrainer_backoffice/mysqlconf:/etc/mysql/conf.d
|
|
ports:
|
|
- "33060:3306"
|
|
networks:
|
|
- redis_tier
|
|
|
|
phpmyadmin:
|
|
image: phpmyadmin/phpmyadmin:latest
|
|
restart: always
|
|
environment:
|
|
PMA_HOST: mysql-server
|
|
PMA_USER: $MYSQL_USER
|
|
PMA_PASSWORD: $MYSQL_ROOT_PASSWORD
|
|
ports:
|
|
- "8085:80"
|
|
volumes:
|
|
- ./htpasswd:/etc/phpmyadmin/.htpasswd
|
|
- ./phpmyadmin.config.php:/etc/phpmyadmin/config.user.inc.php
|
|
networks:
|
|
- redis_tier
|
|
|
|
wordpress:
|
|
image: wordpress
|
|
container_name: wordpress
|
|
restart: always
|
|
links:
|
|
- mysql-server:mysql
|
|
depends_on:
|
|
- mysql-server
|
|
- redis
|
|
ports:
|
|
- "8090:80"
|
|
environment:
|
|
UPLOAD_LIMIT: 512M
|
|
UPLOAD_MAX_FILESIZE: 128M
|
|
WORDPRESS_DB_HOST: mysql-server
|
|
WORDPRESS_DB_USER: $MYSQL_USER
|
|
WORDPRESS_DB_PASSWORD: $MYSQL_ROOT_PASSWORD
|
|
WORDPRESS_DB_NAME: wp
|
|
volumes:
|
|
- wordpress:/var/www/html
|
|
#- ./wp_php_custom.ini:/usr/local/etc/php/conf.d/uploads.ini:chached
|
|
- type: bind
|
|
target: /etc/php/conf.d/uploads.ini
|
|
source: /usr/local/bin/wordpress/wp_php_custom.ini
|
|
consistency: cached
|
|
#- ./wp_htaccess:/var/www/html/.htaccess
|
|
- type: bind
|
|
target: /var/www/html/.htaccess
|
|
source: /usr/local/bin/wordpress/wp_htaccess
|
|
consistency: cached
|
|
- /usr/local/bin/wordpress/wp-content/uploads:/var/www/html/wp-content/uploads:cached
|
|
networks:
|
|
- redis_tier
|
|
|
|
redis:
|
|
image: redis
|
|
environment:
|
|
- REDIS_URL=redis://redis
|
|
ports:
|
|
- '6379:6379'
|
|
networks:
|
|
- redis_tier
|
|
|
|
mautic:
|
|
image: mautic/mautic:v3
|
|
container_name: mautic
|
|
links:
|
|
- mysql-server:mysql
|
|
depends_on:
|
|
- mysql-server
|
|
ports:
|
|
- "8091:80"
|
|
volumes:
|
|
- mautic_data:/var/www/html
|
|
environment:
|
|
- MAUTIC_DB_HOST=mysql-server
|
|
- MAUTIC_DB_USER=$MYSQL_USER
|
|
- MAUTIC_DB_PASSWORD=$MYSQL_ROOT_PASSWORD
|
|
- MAUTIC_DB_NAME=mautic
|
|
- MAUTIC_RUN_CRON_JOBS=true
|
|
networks:
|
|
- redis_tier
|
|
|
|
api:
|
|
# container_name: api_server
|
|
image: api_server:latest
|
|
build: .
|
|
depends_on:
|
|
- mysql-server
|
|
restart: always
|
|
working_dir: /aitrainer_server
|
|
environment:
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql-server:3306/aitrainer?serverTimezone=CET&useSSL=false&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&allowMultiQueries=true
|
|
command: bash -c "SERVER_PORT=8888 java -jar aitrainer_server.jar --spring.profiles.active=prod"
|
|
ports:
|
|
- "8888:8888"
|
|
|
|
api_test_ssl:
|
|
image: api_server_ssl_test:latest
|
|
build: .
|
|
depends_on:
|
|
- mysql-server
|
|
restart: always
|
|
working_dir: /aitrainer_server
|
|
environment:
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql-server:3306/aitrainer_test?serverTimezone=CET&useSSL=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&allowMultiQueries=true
|
|
command: bash -c "SERVER_PORT=8843 java -jar aitrainer_server.jar --spring.profiles.active=prodtest"
|
|
ports:
|
|
- "8843:8843"
|
|
|
|
api_ssl:
|
|
image: api_server_ssl:latest
|
|
build: .
|
|
depends_on:
|
|
- mysql-server
|
|
restart: always
|
|
working_dir: /aitrainer_server
|
|
environment:
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql-server:3306/aitrainer?serverTimezone=CET&useSSL=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&allowMultiQueries=true
|
|
command: bash -c "SERVER_PORT=8943 java -jar aitrainer_server.jar --spring.profiles.active=prod"
|
|
ports:
|
|
- "8943:8943"
|
|
|
|
|
|
wiki:
|
|
image: requarks/wiki:2
|
|
depends_on:
|
|
- mysql-server
|
|
environment:
|
|
DB_TYPE: mysql
|
|
DB_HOST: mysql-server
|
|
DB_PORT: 3306
|
|
DB_USER: $MYSQL_USER
|
|
DB_PASS: $MYSQL_ROOT_PASSWORD
|
|
DB_NAME: wiki
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3000:3000"
|
|
networks:
|
|
- redis_tier
|
|
|
|
volumes:
|
|
mysql-data-backoffice:
|
|
media:
|
|
static:
|
|
wordpress:
|
|
mautic_data:
|
|
uvdesk:
|
|
redis_data:
|
|
|
|
networks:
|
|
redis_tier:
|
|
driver: bridge |