Add CLOUDRON_PACKAGE_INFO.md and finalize package
This commit is contained in:
250
CLOUDRON_PACKAGE_INFO.md
Normal file
250
CLOUDRON_PACKAGE_INFO.md
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user