services: frontend: build: context: ./frontend dockerfile: Dockerfile container_name: occto_frontend expose: - "3000" environment: - NODE_ENV=${NODE_ENV:-production} - DATABASE_URL=${DATABASE_URL} - S3_ENDPOINT=${S3_ENDPOINT} - S3_PORT=${S3_PORT:-9000} - S3_USE_SSL=${S3_USE_SSL:-false} - S3_ACCESS_KEY=${S3_ACCESS_KEY} - S3_SECRET_KEY=${S3_SECRET_KEY} - S3_BUCKET_NAME=${S3_BUCKET_NAME:-occto-images} - JWT_SECRET=${JWT_SECRET} - LIBRETRANSLATE_URL=${LIBRETRANSLATE_URL:-https://libretranslate.stackbyte.cloud} labels: - "traefik.enable=true" - "traefik.http.routers.occto-frontend.rule=Host(`${DOMAIN:-localhost}`)" - "traefik.http.routers.occto-frontend.entrypoints=websecure" - "traefik.http.routers.occto-frontend.tls=true" - "traefik.http.routers.occto-frontend.tls.certresolver=letsencrypt" - "traefik.http.services.occto-frontend.loadbalancer.server.port=3000" - "traefik.docker.network=dokploy-network" networks: - dokploy-network restart: unless-stopped networks: dokploy-network: external: true