# documentation: https://github.com/KumihoIO/construct-os
# slogan: Fast, small, fully autonomous AI personal assistant infrastructure — deploy anywhere, swap anything
# tags: ai, agent, assistant, self-hosted, llm, chatbot, rust
# logo: svgs/construct.png
# port: 42617

services:
  construct:
    image: ghcr.io/kumihoio/construct-os:latest
    restart: unless-stopped
    environment:
      - API_KEY=${SERVICE_PASSWORD_APIKEY:-}
      - PROVIDER=${PROVIDER:-openrouter}
      - CONSTRUCT_ALLOW_PUBLIC_BIND=true
      - CONSTRUCT_GATEWAY_PORT=42617
    volumes:
      - construct-data:/construct-data
    ports:
      - "42617:42617"
    deploy:
      resources:
        limits:
          cpus: "2"
          memory: 512M
        reservations:
          cpus: "0.5"
          memory: 32M
    healthcheck:
      test: ["CMD", "construct", "status", "--format=exit-code"]
      interval: 60s
      timeout: 10s
      retries: 3
      start_period: 10s

volumes:
  construct-data:
