tabun/docker-compose.develop.yml

124 lines
2.8 KiB
YAML

version: '3.7'
volumes:
db:
redis:
static:
storage:
elastic:
services:
app:
build:
context: .
dockerfile: docker/tabun/Dockerfile
target: backend-development
ports:
- '${HOST_IP:-127.0.0.1}:9003:9003'
volumes:
- static:/static
- storage:/storage
- ./index.php:/app/index.php
- ./engine:/app/engine
- ./classes:/app/classes
- ./settings:/app/settings
- ./templates:/app/templates
depends_on:
- db
- redis
- tasks
environment:
MARIADB_USER: ${MARIADB_USER:-tabun}
MARIADB_PASSWORD: ${MARIADB_PASSWORD:-tabun}
MARIADB_DATABASE: ${MARIADB_DATABASE:-tabun}
PHP_IDE_CONFIG: "serverName=tabun"
networks:
default:
aliases:
- tabun
frontend:
build:
context: .
dockerfile: docker/tabun/Dockerfile
target: frontend-development
volumes:
- ./frontend:/frontend/frontend
- /frontend/node_modules
- ./templates/skin/synio/locale/ru_RU/LC_MESSAGES:/frontend/templates/skin/synio/locale/ru_RU/LC_MESSAGES
- static:/frontend/static
gateway:
image: nginx:alpine
ports:
- '${HOST_IP:-127.0.0.1}:8000:80'
restart: always
volumes:
- ./docker/gateway/nginx.conf:/etc/nginx/nginx.conf
- static:/app/static
- storage:/storage
depends_on:
- app
db:
build:
context: .
dockerfile: docker/mariadb/Dockerfile
environment:
MARIADB_USER: ${MARIADB_USER:-tabun}
MARIADB_PASSWORD: ${MARIADB_PASSWORD:-tabun}
MARIADB_DATABASE: ${MARIADB_DATABASE:-tabun}
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: ${MARIADB_ALLOW_EMPTY_ROOT_PASSWORD:-true}
volumes:
- ./docker/mariadb/conf.d:/etc/mysql/conf.d/
- db:/var/lib/mysql
ports:
- '${HOST_IP:-127.0.0.1}:3307:3306'
tasks:
build:
context: .
dockerfile: docker/celery/Dockerfile
volumes:
- ./docker/celery/tasks.py:/app/tasks.py
depends_on:
- redis
environment:
- CELERY_MAILER_HOST=mailcatcher
- CELERY_MAILER_PORT=1025
redis:
image: redis:alpine
restart: always
volumes:
- redis:/data
elastic:
image: elasticsearch:8.2.0
volumes:
- elastic:/usr/share/elasticsearch/data
environment:
- discovery.type=single-node
- xpack.security.enabled=false
#kibana:
# image: kibana:8.2.0
# ports:
# - '${HOST_IP:-127.0.0.1}:5601:5601'
mailcatcher:
image: schickling/mailcatcher:latest
ports:
- '${HOST_IP:-127.0.0.1}:1080:1080'
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- '${HOST_IP:-127.0.0.1}:8080:80'
links:
- db:db
environment:
PMA_USER: ${MARIADB_USER:-tabun}
PMA_PASSWORD: ${MARIADB_PASSWORD:-tabun}