51 lines
1.3 KiB
INI
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
|