69 lines
1.6 KiB
YAML
69 lines
1.6 KiB
YAML
version: '3.8'
|
|
services:
|
|
web:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
command: gunicorn config.asgi:application -k uvicorn.workers.UvicornWorker --bind
|
|
0.0.0.0:8000 --workers 3
|
|
restart: unless-stopped
|
|
environment:
|
|
REDIS_URL: redis://redis:6379/0
|
|
CSRF_TRUSTED_ORIGINS: https://${APP_DOMAIN}
|
|
volumes:
|
|
- erp_media:/app/media
|
|
- erp_static:/app/static
|
|
networks:
|
|
- controlmc_proxy
|
|
- internal
|
|
labels:
|
|
- controlmc.public=true
|
|
- traefik.enable=true
|
|
- traefik.docker.network=controlmc_proxy
|
|
- traefik.http.routers.${ROUTER_NAME}.rule=Host(`${APP_DOMAIN}`)
|
|
- traefik.http.routers.${ROUTER_NAME}.entrypoints=websecure
|
|
- traefik.http.routers.${ROUTER_NAME}.tls=true
|
|
- traefik.http.routers.${ROUTER_NAME}.tls.certresolver=le
|
|
- traefik.http.services.${ROUTER_NAME}.loadbalancer.server.port=8000
|
|
depends_on:
|
|
- redis
|
|
mem_limit: 1g
|
|
redis:
|
|
image: redis:7-alpine
|
|
restart: unless-stopped
|
|
volumes:
|
|
- erp_redis_data:/data
|
|
networks:
|
|
- internal
|
|
mem_limit: 512m
|
|
celery:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
command: celery -A config worker -l info --concurrency=2
|
|
restart: unless-stopped
|
|
environment:
|
|
REDIS_URL: redis://redis:6379/0
|
|
networks:
|
|
- internal
|
|
depends_on:
|
|
- redis
|
|
mem_limit: 512m
|
|
tax-api:
|
|
build:
|
|
context: ./tax_api
|
|
dockerfile: Dockerfile
|
|
restart: unless-stopped
|
|
networks:
|
|
- controlmc_proxy
|
|
- internal
|
|
mem_limit: 256m
|
|
networks:
|
|
controlmc_proxy:
|
|
external: true
|
|
internal: null
|
|
volumes:
|
|
erp_media: null
|
|
erp_static: null
|
|
erp_redis_data: null
|