### 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}"