Installation

Install the EZKeel CLI and deploy the self-hosted platform on your infrastructure.

Prerequisites

Before installing EZKeel, make sure you have the following:

Requirement Details
VPS or server A Linux machine with Docker and Docker Compose (e.g. Hetzner CX22, 2 vCPU, 4 GB RAM)
Domain name Two subdomains pointed at your server (e.g. git.example.com, secrets.example.com)
DNS records A records pointing both subdomains to your server's public IP
Go 1.22+ Required to build the CLI from source (or download the pre-built binary)

Install the CLI

From Source (Go)

If you have Go installed, this is the fastest path:

terminal
$ go install github.com/ezkeel/ezkeel/cmd/ezkeel@latest $ ezkeel version ezkeel v0.1.0

From Binary

Download a pre-built binary for your platform:

terminal
$ curl -fsSL https://github.com/ferax564/ezkeel/releases/latest/download/ezkeel-linux-amd64 \ -o /usr/local/bin/ezkeel $ chmod +x /usr/local/bin/ezkeel $ ezkeel version ezkeel v0.1.0

Deploy the Platform

The ezkeel platform install command sets up all services on your server with a single command. It generates secrets, writes configuration files, and starts everything with Docker Compose.

terminal
$ ezkeel platform install \ --dir /opt/ezkeel \ --forgejo-domain git.example.com \ --infisical-domain secrets.example.com Written /opt/ezkeel/.env EZKeel platform installed at /opt/ezkeel Forgejo: https://git.example.com Infisical: https://secrets.example.com Admin password stored in /opt/ezkeel/.env

Flags

Flag Default Description
--dir /opt/ezkeel Directory to install the platform into
--forgejo-domain git.ezkeel.com Domain for the Forgejo Git instance
--infisical-domain secrets.ezkeel.com Domain for the Infisical secrets instance

Verify Installation

After installation completes, verify that all services are running:

terminal
$ docker compose -f /opt/ezkeel/docker-compose.yml ps NAME STATUS PORTS postgres Up 5432/tcp redis Up 6379/tcp forgejo Up 3000/tcp infisical Up 8080/tcp caddy Up 80/tcp, 443/tcp runner Up

Then visit your domains in a browser:

What's Running

The platform install creates a Docker Compose stack with the following services:

Service Image Purpose
Forgejo codeberg/forgejo:latest Git hosting, code review, CI/CD via Forgejo Actions
Infisical infisical/infisical:latest Secrets management with environment-scoped access
PostgreSQL postgres:16-alpine Shared database for Forgejo and Infisical
Redis redis:7-alpine Cache and session store for Infisical
Caddy caddy:2-alpine Reverse proxy with automatic HTTPS via Let's Encrypt
Runner forgejo/runner:latest CI/CD runner for Forgejo Actions workflows

Next: See Platform Setup for architecture details, resource requirements, and backup procedures.