From 90c482048396b399a559ab91166e448cd157b581 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 22 Oct 2025 08:34:34 -0600 Subject: [PATCH] Add CLOUDRON_PACKAGE_INFO.md and finalize package --- CLOUDRON_PACKAGE_INFO.md | 250 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 CLOUDRON_PACKAGE_INFO.md diff --git a/CLOUDRON_PACKAGE_INFO.md b/CLOUDRON_PACKAGE_INFO.md new file mode 100644 index 0000000..899981a --- /dev/null +++ b/CLOUDRON_PACKAGE_INFO.md @@ -0,0 +1,250 @@ +# AnonAddy Cloudron Package Information + +## Package Details + +- **Application**: AnonAddy v1.3.5 +- **Package ID**: org.anonaddy.cloudron +- **Docker Image**: andreasdueren/anonaddy-cloudron:0.1.0 +- **Build Service**: builder.docker.due.ren +- **Git Repository**: https://git.due.ren/andreas/anonaddy.git + +## Build Status + +✅ **Successfully Built**: 2025-10-22 + +### Build Command +```bash +cloudron build \ + --set-build-service builder.docker.due.ren \ + --build-service-token e3265de06b1d0e7bb38400539012a8433a74c2c96a17955e \ + --set-repository andreasdueren/anonaddy-cloudron \ + --tag 0.1.0 +``` + +### Install Command +```bash +cloudron install \ + --location anonaddy.yourdomain.com \ + --image andreasdueren/anonaddy-cloudron:0.1.0 +``` + +## Package Architecture + +### Core Components + +1. **Web Application**: Laravel/PHP 8.3 application +2. **Database**: MySQL (via Cloudron addon) +3. **Cache/Queue**: Redis (via Cloudron addon) +4. **Web Server**: NGINX +5. **PHP Processor**: PHP-FPM 8.3 +6. **Mail Server**: Postfix +7. **Spam Filter**: Rspamd +8. **Process Manager**: Supervisor + +### File Structure + +``` +/app/code/ - Application code (read-only) +/app/data/ - Persistent data (backed up) + ├── storage/ - Laravel storage (logs, cache, sessions) + ├── dkim/ - DKIM keys + ├── postfix/ - Postfix data + ├── rspamd/ - Rspamd data + ├── app_key - Laravel application key + └── anonaddy_secret - AnonAddy secret for anonymous replies +``` + +### Ports + +- **8000**: HTTP (web interface) +- **25**: SMTP (email receiving) + +### Cloudron Addons + +- `localstorage`: Persistent file storage +- `mysql`: Database +- `redis`: Cache and queue backend +- `sendmail`: Outbound email + +## Configuration Files + +### CloudronManifest.json +Main package manifest defining app metadata, addons, ports, and resource requirements. + +### Dockerfile +Multi-stage Docker build: +- Base: cloudron/base:5.0.0 +- Installs PHP 8.3, NGINX, Postfix, Rspamd, Composer, Node.js +- Clones AnonAddy v1.3.5 +- Installs PHP dependencies via Composer +- Builds frontend assets via Vite +- Configures all services + +### start.sh +Initialization script: +- Initializes /app/data on first run +- Generates Laravel APP_KEY and ANONADDY_SECRET +- Configures .env file with Cloudron environment variables +- Runs database migrations +- Optimizes Laravel caches +- Creates default admin user +- Configures Postfix +- Starts Supervisor + +### nginx.conf +NGINX configuration: +- Listens on port 8000 +- Serves Laravel public directory +- PHP-FPM integration +- Static file caching +- Security headers + +### supervisor.conf +Process supervision: +- nginx: Web server +- php-fpm: PHP processor +- laravel-queue: Background job processor +- laravel-scheduler: Cron job runner +- postfix: SMTP server +- rspamd: Spam filter + +### Postfix Configuration +- postfix-main.cf: Main Postfix configuration +- postfix-master.cf: Postfix process configuration + +## Default Credentials + +**IMPORTANT**: Change immediately after first login! + +- Email: admin@example.com +- Password: password + +## DNS Requirements + +### Required DNS Records + +1. **MX Record** + ``` + @ IN MX 10 anonaddy.yourdomain.com. + ``` + +2. **SPF Record** + ``` + @ IN TXT "v=spf1 mx ~all" + ``` + +3. **DKIM Keys** + - Generated in Settings → DKIM after installation + ``` + default._domainkey IN TXT "v=DKIM1; k=rsa; p=YOUR_PUBLIC_KEY_HERE" + ``` + +4. **DMARC Record** (Optional but recommended) + ``` + _dmarc IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com" + ``` + +## Post-Installation Setup + +1. Login with default credentials +2. Change admin password immediately +3. Configure domain in Settings → Domains +4. Add DNS records (MX, SPF, DKIM, DMARC) +5. Add recipient email addresses +6. Verify recipient addresses +7. Test alias creation and forwarding + +## Troubleshooting + +### View Logs +```bash +cloudron logs --app anonaddy.yourdomain.com -f +``` + +### Shell Access +```bash +cloudron exec --app anonaddy.yourdomain.com +``` + +### Clear Cache +```bash +cloudron exec --app anonaddy.yourdomain.com +cd /app/code +php artisan cache:clear +php artisan config:clear +php artisan view:clear +``` + +### Run Migrations +```bash +cloudron exec --app anonaddy.yourdomain.com +cd /app/code +php artisan migrate +``` + +## Known Issues and Solutions + +### Issue: Emails Not Receiving +- Check MX records: `dig MX yourdomain.com` +- Verify port 25 is open +- Check Postfix logs: `cloudron logs --app anonaddy.yourdomain.com | grep postfix` + +### Issue: Queue Not Processing +- Check queue worker: `cloudron logs --app anonaddy.yourdomain.com | grep queue` +- Verify Redis connection +- Restart app: `cloudron restart --app anonaddy.yourdomain.com` + +## Development Notes + +### Rebuild Package +```bash +# Make changes to package files +git add . +git commit -m "Description of changes" + +# Rebuild +cloudron build \ + --set-build-service builder.docker.due.ren \ + --build-service-token e3265de06b1d0e7bb38400539012a8433a74c2c96a17955e \ + --set-repository andreasdueren/anonaddy-cloudron \ + --tag NEW_VERSION +``` + +### Update Deployment +Always uninstall and install fresh during development (never update): +```bash +cloudron uninstall --app anonaddy.yourdomain.com +cloudron install --location anonaddy.yourdomain.com --image andreasdueren/anonaddy-cloudron:NEW_VERSION +``` + +## Resources + +- [AnonAddy Official Website](https://anonaddy.com) +- [AnonAddy GitHub Repository](https://github.com/anonaddy/anonaddy) +- [AnonAddy Documentation](https://anonaddy.com/help) +- [Cloudron Documentation](https://docs.cloudron.io) +- [Cloudron Packaging Guide](https://docs.cloudron.io/packaging/) + +## Support + +- AnonAddy Issues: https://github.com/anonaddy/anonaddy/issues +- Cloudron Package Issues: https://git.due.ren/andreas/anonaddy.git +- Cloudron Forum: https://forum.cloudron.io + +## License + +AnonAddy is open-source software licensed under the MIT license. + +## Package Author + +Andreas Dueren + +## Version History + +### v0.1.0 (2025-10-22) +- Initial Cloudron package release +- Based on AnonAddy v1.3.5 +- Includes PHP 8.3, MySQL, Redis, Postfix, Rspamd +- Full email forwarding and alias management +- GPG encryption support +- Anonymous reply functionality