Deploys applications to Coolify self-hosting platform. Guides build settings for static sites, containers, Docker; env vars, health checks, rollbacks.
From ai-eng-devopsnpx claudepluginhub v1truv1us/ai-eng-system --plugin ai-eng-devopsThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Enforces strict TDD workflow: Red (failing test), Green (minimal code), Refactor for features, bugfixes, refactors. Includes examples and verification steps.
This deployment process is critical. Proper deployment prevents production outages, security vulnerabilities, and user-facing errors. A poorly executed deployment can result in lost revenue, damaged reputation, and emergency firefighting. Every deployment must follow best practices to ensure reliability.
Approach this deployment systematically. Deployments require careful planning, thorough verification, and methodical execution. Rushing or skipping checks leads to avoidable incidents. Follow the checklist methodically, verify each step, and ensure all safety measures are in place before proceeding.
The deploy flawlessly every time, but if you can:
Mastering Coolify deployment requires balancing automation with manual verification. Can you configure deployments that run automatically while still providing safety nets and quick recovery options?
Build Command: [your build tool] build
Output Directory: dist (or public, _site, build — check your framework)
Build Command: [install dependencies] && [build]
Start Command: [your runtime] [entry point]
Port: [your app port]
Examples by language:
npm run build / node dist/index.jspip install -r requirements.txt / uvicorn app.main:appgo build -o app / ./appcargo build --release / ./target/release/appDockerfile: ./Dockerfile
Port: [your container port]
/health)Set these in Coolify dashboard under Environment Variables:
ENVIRONMENT=production
PORT=3000
DATABASE_URL=postgresql://user:pass@host:5432/dbname
# Add your app-specific variables
Add a /health endpoint to your application. Examples by language:
Python (Flask):
@app.route('/health')
def health():
return jsonify(status='ok', timestamp=datetime.utcnow().isoformat())
Go:
http.HandleFunc("/health", func(w http.ResponseWriter, r *http.Request) {
json.NewEncoder(w).Encode(map[string]string{"status": "ok"})
})
Node.js (Express):
app.get('/health', (req, res) => {
res.status(200).json({ status: 'ok' });
});
Configure in Coolify:
/healthFor automatic build detection, add nixpacks.toml. Coolify auto-detects most runtimes, but you can customize:
[phases.setup]
nixPkgs = ["<your-runtime-package>"]
[phases.install]
cmds = ["<install-command>"]
[phases.build]
cmds = ["<build-command>"]
[start]
cmd = "<start-command>"
Consult the Nixpacks docs for your specific runtime.
If deployment fails:
Or via CLI:
coolify deployments redeploy --applicationUuid "app-uuid" --deploymentUuid "last-good-deployment-uuid"
After completing each deployment, rate your confidence from 0.0 to 1.0:
Document any uncertainty areas or risks identified during the deployment process.