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 1
The 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
}
EOF
This 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/coolify1
api-cli run update-module --data '{"module_url":"ghcr.io/geniusdynamics/coolify:latest","instances":["coolify1"],"force":true}'
remove-module --no-preserve coolify1
The 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 env
Enter the module's runtime environment:
runagent -m coolify1
Inspect running containers:
runagent -m coolify1
podman ps
Access container environment:
podman exec coolify-app env
Open shell in container:
podman exec -ti coolify-app sh
The 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:latest
Tests 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.