feat: Prepare Zemailnator for Dokploy deployment

- Add highly optimized Dockerfile with Nginx and PHP-FPM 8.4
- Add docker-compose.yml configured with Redis and MariaDB 10.11
- Implement entrypoint.sh and supervisord.conf for background workers
- Refactor legacy IMAP scripts into scheduled Artisan Commands
- Secure app by removing old routes with hardcoded basic auth credentials
- Configure email attachments to use Laravel Storage instead of insecure public/tmp
This commit is contained in:
idevakk
2026-02-28 23:17:39 +05:30
parent bf5b797cd8
commit c312ec3325
78 changed files with 750 additions and 360 deletions

View File

@@ -0,0 +1,33 @@
<?php
namespace App\Console\Commands;
use App\Models\Email;
use Illuminate\Console\Command;
class CleanAttachmentsCommand extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'attachments:clean';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Clean old email attachments from disk';
/**
* Execute the console command.
*/
public function handle()
{
$this->info('Starting to clean attachments...');
Email::deleteBulkAttachments();
$this->info('Finished cleaning attachments.');
}
}