143 lines
3.6 KiB
Markdown
143 lines
3.6 KiB
Markdown
# Keila Cloudron Package
|
|
|
|
This is a Cloudron package for [Keila](https://www.keila.io), 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
|
|
|
|
1. **Build the package**:
|
|
```bash
|
|
cloudron build --set-build-service builder.docker.due.ren \
|
|
--build-service-token e3265de06b1d0e7bb38400539012a8433a74c2c96a17955e \
|
|
--set-repository andreasdueren/keila-cloudron \
|
|
--tag 0.1.0
|
|
```
|
|
|
|
2. **Install on Cloudron**:
|
|
```bash
|
|
cloudron install --location keila.yourdomain.com \
|
|
--image andreasdueren/keila-cloudron:0.1.0
|
|
```
|
|
|
|
### Local Development Build
|
|
|
|
```bash
|
|
# 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 connection
|
|
- `CLOUDRON_MAIL_SMTP_*` - Email configuration
|
|
- `CLOUDRON_APP_DOMAIN` - Application domain
|
|
- `CLOUDRON_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
|
|
|
|
1. **Database Connection**: Ensure PostgreSQL addon is properly configured
|
|
2. **Email Sending**: Verify Cloudron SMTP settings in mail addon
|
|
3. **File Permissions**: All files should be owned by `cloudron:cloudron`
|
|
|
|
### Logs
|
|
|
|
View application logs:
|
|
```bash
|
|
cloudron logs
|
|
```
|
|
|
|
### Reset Admin Password
|
|
|
|
```bash
|
|
# 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 |