Deploying a Project
You can deploy any GitHub-based project in Haddock — whether it’s public or private — using a Docker Compose file and resource presets.
Step 1: Open the Project Deployment Modal
From the dashboard screen:
- Click “Deploy a project” on the top-right corner.
This will open a 2-step form for project setup.
Step 2: Fill Project Repository Details
In the first step, you need to define where your code comes from:
🔧 Fields to fill:
Authorization:
Choose one of your previously added methods (OAuth, PAT, SSH Key).If you are using a public repo, you may select N/A (no authorization).
Repository:
GitHub repository name in the formatowner/repo
. If you’re connected to GitHub, you can select the repository from the dropdown.Branch:
The branch you want to deploy (e.g.,main
,develop
, etc.)Docker Compose Path:
The relative path to yourdocker-compose.yml
file inside the repository.
Example:compose.yml
ordocker/backend/compose.yml
Click Next to continue.
Step 3: Set Resources
In the second step, configure the resources to assign to the project:
Use the sliders to define the resources for the project:
- CPUs
- Memory (MB)
- Disk Space (MB)
When you’re ready, click Create to launch the project.
Deployment Outcome
After clicking Create:
- A new project card will appear on your dashboard.
- Its status will be initially set to
Starting...
- After a short moment, it will update to either ✅
Started
or ❌Error
You can now monitor, manage and configure the project.
🧪 Deploying From a Public Repository (No Auth)
You can also deploy a public GitHub repository without using any authorization:
- Click Deploy a project
- Set Authorization to
N/A
- Enter the public repository (e.g.,
vercel/next.js
) - Specify the branch and Docker Compose path
- Set resources
- Click Create
⚠️ Make sure:
- The repository is truly public
- The
compose.yml
path is correct and present in the branch selected
✅ You’re Done!
Your project is now live inside Haddock. You can access its details, view topology, logs, and monitor usage in real time.