27 lines
1.4 KiB
YAML
27 lines
1.4 KiB
YAML
### Frontend (./apps/frontend/docker-compose.yml)
|
|
# - [ ] Create a Vue.js frontend service
|
|
# - [ ] Set up a Node.js environment for the frontend
|
|
# - [ ] Configure volumes for persistent storage of frontend assets
|
|
# - [ ] Set up environment variables using the new structure (../../env/${ENVIRONMENT}/frontend.env)
|
|
# - [ ] Configure networking to communicate with the backend service
|
|
# - [ ] Set up healthchecks for the frontend service
|
|
services:
|
|
webapp:
|
|
build:
|
|
context: ./src
|
|
dockerfile: Dockerfile
|
|
container_name: ${INFRASTRUCTURE_LABEL}-frontend-${ENVIRONMENT}
|
|
profiles: ["webapp", "frontend", "all", "app"]
|
|
depends_on:
|
|
- database
|
|
- backend
|
|
labels:
|
|
- "traefik.enable=${TRAEFIK_ENABLE}"
|
|
- "traefik.http.routers.webapp.entrypoints=${TRAEFIK_ENTRYPOINT}"
|
|
- 'traefik.http.routers.webapp.rule=Host(`${FRONTEND_DOMAIN}`) || Host(`${FRONTEND_DOMAIN_2}`)'
|
|
- "traefik.http.routers.webapp.tls=true"
|
|
- "traefik.http.routers.webapp.tls.certresolver=${TRAEFIK_CERT_RESOLVER}"
|
|
- "traefik.http.routers.webapp.tls.domains[0].main=${FRONTEND_DOMAIN}"
|
|
- "traefik.http.routers.webapp.tls.domains[0].sans=${FRONTEND_DOMAIN_2}"
|
|
- "traefik.http.services.webapp.loadbalancer.server.port=3000"
|
|
- "traefik.docker.network=${TRAEFIK_NETWORK}" |