Installation
Range Warden ships as a single Docker image containing both the Go API server and the React frontend.
Prerequisites
Section titled “Prerequisites”- Docker installed on your host machine.
- A directory on the host for persistent data (SQLite database).
Quick start with Docker
Section titled “Quick start with Docker”docker run -d \ --name range-warden \ -p 3000:3000 \ -v range-warden-data:/data \ ghcr.io/mcarlson501/range-warden:latestOpen http://localhost:3000 in your browser.
Docker Compose
Section titled “Docker Compose”Create a docker-compose.yml:
services: range-warden: image: ghcr.io/mcarlson501/range-warden:latest ports: - "3000:3000" volumes: - range-warden-data:/data restart: unless-stopped
volumes: range-warden-data:Then run:
docker compose up -dEnvironment variables
Section titled “Environment variables”| Variable | Default | Description |
|---|---|---|
PORT | 3000 | Port the server listens on |
DATABASE_PATH | /data/range-warden.db | Path to the SQLite database file |
Building from source
Section titled “Building from source”# Clone the repositorygit clone https://github.com/mcarlson501/range-warden.gitcd range-warden
# Build the frontendcd web && npm install && npm run build && cd ..
# Build the Go binary (requires CGO for SQLite)CGO_ENABLED=1 go build -o range-warden ./cmd/server
# Run./range-wardenFirst login
Section titled “First login”On first run, Range Warden creates a default admin account:
- Email:
admin@rangewarden.app - Password:
admin
Change this password immediately after your first login via Admin → Users.
Next steps
Section titled “Next steps”- First-Time Setup — Walk through initial configuration: branding, membership types, lanes, users, and more.
- Admin Settings — Detailed reference for all configuration options.
- Membership Management — Start adding members.