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
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: - 4321:4321 environment: - PORT=8080 - DATABASE_URL=postgres://pogo:pogo@db:5432/pogo volumes: - ./pogo_data/:/data/ db: image: postgres:17-alpine environment: - POSTGRES_USER=pogo - POSTGRES_PASSWORD=pogo - POSTGRES_DB=pogo healthcheck: test: ["CMD-SHELL", "pg_isready -U pogo"] interval: 10s timeout: 5s retries: 5
Binary 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 serve
From 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 serve
See 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 |
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