Loadmill On-Prem Setup
Last updated
sudo mkdir -p /var/lib/postgresql16/datadocker compose -f docker-compose-on-prem.yml upversion: "3.9"
networks:
loadmill-net:
name: loadmill-net
driver: bridge
services:
redis:
image: redis:7.2.5
ports:
- "6379:6379"
container_name: loadmill-redis
networks:
- loadmill-net
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 20
postgres:
image: postgres:16.2
ports:
- "5432:5432"
container_name: loadmill-postgres
networks:
- loadmill-net
environment:
POSTGRES_PASSWORD: "<your_password>"
POSTGRES_DB: "loadmill_db"
volumes:
- /private/var/lib/postgresql16/data:/var/lib/postgresql16/data:z
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d loadmill_db"]
interval: 5s
timeout: 3s
retries: 20
loadmill-app:
image: loadmill-on-prem:latest
container_name: loadmill-app
ports:
- "8090:8090"
networks:
- loadmill-net
environment:
REDIS_URL: redis://redis:6379
DATABASE_URL: postgresql://postgres:<your_password>@postgres:5432/loadmill_db
GK_SYNC_INTERVAL: 99999999
OPENAI_API_KEY: <your_openai_key>
depends_on:
redis:
condition: service_healthy
postgres:
condition: service_healthyversion: "3.9"
networks:
loadmill-net:
name: loadmill-net
driver: bridge
services:
redis:
image: redis:7.2.5
ports:
- "6379:6379"
container_name: loadmill-redis
networks:
- loadmill-net
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 20
postgres:
image: postgres:16.2
ports:
- "5432:5432"
container_name: loadmill-postgres
networks:
- loadmill-net
environment:
POSTGRES_PASSWORD: "<your_password>" # make sure to change this password
POSTGRES_DB: "loadmill_db"
volumes: # Important - make sure /var/lib/postgresql16/data exists on host!
- /private/var/lib/postgresql16/data:/var/lib/postgresql16/data:z
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d loadmill_db"]
interval: 5s
timeout: 3s
retries: 20
loadmill-app:
image: loadmill-on-prem:latest
container_name: loadmill-app
ports:
- "8090:8090"
networks:
- loadmill-net
environment:
REDIS_URL: redis://redis:6379
DATABASE_URL: postgresql://postgres:<your_password>@postgres:5432/loadmill_db
GK_SYNC_INTERVAL: 99999999
OPENAI_BASE_URL: https://loadmill.openai.azure.com/openai/deployments/gpt-5.2 # an example
AZURE_OPENAI_API_VERSION: <your_API_version>
OPENAI_API_KEY: <your_azure_openai_key>
depends_on:
redis:
condition: service_healthy
postgres:
condition: service_healthy
version: "3.9"
networks:
loadmill-net:
name: loadmill-net
driver: bridge
services:
redis:
image: redis:7.2.5
ports:
- "6379:6379"
container_name: loadmill-redis
networks:
- loadmill-net
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 20
postgres:
image: postgres:16.2
ports:
- "5432:5432"
container_name: loadmill-postgres
networks:
- loadmill-net
environment:
POSTGRES_PASSWORD: "<your_password>" # make sure to change this password
POSTGRES_DB: "loadmill_db"
volumes: # Important - make sure /var/lib/postgresql16/data exists on host!
- /private/var/lib/postgresql16/data:/var/lib/postgresql16/data:z
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d loadmill_db"]
interval: 5s
timeout: 3s
retries: 20
loadmill-app:
image: loadmill-on-prem:latest
container_name: loadmill-app
ports:
- "8090:8090"
networks:
- loadmill-net
environment:
REDIS_URL: redis://redis:6379
DATABASE_URL: postgresql://postgres:<your_password>@postgres:5432/loadmill_db
GK_SYNC_INTERVAL: 99999999
SELF_HOSTED_LLM_URL: <ollama_url>
SELF_HOSTED_LLM_MODEL: llama3 # an example specify your model here
depends_on:
redis:
condition: service_healthy
postgres:
condition: service_healthy