← Back to vangogh

How to Deploy & Use vangogh

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)

  1. Clone repository:
git clone https://github.com/arelate/vangogh.git
cd vangogh
  1. Create environment file:
cp .env.example .env
  1. Edit .env with your configuration (see Configuration section)

  2. Start services:

docker-compose up -d

Source Installation

  1. Clone and build:
git clone https://github.com/arelate/vangogh.git
cd vangogh
go build -o vangogh ./cmd/vangogh
  1. Install binary (optional):
sudo cp vangogh /usr/local/bin/

3. Configuration

Environment Variables

Create .env file or set system environment variables:

VariableRequiredDescriptionExample
VANGOGH_REDUX_DIRYesPath to data directory (persistent storage)/srv/vangogh/data
VANGOGH_GOG_ACCESS_TOKENYes*GOG.com API access tokentoken_from_gog
VANGOGH_THEO_PATHYesPath to theo binary/usr/local/bin/theo
VANGOGH_PORTNoHTTP port (default: 8080)8080
VANGOGH_HOSTNoBind address (default: 0.0.0.0)0.0.0.0
VANGOGH_LOG_LEVELNoLog 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

  1. Get token from GOG.com:

    • Log into https://www.gog.com
    • Open developer tools → Application → Cookies
    • Copy value of access_token cookie
  2. 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