diff --git a/Project.md b/Project.md index db14bed..f4184ac 100644 --- a/Project.md +++ b/Project.md @@ -16,8 +16,8 @@ Zemailnator is a scalable disposable temporary email service (like Mailinator or ## 1.1 Deployment Architecture (Dokploy) Zemailnator is containerized for zero-downtime deployment on Dokploy: -- **Application Container:** Uses `php:8.4-fpm` with a bundled Nginx server and Supervisor to manage background queues. -- **External Services:** MariaDB and Redis run as fully separate, standalone Dokploy instances to allow for independent backups and to prevent database restarts during application deployment. +- **Application Container:** Uses `php:8.4-fpm-alpine` configured via a single `Dockerfile` with a bundled Nginx server and Supervisor to manage background queues. +- **External Services:** MariaDB and Redis run as fully separate, standalone Dokploy application instances to allow for independent backups and to prevent database restarts during application deployment. ## 2. Technology Stack - **Framework:** Laravel 12.x diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 0b343b5..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,39 +0,0 @@ -version: '3.8' - -services: - app: - build: - context: . - dockerfile: Dockerfile - restart: unless-stopped - ports: - - "${APP_PORT:-8000}:80" - environment: - - APP_ENV=${APP_ENV:-production} - - APP_DEBUG=${APP_DEBUG:-false} - - APP_URL=${APP_URL} - - DB_CONNECTION=${DB_CONNECTION:-mysql} - - DB_HOST=${DB_HOST} - - DB_PORT=${DB_PORT:-3306} - - DB_DATABASE=${DB_DATABASE:-zemail} - - DB_USERNAME=${DB_USERNAME:-zemail_user} - - DB_PASSWORD=${DB_PASSWORD} - - CACHE_STORE=${CACHE_STORE:-redis} - - QUEUE_CONNECTION=${QUEUE_CONNECTION:-redis} - - SESSION_DRIVER=${SESSION_DRIVER:-redis} - - REDIS_HOST=${REDIS_HOST} - - REDIS_PASSWORD=${REDIS_PASSWORD} - - REDIS_PORT=${REDIS_PORT:-6379} - healthcheck: - test: [ "CMD", "curl", "-f", "http://localhost/health" ] - interval: 30s - timeout: 10s - retries: 3 - start_period: 30s - volumes: - - app-storage:/var/www/storage - - app-public-tmp:/var/www/public/tmp - -volumes: - app-storage: - app-public-tmp: