CONGA π§
Config generator CLI. Build configs without the pain.
Then proceed with installation:
Downloads
Get CONGA using a prebuilt binary, a package manager, or build from source. Releases are tagged on GitHub; use the tag version (for example v1.1.0).
Prebuilt binaries
Download the matching binary for your platform from the build/ folder or the GitHub Releases page:
- Linux (x86_64):
build/conga-linux
- Linux (arm64):
build/conga-linux-arm64
- macOS (arm64):
build/conga-macos-arm64
- macOS (intel):
build/conga-macos-intel
You can also find release bundles on GitHub: https://github.com/pc0stas/conga/releases
Package managers
snap install conga
brew tap pc0stas/conga
brew install conga
sudo dnf copr enable pablocostas/conga
sudo dnf install conga
Package availability varies across distributions β if you don't find a package for your platform, use the prebuilt binaries or build from source.
Build from source
Prerequisites ()
Make sure you have Go installed and have added the Go bin directory to your $PATH:
export PATH="$PATH:$HOME/go/bin"
go install github.com/pc0stas/conga@latest
# or to build locally
go build -o conga ./...
For multi-platform builds use the included build.sh script.
Usage
conga nginx generate # Generate Nginx config
conga docker generate # Generate Docker Compose
conga wireguard generate # Generate WireGuard config
conga help # Show help
conga version # Show version
What it does
Nginx Generator
- Interactive setup for Nginx configs
- Proxy + static file serving
- HTTPS/SSL support
- WebSocket support
- Generates
default.conf
Docker Compose Generator
- Define services interactively
- Port mapping, volumes, env vars
- Generates
docker-compose.yml
WireGuard Generator
- Interactive peer configuration
- Server and client setup
- Key generation
- Network setup
- Generates peer configs
Example
$ conga nginx generate
? Main domain: example.com
? Use HTTPS? Yes
π Configuring routes...
? Number of routes: 2
π Route 1:
? Path: /
? Type: Static files
? Directory: /var/www/html
π Route 2:
? Path: /api
? Type: Proxy
? Proxy destination: localhost:3000
? Add WebSocket support? Yes
β
Generated: default.conf
Build
go build -o conga ./...
Multi-platform:
./build.sh
Makefile
The repository includes a Makefile with helper targets for common developer tasks:
make generate-certs DOMAIN=conga.local β generate local mkcert certificates into ./certs (uses tools/generate_certs.sh).
make build β build a local binary into ./build/conga.
make build-all β run build.sh to produce multi-platform release binaries.
make test β run go test ./... for the whole module.
make lint β run golangci-lint if installed (no-op otherwise).
make install β build and copy the binary to $(GOBIN) (requires go).
make clean β remove build artifacts and generated certs.
make help β show available Makefile targets and usage.
Configurable variables (with defaults defined in the Makefile):
DOMAIN β domain for generated certs (default: conga.local).
OUT_DIR β certificates output directory (default: ./certs).
BUILD_DIR β build output directory (default: build).
BINARY β binary name (default: conga).
Examples:
make generate-certs DOMAIN=conga.local
make build
make test
See the Makefile for details: Makefile.
Status
Check the project board for whatβs coming.
Done:
-
β
Published in snap
-
β
Nginx generator
-
β
Docker Compose generator
-
β
WireGuard generator
-
π¦ Package managers (apt, dnf, brew, AUR)
Coming:
- π Apache generator
- π Caddy generator
- π Template system
License
MIT