Quick Start
PicFast ships with a production-ready Docker Compose file — no source cloning required. Download the file, edit a few variables, and you're online.
1. Download the Compose file
mkdir picfast && cd picfast
# Download the Compose file and environment template
wget https://raw.githubusercontent.com/atbeta/picfast/main/docker/docker-compose.yml
wget https://raw.githubusercontent.com/atbeta/picfast/main/docker/.env.example -O .env 2. Configure
Edit .env with your settings. At minimum:
# Domain and access
PICFAST_DOMAIN=picfast.example.com
PICFAST_SERVER_BASE_URL=https://picfast.example.com
# Security
PICFAST_JWT_SECRET=your-strong-random-secret
POSTGRES_PASSWORD=your-db-password
# Optional: skip setup wizard (headless)
PICFAST_APP_ADMIN_EMAIL=admin@example.com
PICFAST_APP_ADMIN_PASSWORD=your-admin-password 3. Start
docker compose up -d This launches PostgreSQL and PicFast. Open http://localhost:18080 and follow the guided setup wizard to create your admin account.
Data is stored in the current directory: ./data/postgres, ./data/uploads, ./data/thumbnails.
4. Upload your first image
Log into the web UI and drag-drop a file, or use the API:
curl -X POST http://localhost:18080/api/v1/images \
-H "Authorization: Bearer YOUR_TOKEN" \
-F "file=@image.png" Reverse proxy
The default compose binds PicFast to 127.0.0.1:18080. Place Nginx, Caddy, or NPM in front for HTTPS. Set PICFAST_HTTP_BIND=0.0.0.0 in .env to expose directly on your network.
Full reverse proxy configs — Nginx, Caddy, Traefik — are on the Deployment page.
Next steps
- Full configuration reference →
- Set up cloud storage backends →
- API documentation →
- Deployment in production →
- Backup & maintenance (CLI) →
- Home network & NAS deployment →
Development setup
For building from source or contributing:
- Prerequisites: Go 1.26+, Node 20+, pnpm, Docker
- Start services:
make docker-up(ordocker compose -f docker/docker-compose.dev.yml up --build -d) - Run backend:
go run ./cmd/picfast(after runningcp .env.example .env) - Run frontend:
cd web && pnpm install && pnpm dev
Migrations run automatically at startup. See the README for full instructions.