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