Server Setup
This guide covers setting up a Pogo server for your team or organization.
Prerequisites
Section titled “Prerequisites”- PostgreSQL 17+ database
- Server with at least 2GB RAM
- Storage space for repositories
- Network access on port 8080 or whatever you choose for HTTP and gRPC
Root user
Section titled “Root user”On the first run, Pogo server will create a Root user with one random personal access token and print it to stdout. Use this token to log in to the server. After the first run, the token will never be shown again.
Installation Methods
Section titled “Installation Methods”Docker (Recommended)
Section titled “Docker (Recommended)”The easiest way to run a Pogo server is with Docker Compose:
services: pogo: image: ghcr.io/pogo-vcs/pogo:alpine depends_on: - db ports: - 80:8080 environment: - PORT=8080 - DATABASE_URL=postgres://pogo:pogo@db:5432/pogo - PUBLIC_ADDRESS=https://pogo.example.com volumes: - ./pogo_data/:/data/ db: image: postgres:17-alpine volumes: - ./pogo_db:/var/lib/postgresql/data environment: - POSTGRES_USER=pogo - POSTGRES_PASSWORD=pogo - POSTGRES_DB=pogo healthcheck: test: ["CMD-SHELL", "pg_isready -U pogo"] interval: 10s timeout: 5s retries: 5Binary Installation
Section titled “Binary Installation”Download and run the Pogo binary directly:
Download from GitHub releases.
# Run serverDATABASE_URL=postgres://pogo:password@localhost/pogo \pogo serveFrom Source
Section titled “From Source”Build and run from source:
# Clone and buildgit clone https://github.com/pogo-vcs/pogo.gitcd pogojust build
# Run server./pogo serveSee Installation guide for more details.
Configuration
Section titled “Configuration”Environment Variables
Section titled “Environment Variables”Configure your Pogo server with these environment variables:
| Variable | Description | Default |
|---|---|---|
DATABASE_URL | PostgreSQL connection string | Required |
PORT | Port | 8080 |
HOST | Bind address | 0.0.0.0:8080 |
GC_MEMORY_THRESHOLD | File count threshold for GC strategy | 10000000 |
ROOT_TOKEN | Personal access token for root user | Random |
PUBLIC_ADDRESS | Public address for HTTP server | Required |
Database Setup
Section titled “Database Setup”Pogo server automatically creates tables on first run and runs migrations if needed.
Storage Configuration
Section titled “Storage Configuration”Pogo server stores files in ./data/.
Next Steps
Section titled “Next Steps”- Configure Authentication
- Set up CI/CD integration
- Learn about Garbage Collection