39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
services:
|
|
freellmapi:
|
|
image: ghcr.io/tashfeenahmed/freellmapi:latest
|
|
container_name: freellmapi
|
|
environment:
|
|
NODE_ENV: production
|
|
PORT: "3001"
|
|
ENCRYPTION_KEY: ${ENCRYPTION_KEY:?required}
|
|
CATALOG_BASE_URL: "http://catalog-proxy:8080"
|
|
ports:
|
|
- "${HOST_IP:-192.168.1.101}:3002:3001"
|
|
volumes:
|
|
- ${DATA_DIR:-/sata/freellmapi/data}:/app/server/data
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- catalog-proxy
|
|
healthcheck:
|
|
test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:3001/api/ping').then(r=>{if(!r.ok)process.exit(1)}).catch(()=>process.exit(1))"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
start_period: 15s
|
|
retries: 3
|
|
|
|
catalog-proxy:
|
|
image: python:3.13-slim
|
|
container_name: freellmapi-catalog-proxy
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ${DATA_DIR:-/sata/freellmapi/data}:/data
|
|
environment:
|
|
PORT: "8080"
|
|
PROXY_HOST: "${PROXY_HOST:-77.239.127.49}"
|
|
PROXY_PORT: "${PROXY_PORT:-18322}"
|
|
PROXY_USER: "${PROXY_USER:-}"
|
|
PROXY_PASS: "${PROXY_PASS:-}"
|
|
command: ["python", "-u", "/data/catalog_proxy.py"]
|