Package Template for Cloudron Apps
This is a minimal template to package an application for Cloudron.
Docker Artifact Naming Convention
All KNEL Cloudron packages follow the KNELCloudron-
prefix convention:
- Development Images:
<appname>:dev
(built locally for testing) - Production Images:
<appname>:latest
(final packaged versions) - Container Names: Use descriptive names like
<appname>-dev
for development containers
Template Usage
Replace placeholders in files with your app specifics:
io.knel.jenkins
(e.g., com.example.myapp)Jenkins CI/CD
(human name)8080
(default internal app port)5.0.0
(Cloudron base image tag, e.g., 5.0.0)
Files
CloudronManifest.json
– base manifestDockerfile
– uses cloudron/base, non-root user, healthcheckstart.sh
– startup script with addon detection examplesnginx.conf
(optional) – example reverse proxysupervisord.conf
(optional) – process manager exampleconfig.yaml
(optional) – sample app configlogo.png
– add your 512x512 PNG icon here (not provided in template)
Usage
- Create a new package from this template using
scripts/new-package.sh
:scripts/new-package.sh MyApp --id com.example.myapp --title "My App" --port 3000
- Adjust Dockerfile and start.sh to run your app.
- Build and test locally; then commit and push.