vangogh Deployment & Usage Guide
Self-host and manage your DRM-free GOG game collection with a personal library interface.
1. Prerequisites
Required
- GOG.com account with owned games (DRM-free titles only)
- theo (https://github.com/arelate/theo) - companion tool for downloading/installing games
- Go 1.21+ (for building from source)
- Git (for cloning repository)
- Docker & Docker Compose (recommended deployment method)
Optional
- Reverse proxy (nginx, Traefik, Caddy) for HTTPS and domain routing
- Systemd (for service management on bare metal)
2. Installation
Docker Installation (Recommended)
- Clone repository:
git clone https://github.com/arelate/vangogh.git
cd vangogh
- Create environment file:
cp .env.example .env
-
Edit
.envwith your configuration (see Configuration section) -
Start services:
docker-compose up -d
Source Installation
- Clone and build:
git clone https://github.com/arelate/vangogh.git
cd vangogh
go build -o vangogh ./cmd/vangogh
- Install binary (optional):
sudo cp vangogh /usr/local/bin/
3. Configuration
Environment Variables
Create .env file or set system environment variables:
| Variable | Required | Description | Example |
|---|---|---|---|
VANGOGH_REDUX_DIR | Yes | Path to data directory (persistent storage) | /srv/vangogh/data |
VANGOGH_GOG_ACCESS_TOKEN | Yes* | GOG.com API access token | token_from_gog |
VANGOGH_THEO_PATH | Yes | Path to theo binary | /usr/local/bin/theo |
VANGOGH_PORT | No | HTTP port (default: 8080) | 8080 |
VANGOGH_HOST | No | Bind address (default: 0.0.0.0) | 0.0.0.0 |
VANGOGH_LOG_LEVEL | No | Log verbosity (debug, info, warn, error) | info |
*Alternatively use VANGOGH_GOG_USERNAME and VANGOGH_GOG_PASSWORD (less secure, may not work with 2FA)
Directory Structure
$VANGOGH_REDUX_DIR/
āāā redux/ # Key-value data store (auto-created)
āāā downloads/ # Game downloads (theo-managed)
āāā logs/ # Application logs
GOG.com Access Token
-
Get token from GOG.com:
- Log into https://www.gog.com
- Open developer tools ā Application ā Cookies
- Copy value of
access_tokencookie
-
Add to
.env:
VANGOGH_GOG_ACCESS_TOKEN="your_token_here"
theo Configuration
Ensure theo is installed and configured:
# Install theo (if not already)
go install github.com/arelate/theo/cmd/theo@latest
# Verify theo is in PATH or set VANGOGH_THEO_PATH
which theo # Should return path
Configure theo's download directory to match your setup (see theo documentation).
4. Build & Run
Docker
# Start
docker-compose