Files
anonaddy/CLOUDRON_PACKAGE_INFO.md
2025-10-22 08:34:34 -06:00

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

  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!

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

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

Support

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