3.7 KiB
3.7 KiB
Rundeck Cloudron Package Build Notes
Overview
This package deploys Rundeck, an open-source automation and job scheduling tool, on Cloudron. It uses PostgreSQL for data storage and can be configured to use either Cloudron's LDAP or OIDC for authentication.
Package Contents
- CloudronManifest.json: Defines the app for Cloudron
- Dockerfile: Builds the container with Rundeck and dependencies
- start.sh: Initializes the app and manages configuration
- nginx.conf: Configures web server to proxy requests to Rundeck
- supervisord.conf: Manages Rundeck and Nginx processes
- Configuration files:
- framework.properties: Core Rundeck configuration
- rundeck-config.properties: Database and server settings
- jaas-ldap.conf: LDAP authentication configuration
- jaas-oidc.conf: OAuth/OIDC authentication configuration
- realm.properties: Default user credentials
Building the Package
- Create a new directory for your Cloudron package
- Place all the files in this package in that directory
- Download a Rundeck logo and save it as
logo.png
in the package directory - Build the package with the Cloudron CLI:
cloudron build
Testing
- Install the package on a test Cloudron instance:
cloudron install --image [your-image-name]
- After installation, access the app at its Cloudron URL
- Log in with the credentials shown in the post-install message
- Test basic functionality:
- Create a project
- Define a simple job
- Run the job and verify it executes correctly
- Check that logs are saved correctly
- Test authentication:
- If LDAP is enabled, test login with a Cloudron user
- If OIDC is enabled, test single sign-on functionality
- Verify proper permissions mapping
Deploying to Production
- After successful testing, publish the package for your production Cloudron:
cloudron install --app rundeck --image [your-image-name]
- Configure backup schedules through the Cloudron UI
- Update the admin password immediately after installation
- Configure necessary projects and jobs
Authentication Configuration
The package supports two authentication methods:
OIDC/OAuth (Preferred)
- Automatically configured if Cloudron provides OAuth environment variables
- Uses Cloudron's identity provider for single sign-on
- User roles mapped from Cloudron groups
- No additional configuration needed
LDAP
- Automatically configured if Cloudron provides LDAP environment variables
- Uses Cloudron's LDAP server for authentication
- Groups are mapped to Rundeck roles
- Works with all Cloudron user accounts
Troubleshooting
- If the app fails to start, check the Cloudron logs:
cloudron logs -f
- Common issues:
- Database connection problems: Check the PostgreSQL addon status
- Authentication issues: Verify LDAP/OIDC configuration
- File permissions: Ensure files in /app/data are owned by cloudron:cloudron
- Memory limits: If Rundeck is slow or crashing, consider increasing the memory limit
Updating the Package
- Update the app version in CloudronManifest.json
- Update the Rundeck version in the Dockerfile
- Make any necessary changes to configuration files
- Rebuild and reinstall the package
Backup and Restore
Cloudron automatically backs up the /app/data directory and PostgreSQL database. No additional configuration is required for backup functionality.
Security Notes
- Rundeck stores sensitive data (credentials, private keys) in its database and file system
- All sensitive data is stored in the /app/data directory, which is backed up by Cloudron
- API keys and other secrets are encrypted using Jasypt encryption
- Always use HTTPS (provided by Cloudron) for secure access