services: db: image: postgis/postgis:15-3.4 container_name: teeoff_db environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} ports: - "5433:5432" volumes: - teeoff_db_data:/var/lib/postgresql/data restart: unless-stopped api: build: ./backend container_name: teeoff_api environment: DATABASE_URL: ${DATABASE_URL} JWT_SECRET: ${JWT_SECRET} GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID} GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET} PUBLIC_BASE_URL: ${PUBLIC_BASE_URL} PUBLIC_SESSION_SECRET: ${PUBLIC_SESSION_SECRET} PUBLIC_COMMENT_DEFAULT_STATUS: ${PUBLIC_COMMENT_DEFAULT_STATUS} SMTP_SERVER: ${SMTP_SERVER} SMTP_PORT: ${SMTP_PORT} SMTP_USER: ${SMTP_USER} SMTP_PASS: ${SMTP_PASS} PUBLIC_FROM_EMAIL: ${PUBLIC_FROM_EMAIL} PUBLIC_MAGIC_LINK_MAX_AGE_MINUTES: ${PUBLIC_MAGIC_LINK_MAX_AGE_MINUTES} INDEXNOW_KEY: ${INDEXNOW_KEY} ports: - "8001:8000" volumes: - ./backend:/app - ./frontend/src/content:/shared/frontend-content:ro # Denne linjen sørger for at bilder lagres direkte i frontendens public-mappe: - ./frontend/public/media:/app/public/media depends_on: - db restart: unless-stopped worker: build: ./backend container_name: teeoff_worker command: python worker.py environment: DATABASE_URL: ${DATABASE_URL} GEMINI_API_KEY: ${GEMINI_API_KEY} SMTP_SERVER: ${SMTP_SERVER} SMTP_PORT: ${SMTP_PORT} SMTP_USER: ${SMTP_USER} SMTP_PASS: ${SMTP_PASS} EMAIL_TO: ${EMAIL_TO} volumes: - ./backend:/app depends_on: - db restart: unless-stopped frontend: build: ./frontend container_name: teeoff_frontend # NY LINJE: Tvinger produksjonsmodus for å stoppe WebSocket-feil og relasting command: npm start ports: - "3000:3000" volumes: - ./frontend/public/uploads:/app/public/uploads # VIKTIG: Jeg har fjernet "- ./frontend:/app" her for å sikre stabilitet depends_on: - api restart: unless-stopped volumes: teeoff_db_data: