Skip to content

Get GoatFlow

Deploy GoatFlow in minutes with containers. Try the demo, run it locally, or deploy to production.

Docker Compose

Production-ready in 5 minutes with pre-built images and automatic HTTPS.

Kubernetes

Helm chart for orchestrated deployments with scaling and high availability.

Build from Source

Full development setup for customization and contribution.

Get GoatFlow

GoatFlow is deployed as containers—no binaries to download or dependencies to install. This means consistent environments, easy updates, and production-ready deployments from day one.


Try It First

See GoatFlow in action without installing anything: try.goatflow.io


Quick Deploy (Production)

Get GoatFlow running on your server in under 5 minutes. Downloads pre-built images—no build step required.

# Create deployment directory
mkdir goatflow && cd goatflow

# Download deployment files
curl -O https://raw.githubusercontent.com/goatkit/goatflow/main/deploy/docker-compose.yml
curl -O https://raw.githubusercontent.com/goatkit/goatflow/main/deploy/.env.example

# Configure
cp .env.example .env
# Edit .env: set DOMAIN, DB_PASSWORD, JWT_SECRET, ACME_EMAIL

Generate secrets and add them to your .env file:

# Generate secure passwords
openssl rand -hex 32  # Use for JWT_SECRET
openssl rand -hex 16  # Use for DB_PASSWORD

Start GoatFlow:

docker compose up -d

That’s it. Visit your domain—Caddy handles HTTPS automatically via Let’s Encrypt.

First Login

The default admin account is otrs@localhost (for OTRS compatibility). The password is randomly generated during first startup.

Set your admin password:

docker compose exec app goatflow reset-user \
  --username=otrs@localhost \
  --password=YOUR_SECURE_PASSWORD \
  --enable

What’s Included

The stack runs these services:

  • Caddy — Reverse proxy with automatic HTTPS
  • GoatFlow App — Main application
  • GoatFlow Runner — Background job processor
  • MariaDB — Database
  • Valkey — Cache (Redis-compatible)

Management

docker compose logs -f      # View logs
docker compose pull && docker compose up -d  # Update
docker compose down         # Stop

Kubernetes / Helm

For orchestrated deployments:

# Install from OCI registry
helm install goatflow oci://ghcr.io/goatkit/charts/goatflow --version 0.6.2

# Or download the chart
curl -LO https://github.com/goatkit/goatflow/releases/latest/download/goatflow-helm-chart-latest.tgz
helm install goatflow ./goatflow-helm-chart-latest.tgz

See Kubernetes Deployment Guide for configuration options.

Air-Gapped Environments

For networks without internet access, download the complete bundle:

curl -LO https://github.com/goatkit/goatflow/releases/latest/download/goatflow-airgap-container-bundle-latest.tar.gz
tar -xzf goatflow-airgap-container-bundle-*.tar.gz
./load-images.sh  # Auto-detects Docker/Podman/nerdctl

Bundle includes container images for amd64 and arm64, plus the Helm chart.


Podman

GoatFlow works with Podman as a drop-in replacement:

# Quick deploy
mkdir goatflow && cd goatflow
curl -O https://raw.githubusercontent.com/goatkit/goatflow/main/deploy/docker-compose.yml
curl -O https://raw.githubusercontent.com/goatkit/goatflow/main/deploy/.env.example
cp .env.example .env
podman-compose up -d

Podman runs rootless by default, which aligns with GoatFlow’s security model.


Build from Source

For development, customization, or contributing:

git clone https://github.com/goatkit/goatflow.git
cd goatflow

# Local development (includes demo credentials)
cp .env.development .env
make up

# Access at http://localhost

First Login (Development)

The default admin account is otrs@localhost. For development, reset the password with:

make reset-password
# Enter: otrs@localhost
# Enter: your-dev-password

Development Commands

make up-d          # Start in background
make backend-logs  # View logs
make restart       # Rebuild and restart
make down          # Stop services
make test          # Run test suite
make reset-password  # Reset any user's password

See Contributing Guide for development setup.


System Requirements

EnvironmentCPURAMStorage
Minimum2 cores4 GB20 GB
Production4+ cores8+ GB100+ GB SSD

Supported:

  • Docker 24.0+ or Podman 4.0+
  • Kubernetes 1.24+ / OpenShift 4.10+
  • Linux (amd64, arm64)

Next Steps

  1. Admin Guide — Configure queues, users, and automation
  2. Migration Guide — Import from OTRS
  3. API Reference — Integrate with other systems
  4. FAQ — Common questions answered

License: Apache License 2.0 — free for commercial use

Need Help?

Check our documentation or join the community for support.