Skip to content

Getting Started

Installation

Download binary:

curl -sSL https://github.com/gleicon/guvnor/releases/latest/download/guvnor-$(uname -s)-$(uname -m) -o guvnor
chmod +x guvnor
sudo mv guvnor /usr/local/bin/

Or install with Go:

go install github.com/gleicon/guvnor/cmd/guvnor@latest

New Project

mkdir my-app && cd my-app
echo 'console.log("Hello")' > server.js
echo '{"name": "my-app"}' > package.json

guvnor init
guvnor start

Visit http://my-app.localhost:8080

Existing Project

cd my-project
guvnor init
guvnor start

Foreman and Procfile/Heroku style app

# Existing Procfile:
# web: gunicorn app:app
# worker: celery -A app worker

guvnor init     # Uses Procfile
guvnor start

Web runs on http://web.localhost:8080, worker in background.

Multiple Apps

Edit guvnor.yaml:

apps:
  - name: web
    command: npm
    args: ["start"]
  - name: api
    command: python
    args: ["api.py"]

Each app gets its own hostname.

Production

guvnor start --domain myapp.com --email admin@myapp.com

Automatic HTTPS with Let's Encrypt.

Daily Use

guvnor start    # Start apps
guvnor logs     # View logs
guvnor restart  # Restart all
guvnor stop     # Stop all

Config Priority

  1. guvnor.yaml (primary)
  2. Procfile (fallback)
  3. Auto-detection

Files

  • guvnor.yaml - Main config
  • Procfile - Foreman compatibility
  • .env - Environment variables

Docs