Installation
GPROXY ships as a single static binary with the React console embedded inside. You can get it three ways:
- Build from source (recommended for development).
- Download a release binary from the GitHub releases page.
- Run the Docker image built from
Dockerfile.action.
Prerequisites
Section titled “Prerequisites”- Rust 1.80+ (edition 2024, matching
rust-toolchainif present). - pnpm 9+ and Node 20+ — only if you intend to rebuild the embedded console frontend.
- A supported database — SQLite works out of the box, PostgreSQL or MySQL if you prefer a managed backend.
Build from source
Section titled “Build from source”Clone the repository and build in release mode:
git clone https://github.com/LeenHawk/gproxy.gitcd gproxycargo build -p gproxy --releaseThe resulting binary is at target/release/gproxy.
Rebuilding the embedded console
Section titled “Rebuilding the embedded console”If you touched anything under frontend/console/, rebuild the console before
rebuilding the binary so the new assets get baked in:
cd frontend/consolepnpm installpnpm buildcd ../..cargo build -p gproxy --releasepnpm build writes the compiled assets to the location that the server crate
consumes via include_dir! — there is no separate static-file directory to
deploy.
Release binary
Section titled “Release binary”Pre-built binaries for tagged releases are published on GitHub. Download the
archive for your platform, extract the gproxy executable, make it
executable, and run it:
chmod +x gproxy./gproxyDocker
Section titled “Docker”Pull the official image from GitHub Container Registry — no local build needed:
docker pull ghcr.io/leenhawk/gproxy:latestSee the Docker deployment guide for available tags, a complete docker run example with data volume and environment variables, and a docker-compose snippet.
Next steps
Section titled “Next steps”- Follow the Quick Start to boot a working instance with one provider and one user.
- Skim the Environment Variables reference so you know what knobs are available on first launch.