Code locally with opencode, push to GitHub, let Coolify auto-build it on our VM, and expose it to the world through Cloudflare Tunnels. Click any stage below to learn what happens there.
๐ Click any stage for details, commands & tips
Follow these five stages every time you ship a new site. No shortcuts โ future you will say thanks.
Use opencode as your AI pair-programmer to scaffold and iterate on the site on your machine.
mkdir my-new-site && cd my-new-site
opencodeGitHub is the trigger for everything downstream. Every push to the watched branch tells Coolify "rebuild this".
main (or your configured deploy branch)git init
git add .
git commit -m "Initial deploy"
git branch -M main
git remote add origin [email protected]:you/my-new-site.git
git push -u origin mainOur Coolify instance runs on a VM and is connected to GitHub through the Coolify GitHub App. It listens for push events via webhook and rebuilds automatically.
No open ports on the VM. The cloudflared daemon on the VM dials out to Cloudflare, and Cloudflare routes public traffic back down the tunnel to Coolify's app port.
mysite.example.com โ service http://localhost:PORT (the Coolify app's port)# on the VM, check the tunnel is healthy
systemctl status cloudflared
journalctl -u cloudflared -fOpen the public URL in an incognito window. Check HTTPS, hard-refresh to bypass cache, and click through the main pages.
Enter your name, then check items off as you complete them. Every check is stamped with who did it and when.
Every site and flow we ship, recorded โ who deployed it, when, and its status.
| Date | Site / Flow | Repo | URL | By | Status | Notes |
|---|
๐พ Entries are saved in this browser (localStorage) when available โ export regularly for a permanent team record.
The four ways this flow usually fails, and how to fix each one.
main)systemctl status cloudflaredhttp://localhost:PORT)