services:
  api:
    build:
      context: ./backend
    container_name: fastnotes-api
    environment:
      - DATABASE_URL=${DATABASE_URL:-sqlite:////app/data/notes.db}
      - SECRET_KEY=${SECRET_KEY:-change-this-in-production}
      - CORS_ORIGINS=${CORS_ORIGINS:-*}
    # Internal only - accessed via nginx proxy
    expose:
      - "8000"
    volumes:
      - api_data:/app/data
    restart: unless-stopped
    healthcheck:
      test:
        [
          "CMD",
          "python",
          "-c",
          "import urllib.request; urllib.request.urlopen('http://localhost:8000/health').read()",
        ]
      interval: 10s
      timeout: 5s
      start_period: 40s
      retries: 3

  ui:
    build:
      context: ./frontend
      args:
        # Frontend will use /api path (proxied by nginx)
        VITE_API_URL: ${VITE_API_URL:-/api}
    container_name: fastnotes-ui
    ports:
      - "80:80"
    depends_on:
      - api
    restart: unless-stopped

volumes:
  api_data:
