- Update CloudronManifest.json to use modern format with proper ID, health check, and metadata
- Fix Dockerfile to follow Cloudron conventions (/app/code, /app/data structure)
- Correct Rathole configuration format (default_token instead of token, add services section)
- Fix start.sh to use proper --server flag syntax
- Add health check endpoint on port 8080
- Create comprehensive build notes documentation
- Successfully build and test package - both ports 2333 (Rathole) and 8080 (health) working
🤖 Generated with assistance from OpenCode for code optimization and testing
TSYS Cloudron Packages
This directory contains finalized, tested packages ready for deployment to Cloudron. Each package represents a complete application that has been:
- ✅ Developed using the containerized workflow
- ✅ Tested with build and basic functionality validation
- ✅ Documented with comprehensive build notes
- ✅ Validated through our quality assurance process
📋 Package Structure
Each application package contains:
Required Files
CloudronManifest.json
- App metadata, resource requirements, addon dependenciesDockerfile
- Container build instructions following Cloudron conventionsstart.sh
- Application startup script with proper initialization[AppName]-BuildNotes.md
- Complete build and deployment instructions
Common Optional Files
nginx.conf
- Web server configurationsupervisord.conf
- Multi-process management configurationconfig.yaml
- Application-specific configuration templatelogo.png
- Application icon for Cloudron dashboard
📦 Available Packages
Package | Status | Version | Complexity | Notes |
---|---|---|---|---|
EasyGate | ✅ Complete | 1.0.0 | Low | Simple infrastructure dashboard |
PackageTemplate | 📖 Template | - | - | Template and LLM prompts |
🚀 Using These Packages
Prerequisites
- Docker for building containers
- Cloudron CLI:
npm install -g cloudron
- Access to container registry for image storage
Build Process
cd CloudronPackages/[AppName]/
# Build the container
docker build -t your-registry/[appname]:version .
# Push to registry
docker push your-registry/[appname]:version
# Deploy to Cloudron
cloudron install --image your-registry/[appname]:version
Testing Locally
# Basic functionality test
docker run --rm -p 8080:8080 your-registry/[appname]:version
# Check logs
docker logs [container-id]
🔧 Development Process
From Development to Final Package
- Development: Work in
[appname]_package_new/
usingtsys-cloudron-packaging
container - Testing: Build and validate package functionality
- Finalization: Move completed package to
CloudronPackages/[AppName]/
- Documentation: Ensure all required files and build notes are complete
- Git Workflow: Commit via feature branch → integration → main
Quality Standards
All packages in this directory must meet:
- ✅ Use
cloudron/base:4.2.0
base image - ✅ Proper Cloudron filesystem structure (
/app/code
,/app/data
) - ✅ Integration with Cloudron addons via environment variables
- ✅ Comprehensive health checks and logging to stdout/stderr
- ✅ Security best practices (no hardcoded secrets)
- ✅ Complete and tested build documentation
📚 Resources
- Development Guide - Complete development workflow
- Package Template - Baseline template and LLM prompts
- Git Workflow - Branching and release process
- Task List - Current packaging priorities
🤝 Contributing
Adding New Packages
- Follow the development workflow in the main README
- Use the feature branch pattern:
feature/package-[appname]
- Ensure all quality standards are met
- Include comprehensive build notes and testing instructions
- Update the package table above when adding new entries
Updating Existing Packages
- Create hotfix branch:
hotfix/[appname]-[issue]
- Make minimal necessary changes
- Test thoroughly before merging
- Update version numbers and documentation
Maintained By: KNEL/TSYS Development Team
Last Updated: 2025-01-04
Part of: KNEL Production Containers packaging project