Skip to content

Self-hosting

YoFix is open source under AGPL v3. You can run the entire platform inside your own infrastructure, on the same Docker images we run in production, with no feature gating and no telemetry phone-home.

When to self-host

Self-host if any of the following apply:

  • Your security team requires that artifacts and source never leave your network.
  • You need air-gapped or BYOC deployment.
  • You want to extend the platform with custom processors, integrations, or storage providers.

Otherwise, the SaaS offering at app.yofix.ai is usually less operational overhead.

What you need

  • A VPC with outbound internet access for GitHub.com (or GitHub Enterprise) and your chosen cloud storage provider.
  • A PostgreSQL 16+ instance (Cloud SQL, RDS, or self-managed).
  • A Redis 7+ instance (Elasticache, MemoryStore, or self-managed).
  • An object storage bucket (R2, S3, GCS, or any S3-compatible).
  • One or more compute instances for the API, preview, and worker services. We recommend at least:
    • 1 instance for API + preview + web (4 vCPU, 8 GB RAM minimum)
    • 1 instance for build workers (8 vCPU, 16 GB RAM minimum)
    • 1 instance for VRT workers (4 vCPU, 8 GB RAM minimum, Playwright-compatible).

Getting started

  1. Clone the repository:
    Terminal window
    git clone https://github.com/yofix/yofix.git
    cd yofix
  2. Copy and fill out .env.example:
    Terminal window
    cp .env.example .env
  3. Bring up the infrastructure with Docker Compose for evaluation:
    Terminal window
    docker compose -f infra/docker/docker-compose.yml up -d
  4. Run database migrations:
    Terminal window
    yarn db:migrate
  5. Start the services. For production, use the systemd unit files in infra/systemd/ rather than Docker Compose.

Configuration

All configuration is via environment variables. See .env.example for the full list. The critical groups are:

  • Database: DATABASE_URL, pool sizing.
  • Redis: REDIS_URL.
  • GitHub App: App ID, private key, webhook secret, OAuth credentials.
  • Storage: provider (r2/s3/gcs/firebase/do-spaces/ local) and corresponding credentials.
  • Domain: the wildcard preview domain you’ve registered.

Upgrades

Self-hosted versions follow the same release cadence as the SaaS. We publish Docker images for each release. We do not offer paid support on the open-source build by default; Enterprise customers can purchase support that includes the self-hosted footprint.

Licensing

AGPL v3. If you make modifications to a network-accessible deployment, the AGPL requires that you make the modified source available to users of that deployment. Most customers running internal-only deployments satisfy this trivially by linking to their internal Git repository.

Read the full license →