Skip to content

fgrzl/buick

Repository files navigation

buick

Small HTTP/HTTPS reverse proxy for local development — route by Host, YAML config, optional WebSockets, TLS helpers.

Full documentation →

Install the CLI

Requires Go 1.22+.

go install github.com/fgrzl/buick/cmd/buick@latest

Put Go’s bin on your PATH (for example $HOME/go/bin on Linux/macOS, %USERPROFILE%\go\bin on Windows).

TLS (buick init)

Add a Buick YAML with certs.path (where buick init writes) and proxy.certs_path (where buickd reads); both use fixed localhost.pem / localhost-key.pem names (see Configuration). buick init creates missing parent directories, writes the leaf and local CA, and installs trust where the OS supports it.

Example buick.yml:

certs:
  path: "./dev/buick/certs"

proxy:
  certs_path: "./dev/buick/certs"

services:
  api.localhost:
    target: "http://127.0.0.1:8080"
  app.localhost:
    target: "http://127.0.0.1:8081"
buick init

If buick.yml is in the current directory, buick init alone uses it; otherwise use buick init --config ./path/to/buick.yml. Use buick init -h for --skip-trust, --uninstall, and other flags.

Docker Compose

The image runs buickd with the default --config /etc/buick/buick.yml. Mount your config and a certs directory (PEMs from buick init on the host):

services:
  buick:
    image: ghcr.io/fgrzl/buick:latest
    restart: unless-stopped
    ports:
      - "80:8080"
      - "443:8443"
    volumes:
      - ./dev/buick.yml:/etc/buick/buick.yml:ro
      - ./dev/buick/certs:/etc/buick/certs
docker compose up -d

Image tags, extra_hosts, and a fuller dev/buick.yml example: Docker and Compose. Running buickd on the host without containers: Standalone daemon.

About

HTTP/HTTPS reverse proxy for local development: Host-based routing, WebSockets, YAML config, buick CLI (init/check/routes), and buickd for Docker-friendly dev stacks.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors