- Fix Rathole download URL to use .zip format instead of .tar.gz - Complete APISIX package using official apache/apisix:3.8.0-debian base image - Add cloudron user creation for APISIX compatibility - Both packages build successfully and follow KNELCloudron- naming convention - Rathole: reverse proxy tunnel with proper binary download - APISIX: API gateway with official Docker image base
34 lines
1.3 KiB
Markdown
34 lines
1.3 KiB
Markdown
# 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.apisix` (e.g., com.example.myapp)
|
||
- `Apache APISIX` (human name)
|
||
- `9180` (default internal app port)
|
||
- `5.0.0` (Cloudron base image tag, e.g., 5.0.0)
|
||
|
||
Files
|
||
- `CloudronManifest.json` – base manifest
|
||
- `Dockerfile` – uses cloudron/base, non-root user, healthcheck
|
||
- `start.sh` – startup script with addon detection examples
|
||
- `nginx.conf` (optional) – example reverse proxy
|
||
- `supervisord.conf` (optional) – process manager example
|
||
- `config.yaml` (optional) – sample app config
|
||
- `logo.png` – add your 512x512 PNG icon here (not provided in template)
|
||
|
||
Usage
|
||
1. 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`
|
||
2. Adjust Dockerfile and start.sh to run your app.
|
||
3. Build and test locally; then commit and push.
|