A NethServer 8 module that integrates Coolify - an open-source, self-hosted alternative to Heroku/Netlify for deploying web applications.
Coolify is a self-hosted platform that allows you to deploy web applications (static sites, Node.js, PHP, Python, etc.) with automatic HTTPS, database provisioning, and more. It provides:
- One-click deployments from Git repositories
- Automatic HTTPS certificates via Let's Encrypt
- Database management (PostgreSQL, MySQL, MongoDB, Redis)
- Docker container orchestration
- Webhook integrations for CI/CD
- Team collaboration features
This module brings Coolify's powerful deployment capabilities to your NethServer infrastructure.
- π Easy deployment of web applications
- π Integrated with NethServer's security model
- π Automatic domain configuration with Traefik
- π Web-based management interface
- π Automated updates and rollbacks
- ποΈ Database provisioning and management
- π± Mobile-friendly UI
- NethServer 8 cluster
- At least 2GB RAM available
- Docker/Podman support
Instantiate the module with:
add-module ghcr.io/geniusdynamics/coolify:latest 1The output will return the instance name:
{
"module_id": "coolify1",
"image_name": "coolify",
"image_url": "ghcr.io/geniusdynamics/coolify:latest"
}Launch configure-module with the following parameters:
host: Fully qualified domain name for Coolifyhttp2https: Enable/disable HTTP to HTTPS redirection (true/false)lets_encrypt: Enable/disable Let's Encrypt certificate (true/false)
api-cli run configure-module --agent module/coolify1 --data - <<EOF
{
"host": "coolify.yourdomain.com",
"http2https": true,
"lets_encrypt": true
}
EOFThis will:
- Start and configure the Coolify instance
- Set up a virtual host in Traefik for external access
- Configure automatic HTTPS if enabled
- Access Coolify: Navigate to
https://coolify.yourdomain.com - Initial Setup: Register your admin account
- Deploy Applications: Connect your Git repositories and deploy
- Manage Resources: Use the web interface to monitor and manage your deployments
api-cli run get-configuration --agent module/coolify1api-cli run update-module --data '{"module_url":"ghcr.io/geniusdynamics/coolify:latest","instances":["coolify1"],"force":true}'remove-module --no-preserve coolify1The module automatically discovers and integrates with NethServer's centralized smarthost setup. When the smarthost configuration changes, the module automatically reloads its services.
The module runs with comprehensive environment variables managed by the NethServer agent. Key variables include database connection details, service ports, and security settings.
Check environment variables:
runagent -m coolify1 envEnter the module's runtime environment:
runagent -m coolify1Inspect running containers:
runagent -m coolify1
podman psAccess container environment:
podman exec coolify-app envOpen shell in container:
podman exec -ti coolify-app shThe module includes a Vue.js-based web interface. For UI development:
- Navigate to the
ui/directory - Follow the NethServer UI development guide
Test the module using the provided script:
./test-module.sh <NODE_ADDR> ghcr.io/geniusdynamics/gccoolify:latestTests are written using Robot Framework.
The UI supports multiple languages and is translated via Weblate.
To contribute translations:
- Add the GitHub Weblate app to your repository
- Add your repository to hosted.weblate.org or request addition to the NS8 Weblate project
- π NethServer Documentation
- π Report Issues
- π¬ Community Forum
- π€ Contributing Guide
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.