6.0 KiB
6.0 KiB
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
cloudron build \
--set-build-service builder.docker.due.ren \
--build-service-token e3265de06b1d0e7bb38400539012a8433a74c2c96a17955e \
--set-repository andreasdueren/anonaddy-cloudron \
--tag 0.1.0
Install Command
cloudron install \
--location anonaddy.yourdomain.com \
--image andreasdueren/anonaddy-cloudron:0.1.0
Package Architecture
Core Components
- Web Application: Laravel/PHP 8.3 application
- Database: MySQL (via Cloudron addon)
- Cache/Queue: Redis (via Cloudron addon)
- Web Server: NGINX
- PHP Processor: PHP-FPM 8.3
- Mail Server: Postfix
- Spam Filter: Rspamd
- 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 storagemysql: Databaseredis: Cache and queue backendsendmail: 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
-
MX Record
@ IN MX 10 anonaddy.yourdomain.com. -
SPF Record
@ IN TXT "v=spf1 mx ~all" -
DKIM Keys
- Generated in Settings → DKIM after installation
default._domainkey IN TXT "v=DKIM1; k=rsa; p=YOUR_PUBLIC_KEY_HERE" -
DMARC Record (Optional but recommended)
_dmarc IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com"
Post-Installation Setup
- Login with default credentials
- Change admin password immediately
- Configure domain in Settings → Domains
- Add DNS records (MX, SPF, DKIM, DMARC)
- Add recipient email addresses
- Verify recipient addresses
- Test alias creation and forwarding
Troubleshooting
View Logs
cloudron logs --app anonaddy.yourdomain.com -f
Shell Access
cloudron exec --app anonaddy.yourdomain.com
Clear Cache
cloudron exec --app anonaddy.yourdomain.com
cd /app/code
php artisan cache:clear
php artisan config:clear
php artisan view:clear
Run Migrations
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
# 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):
cloudron uninstall --app anonaddy.yourdomain.com
cloudron install --location anonaddy.yourdomain.com --image andreasdueren/anonaddy-cloudron:NEW_VERSION
Resources
- AnonAddy Official Website
- AnonAddy GitHub Repository
- AnonAddy Documentation
- Cloudron Documentation
- Cloudron Packaging Guide
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