09ad85510fb70f50cfacdd3d6d4091881ef1101c
Keila Cloudron Package
This is a Cloudron package for Keila, an open-source newsletter tool and alternative to Mailchimp and Sendinblue.
Features
- Newsletter Campaigns: Create and send email campaigns
- Sign-up Forms: Generate customizable subscription forms
- Multiple Email Providers: Support for AWS SES, Sendgrid, Mailgun, Postmark, and SMTP
- Self-hosted: Complete control over your data and newsletters
- PostgreSQL Integration: Reliable database storage via Cloudron addon
- SMTP Configuration: Automatic email sending via Cloudron's mail service
Installation
Prerequisites
- Cloudron instance with CLI installed
- Access to build service or local Docker environment
Build and Install
-
Build the package:
cloudron build --set-build-service builder.docker.due.ren \ --build-service-token e3265de06b1d0e7bb38400539012a8433a74c2c96a17955e \ --set-repository andreasdueren/keila-cloudron \ --tag 0.1.0
-
Install on Cloudron:
cloudron install --location keila.yourdomain.com \ --image andreasdueren/keila-cloudron:0.1.0
Local Development Build
# Clone this repository
git clone <repository-url>
cd keila-cloudron
# Build locally
cloudron build
# Install for testing
cloudron install --location keila.local.dev
Configuration
Default Settings
- Admin Account:
admin@yourdomain.com
(password in/app/data/root_credentials
) - Database: PostgreSQL via Cloudron addon
- Email: Configured via Cloudron SMTP service
- Registration: Disabled by default for security
- Port: 4000 (proxied via nginx)
Environment Variables
The following Cloudron environment variables are automatically configured:
CLOUDRON_POSTGRESQL_URL
- Database connectionCLOUDRON_MAIL_SMTP_*
- Email configurationCLOUDRON_APP_DOMAIN
- Application domainCLOUDRON_MAIL_FROM
- From email address
Data Persistence
- Application Data:
/app/data/keila
- Keila installation - Uploads:
/app/data/uploads
- User-uploaded content - Credentials:
/app/data/root_credentials
- Admin login info - Secrets:
/app/data/secret_key_base
- Application secret
Troubleshooting
Common Issues
- Database Connection: Ensure PostgreSQL addon is properly configured
- Email Sending: Verify Cloudron SMTP settings in mail addon
- File Permissions: All files should be owned by
cloudron:cloudron
Logs
View application logs:
cloudron logs
Reset Admin Password
# Access the container
cloudron exec
# Check current credentials
cat /app/data/root_credentials
# Reset if needed (restart required)
rm /app/data/root_credentials
exit
cloudron restart
Technical Details
Architecture
- Base Image:
cloudron/base:4.2.0
- Runtime: Elixir 1.15 with Phoenix framework
- Database: PostgreSQL (via Cloudron addon)
- Web Server: Nginx reverse proxy
- Process Manager: Direct Elixir application startup
Security Features
- User registration disabled by default
- Security headers configured in nginx
- File upload restrictions
- Database connection over SSL
- Secret key auto-generation
File Structure
/app/code/ # Application code (read-only)
/app/data/keila/ # Keila installation
/app/data/uploads/ # User uploads
/app/data/ # Persistent data
Support
- Keila Documentation: https://www.keila.io/docs
- Keila GitHub: https://github.com/pentacent/keila
- Cloudron Docs: https://docs.cloudron.io
License
- Keila: AGPLv3 License
- This Package: MIT License
Description
Languages
Shell
58.8%
Dockerfile
41.2%