version: "3.9" networks: public: external: true services: kutt: image: kutt/kutt container_name: kutt restart: always depends_on: - postgres - redis command: ["./wait-for-it.sh", "postgres:5432", "--", "npm", "start"] env_file: - .env environment: DB_HOST: postgres DB_NAME: kutt DB_USER: user DB_PASSWORD: ${DB_PASSWORD} REDIS_HOST: redis restart: unless-stopped # ports: # - "8030:8030" networks: - public labels: - "traefik.enable=true" - "traefik.http.routers.kutt.rule=Host(`${DEFAULT_DOMAIN}`)" - "traefik.http.routers.kutt.service=kutt-service" - "traefik.http.services.kutt-service.loadbalancer.server.port=8030" - "traefik.http.routers.kutt.tls=true" - "traefik.http.routers.kutt.tls.certresolver=le" redis: image: redis:6.0-alpine restart: always volumes: - redis_data:/data networks: - public postgres: image: postgres:12-alpine restart: always environment: POSTGRES_USER: user POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: kutt volumes: - postgres_data:/var/lib/postgresql/data networks: - public volumes: redis_data: postgres_data: