Initial Keila Cloudron package
This commit is contained in:
143
README.md
Normal file
143
README.md
Normal file
@ -0,0 +1,143 @@
|
||||
# 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
|
Reference in New Issue
Block a user