services: backend: build: context: ./backend dockerfile: Dockerfile restart: always env_file: - ./.env volumes: - ./credentials:/app/credentials:ro networks: - default labels: - "traefik.enable=true" - "traefik.http.routers.learn-api.rule=Host(`learn-indonesian.velouria.dev`,`learn-german.velouria.dev`) && PathPrefix(`/api/`,`/ws/`)" - "traefik.http.routers.learn-api.entrypoints=websecure" - "traefik.http.routers.learn-api.tls.certresolver=myresolver" - "traefik.http.services.learn-api.loadbalancer.server.port=8000" - "traefik.docker.network=traefik_network" - "homepage.group=Education" - "homepage.name=Learn API" - "homepage.description=Language Learning API" indonesian-app: build: context: ./apps/indonesian-app dockerfile: Dockerfile restart: always depends_on: - backend networks: - default - traefik_network labels: - "traefik.enable=true" - "traefik.http.routers.learn-indonesian.rule=Host(`learn-indonesian.velouria.dev`)" - "traefik.http.routers.learn-indonesian.entrypoints=websecure" - "traefik.http.routers.learn-indonesian.tls.certresolver=myresolver" - "traefik.http.services.learn-indonesian.loadbalancer.server.port=80" - "traefik.docker.network=traefik_network" - "homepage.group=Education" - "homepage.name=Learn Indonesian" - "homepage.description=Indonesian Language Learning" german-app: build: context: ./apps/german-app dockerfile: Dockerfile restart: always depends_on: - backend networks: - default - traefik_network labels: - "traefik.enable=true" - "traefik.http.routers.learn-german.rule=Host(`learn-german.velouria.dev`)" - "traefik.http.routers.learn-german.entrypoints=websecure" - "traefik.http.routers.learn-german.tls.certresolver=myresolver" - "traefik.http.services.learn-german.loadbalancer.server.port=80" - "traefik.docker.network=traefik_network" - "homepage.group=Education" - "homepage.name=Learn German" - "homepage.description=German Language Learning" networks: default: name: learn-languages_default traefik_network: external: true