Quick start for Self-Hosted dFlow

Install the control plane, then complete first-time Worker Node onboarding (SSH, Dokku, domain).

Written By Zoro

Last updated 3 days ago

Install the control plane

Install the control plane on infrastructure you operate, then connect Worker Nodes and ship an Application using the same Application β†’ Environment β†’ Service model as dFlow Cloud.

Prerequisites

  • System requirements under Self-Hosting dFlow in the sidebar met for your environment.
  • A chosen install path from Installation options under Self-Hosting dFlow in the sidebar (most teams start with Install with Docker / Docker Compose under Self-Hosting dFlow in the sidebar).
  • Repository references as needed: root docker-compose.yml, DOCKER.md, SELF_HOSTING.md.

Read Self-hosting overview under Self-Hosting dFlow in the sidebar and Platform architecture under Core Concepts in the sidebar for how the dashboard, proxy, and nodes interact.

1. Install the control plane

  1. Prepare environment variables and secrets per the install guide.
  2. Bring the stack up with Docker Compose (or your approved method).
  3. Open the dFlow URL you configured and confirm the app loads.

Expected outcome: You can reach the sign-in screen for your dFlow instance.

2. Sign in and confirm your Organisation

  1. Sign in with the first admin account (method depends on your install).
  2. Confirm you are in an Organisation context (terminology matches dFlow Cloud).

Expected outcome: You see the main dashboard with permission to add Worker Nodes and Applications.

3. Onboard each Worker Node

For every machine that will run Services:

  1. SSH keys: create or upload keys dFlow will use; see SSH keys under Security and Team Management in the sidebar.
  2. Attach the server: use the in-product wizard (Add server / Worker Node). Details: Add a self-hosted server under Worker Nodes and Compute in the sidebar.
  3. Dokku: complete installation or bootstrap steps the dashboard requires for app-style deploys.
  4. Git on the node: when using Git-based Services, ensure the server can clone your sources.
  5. Domains and TLS: assign hostnames for workloads per Domains and SSL under Deployments and Operations in the sidebar and control-plane TLS per Domains and SSL (self-hosting) under Self-Hosting dFlow in the sidebar as needed.

Expected outcome: Worker Nodes show as usable for Environments on this instance.

4. Create an Application and deploy a Service

  1. Create an application under Applications in the sidebar.
  2. Deploy your first app (Git, Docker image, or database Service).

Expected outcome: A Service deploys successfully on your Worker Node.

If something fails

  • Self-hosting troubleshooting under Self-Hosting dFlow in the sidebar
  • Getting started issues under Troubleshooting in the sidebar
  • Compute and worker node issues under Troubleshooting in the sidebar

Related