services: nginx: restart: always build: context: . dockerfile: frontend/Dockerfile args: VITE_API_URL: ${VITE_API_URL} ports: - 80:80 depends_on: - backend backend: build: context: . dockerfile: backend/Dockerfile restart: always environment: ORIGINS: ${ORIGINS} DB_HOST: database DB_USER: ${DB_USER} DB_PASS: ${DB_PASS} DB_NAME: ${DB_NAME} SECRET_KEY: ${SECRET_KEY} KEYCLOAK_SERVER: ${KEYCLOAK_SERVER} KEYCLOAK_REALM: ${KEYCLOAK_REALM} KEYCLOAK_CLIENT_ID: ${KEYCLOAK_CLIENT_ID} KEYCLOAK_CLIENT_SECRET: ${KEYCLOAK_CLIENT_SECRET} KEYCLOAK_REDIRECT_URI: ${KEYCLOAK_REDIRECT_URI} DEBUG: ${DEBUG} MAX_AGE: ${MAX_AGE} ports: - 8000:8000 depends_on: - database database: image: postgres restart: always shm_size: 128mb environment: POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASS} POSTGRES_DB: ${DB_NAME} ports: - 5432:5432 volumes: db: