services: backend: build: context: ./backend image: cafeteria-backend:${BACKEND_TAG:-latest} networks: - cafeteria ports: - "8000:8000" environment: JENKINS_BASE_URL: ${JENKINS_BASE_URL:-http://jenkins:8080} JENKINS_JOB_NAME: ${JENKINS_JOB_NAME:-TallerCiCd} JENKINS_USER: ${JENKINS_USER:-} JENKINS_TOKEN: ${JENKINS_TOKEN:-} restart: unless-stopped healthcheck: test: [ "CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health').read()" ] interval: 10s timeout: 3s retries: 5 frontend: build: context: ./frontend args: VITE_API_BASE: ${VITE_API_BASE:-/taller/api} image: cafeteria-frontend:${FRONTEND_TAG:-latest} networks: - cafeteria ports: - "8081:8081" depends_on: backend: condition: service_healthy restart: unless-stopped networks: cafeteria: enable_ipv6: true ipam: config: - subnet: 2001:db8::/64