rdesign/docker-compose.yml

77 lines
2.6 KiB
YAML

services:
rdesign-api:
build:
context: .
dockerfile: Dockerfile
container_name: rdesign-api
restart: unless-stopped
volumes:
- ./templates:/app/templates
- ./output:/app/output
- ./jobs:/app/jobs
- ./scripts:/app/scripts
# Access rSwag designs for integration
- /opt/apps/rswag/designs:/app/rswag-designs:ro
environment:
- PYTHONUNBUFFERED=1
- BASE_URL=https://scribus.rspace.online
- RSWAG_DESIGNS_PATH=/app/rswag-designs
labels:
- "traefik.enable=true"
- "traefik.http.routers.rdesign-api.rule=Host(`scribus.rspace.online`) && !PathPrefix(`/vnc`)"
- "traefik.http.routers.rdesign-api.entrypoints=websecure"
- "traefik.http.routers.rdesign-api.tls.certresolver=letsencrypt"
- "traefik.http.services.rdesign-api.loadbalancer.server.port=8080"
- "traefik.http.middlewares.rdesign-cors.headers.accesscontrolallowmethods=GET,POST,OPTIONS"
- "traefik.http.middlewares.rdesign-cors.headers.accesscontrolallowheaders=*"
- "traefik.http.middlewares.rdesign-cors.headers.accesscontrolalloworiginlist=https://scribus.rspace.online,https://rswag.online"
- "traefik.http.middlewares.rdesign-cors.headers.accesscontrolmaxage=86400"
- "traefik.http.routers.rdesign-api.middlewares=rdesign-cors"
networks:
- traefik-public
deploy:
resources:
limits:
cpus: "4"
memory: 8G
reservations:
cpus: "1"
memory: 2G
rdesign-studio:
build:
context: .
dockerfile: Dockerfile.studio
container_name: rdesign-studio
restart: unless-stopped
volumes:
- ./templates:/app/templates
- ./output:/app/output
- /opt/apps/rswag/designs:/app/rswag-designs:ro
environment:
- VNC_PASSWORD=changeme
- DISPLAY_WIDTH=1920
- DISPLAY_HEIGHT=1080
labels:
- "traefik.enable=true"
- "traefik.http.routers.rdesign-studio.rule=Host(`scribus.rspace.online`) && PathPrefix(`/vnc`)"
- "traefik.http.routers.rdesign-studio.entrypoints=websecure"
- "traefik.http.routers.rdesign-studio.tls.certresolver=letsencrypt"
- "traefik.http.services.rdesign-studio.loadbalancer.server.port=6080"
- "traefik.http.routers.rdesign-studio.middlewares=rdesign-studio-strip"
- "traefik.http.middlewares.rdesign-studio-strip.stripprefix.prefixes=/vnc"
networks:
- traefik-public
deploy:
resources:
limits:
cpus: "2"
memory: 4G
reservations:
cpus: "0.5"
memory: 1G
networks:
traefik-public:
external: true