version: '3.9' services: backend: build: context: ./backend dockerfile: Dockerfile restart: unless-stopped environment: NODE_ENV: ${NODE_ENV} HOST: ${HOST} PORT: ${BACKEND_PORT} APP_URL: ${APP_URL} DB_HOST: ${DB_HOST} DB_PORT: ${DB_PORT} DB_USER: ${DB_USER} DB_PASSWORD: ${DB_PASSWORD} DB_NAME: ${DB_NAME} DB_SSL: ${DB_SSL} JWT_ACCESS_SECRET: ${JWT_ACCESS_SECRET} JWT_REFRESH_SECRET: ${JWT_REFRESH_SECRET} JWT_ACCESS_EXPIRES_IN: ${JWT_ACCESS_EXPIRES_IN} JWT_REFRESH_EXPIRES_IN: ${JWT_REFRESH_EXPIRES_IN} MAGIC_LINK_TTL_MINUTES: ${MAGIC_LINK_TTL_MINUTES} PASSWORD_RESET_TTL_MINUTES: ${PASSWORD_RESET_TTL_MINUTES} COOKIE_SECURE: ${COOKIE_SECURE} COOKIE_DOMAIN: ${COOKIE_DOMAIN} MAIL_FROM: ${MAIL_FROM} SMTP_HOST: ${SMTP_HOST} SMTP_PORT: ${SMTP_PORT} SMTP_USER: ${SMTP_USER} SMTP_PASS: ${SMTP_PASS} GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID} GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET} GOOGLE_CALLBACK_URL: ${GOOGLE_CALLBACK_URL} FRONTEND_URL: ${FRONTEND_URL} frontend: build: context: ./frontend dockerfile: Dockerfile args: NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL} UPLOAD_R2_WORKER_API: ${UPLOAD_R2_WORKER_API} R2_UPLOAD_API_KEY: ${R2_UPLOAD_API_KEY} restart: unless-stopped environment: NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL} UPLOAD_R2_WORKER_API: ${UPLOAD_R2_WORKER_API} R2_UPLOAD_API_KEY: ${R2_UPLOAD_API_KEY} depends_on: - backend