services:
  prompt-optimizer:
    image: linshen/prompt-optimizer:latest
    container_name: ${CONTAINER_NAME}
    restart: unless-stopped
    ports:
      - "${PANEL_APP_PORT_HTTP}:80"
    environment:
      ACCESS_USERNAME: "admin"
      ACCESS_PASSWORD: "${PROMPT_OPTIMIZER_PASSWORD}"
      VITE_OPENAI_API_KEY: "${VITE_OPENAI_API_KEY}"
      VITE_GEMINI_API_KEY: "${VITE_GEMINI_API_KEY}"
      VITE_DEEPSEEK_API_KEY: "${VITE_DEEPSEEK_API_KEY}"
      VITE_SILICONFLOW_API_KEY: "${VITE_SILICONFLOW_API_KEY}"
      VITE_CUSTOM_API_KEY: "${VITE_CUSTOM_API_KEY}"
      VITE_CUSTOM_API_BASE_URL: "${VITE_CUSTOM_API_BASE_URL}"
      VITE_CUSTOM_API_MODEL: "${VITE_CUSTOM_API_MODEL}"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:80"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 5s
    labels:
      createdBy: "Apps"
    networks:
      - 1panel-network

networks:
  1panel-network:
    external: true