Self-host Progress Watch with Docker
Your own server, on your own box. Nothing here talks to progress.watch.
Save this as docker-compose.yml. It runs the published image, so there is nothing to clone and nothing to build — and it is yours to edit from here on.
services:
progresswatch:
image: progresswatch/progresswatch:latest
container_name: progresswatch
restart: unless-stopped
ports:
- 7979:3000
volumes:
- storage:/rails/storage
environment:
- SECRET_KEY_BASE=replace-me-with-openssl-rand-hex-64
- DATABASE_URL=sqlite3:storage/production.sqlite3?timeout=5000
- REDIS_URL=redis://redis:6379
depends_on:
- redis
redis:
image: redis:8-alpine
container_name: progresswatch-redis
restart: unless-stopped
command: redis-server --save "" --appendonly no
volumes:
storage:
Generate a secret and paste it over the placeholder.
Start it. The app, a Redis, and a SQLite file on a volume.
Then point the CLI at it. This page is served from https://progress.watch.
That is a working server. Notifications, Postgres, the one thing worth putting on a cron and the one-click deploy are all in Self-hosting in the sidebar.