Files
2026-07-13 13:39:12 +08:00

51 lines
1.3 KiB
INI

[Unit]
Description=OmniRoute — Unified AI Proxy
After=network-online.target
Wants=network-online.target
Requires=omniroute-redis.service
After=omniroute-redis.service
[Container]
# Use this image if your building locally
Image=localhost/omniroute:base
# Use this image if you are pulling from Docker Hub
# Image=diegosouzapw/omniroute:base
ContainerName=omniroute
Network=omniroute.network
PublishPort=20128:20128
PublishPort=20129:20129
Volume=omniroute.volume:/app/data:Z
# Use a bind mount if you need direct host access to the data:
# Volume=/home/USER/code/docker/OmniRoute/data:/app/data:Z
Environment=DATA_DIR=/app/data
Environment=PORT=20128
Environment=DASHBOARD_PORT=20128
Environment=API_PORT=20129
Environment=API_HOST=0.0.0.0
Environment=REDIS_URL=redis://redis:6379
Environment=JWT_SECRET=change-me-to-a-random-base64-string
Environment=API_KEY_SECRET=change-me-to-a-random-base64-string
Environment=INITIAL_PASSWORD=change-me-to-a-random-hex-string
Environment=NODE_ENV=production
Environment=REQUIRE_API_KEY=true
# Load additional secrets (API keys, OAuth creds) from the project .env:
# EnvironmentFile=%h/code/docker/OmniRoute/.env
HealthCmd=node /app/healthcheck.mjs
HealthInterval=30s
HealthRetries=3
HealthTimeout=5s
HealthStartPeriod=15s
[Service]
Restart=always
[Install]
WantedBy=default.target