queue email

This commit is contained in:
Chimezie Enyinnaya
2024-09-10 07:27:33 +01:00
parent 86d5b1eb21
commit bddd6d0ed4
3 changed files with 142 additions and 0 deletions

View File

@@ -2,6 +2,7 @@
namespace App\Models;
use App\Notifications\VerifyEmail;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
@@ -44,4 +45,9 @@ class User extends Authenticatable implements MustVerifyEmail
'password' => 'hashed',
];
}
public function sendEmailVerificationNotification()
{
$this->notify(new VerifyEmail);
}
}

View File

@@ -0,0 +1,12 @@
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Auth\Notifications\VerifyEmail as VerifyEmailNotification;
class VerifyEmail extends VerifyEmailNotification implements ShouldQueue
{
use Queueable;
}

124
docker-compose.yml Normal file
View File

@@ -0,0 +1,124 @@
version: '3.8'
services:
app:
image: 'ammezie/laravelcoolify:latest'
volumes:
- '.:/var/www/html'
environment:
PHP_FPM_POOL_NAME: "app"
AUTORUN_ENABLED: '${AUTORUN_ENABLED}'
APP_NAME: '${APP_NAME}'
APP_ENV: '${APP_ENV}'
APP_KEY: '${APP_KEY}'
APP_DEBUG: '${APP_DEBUG}'
APP_TIMEZONE: '${APP_TIMEZONE}'
APP_URL: '${APP_URL}'
APP_LOCALE: '${APP_LOCALE}'
APP_FALLBACK_LOCALE: '${APP_FALLBACK_LOCALE}'
APP_FAKER_LOCALE: '${APP_FAKER_LOCALE}'
APP_MAINTENANCE_DRIVER: '${APP_MAINTENANCE_DRIVER}'
BCRYPT_ROUNDS: '${BCRYPT_ROUNDS}'
LOG_CHANNEL: '${LOG_CHANNEL}'
LOG_STACK: '${LOG_STACK}'
LOG_DEPRECATIONS_CHANNEL: '${LOG_DEPRECATIONS_CHANNEL}'
LOG_LEVEL: '${LOG_LEVEL}'
DB_CONNECTION: '${DB_CONNECTION}'
DB_HOST: '${DB_HOST}'
DB_PORT: '${DB_PORT}'
DB_DATABASE: '${DB_DATABASE}'
DB_USERNAME: '${DB_USERNAME}'
DB_PASSWORD: '${DB_PASSWORD}'
SESSION_DRIVER: '${SESSION_DRIVER}'
SESSION_LIFETIME: '${SESSION_LIFETIME}'
SESSION_ENCRYPT: '${SESSION_ENCRYPT}'
SESSION_PATH: '${SESSION_PATH}'
SESSION_DOMAIN: '${SESSION_DOMAIN}'
BROADCAST_CONNECTION: '${BROADCAST_CONNECTION}'
FILESYSTEM_DISK: '${FILESYSTEM_DISK}'
QUEUE_CONNECTION: '${QUEUE_CONNECTION}'
CACHE_STORE: '${CACHE_STORE}'
CACHE_PREFIX: '${CACHE_PREFIX}'
REDIS_CLIENT: '${REDIS_CLIENT}'
REDIS_HOST: '${REDIS_HOST}'
REDIS_PASSWORD: '${REDIS_PASSWORD}'
REDIS_PORT: '${REDIS_PORT}'
MAIL_MAILER: '${MAIL_MAILER}'
MAIL_HOST: '${MAIL_HOST}'
MAIL_PORT: '${MAIL_PORT}'
MAIL_USERNAME: '${MAIL_USERNAME}'
MAIL_PASSWORD: '${MAIL_PASSWORD}'
MAIL_ENCRYPTION: '${MAIL_ENCRYPTION}'
MAIL_FROM_ADDRESS: '${MAIL_FROM_ADDRESS}'
MAIL_FROM_NAME: '${MAIL_FROM_NAME}'
VITE_APP_NAME: '${APP_NAME}'
depends_on:
- mysql
worker:
image: 'ammezie/laravelcoolify:latest'
command: ["php", "/var/www/html/artisan", "queue:work", "--tries=3"]
volumes:
- '.:/var/www/html'
environment:
PHP_FPM_POOL_NAME: "queue-worker"
APP_NAME: '${APP_NAME}'
APP_ENV: '${APP_ENV}'
APP_KEY: '${APP_KEY}'
APP_DEBUG: '${APP_DEBUG}'
APP_TIMEZONE: '${APP_TIMEZONE}'
APP_URL: '${APP_URL}'
APP_LOCALE: '${APP_LOCALE}'
APP_FALLBACK_LOCALE: '${APP_FALLBACK_LOCALE}'
APP_FAKER_LOCALE: '${APP_FAKER_LOCALE}'
APP_MAINTENANCE_DRIVER: '${APP_MAINTENANCE_DRIVER}'
BCRYPT_ROUNDS: '${BCRYPT_ROUNDS}'
LOG_CHANNEL: '${LOG_CHANNEL}'
LOG_STACK: '${LOG_STACK}'
LOG_DEPRECATIONS_CHANNEL: '${LOG_DEPRECATIONS_CHANNEL}'
LOG_LEVEL: '${LOG_LEVEL}'
DB_CONNECTION: '${DB_CONNECTION}'
DB_HOST: '${DB_HOST}'
DB_PORT: '${DB_PORT}'
DB_DATABASE: '${DB_DATABASE}'
DB_USERNAME: '${DB_USERNAME}'
DB_PASSWORD: '${DB_PASSWORD}'
SESSION_DRIVER: '${SESSION_DRIVER}'
SESSION_LIFETIME: '${SESSION_LIFETIME}'
SESSION_ENCRYPT: '${SESSION_ENCRYPT}'
SESSION_PATH: '${SESSION_PATH}'
SESSION_DOMAIN: '${SESSION_DOMAIN}'
BROADCAST_CONNECTION: '${BROADCAST_CONNECTION}'
FILESYSTEM_DISK: '${FILESYSTEM_DISK}'
QUEUE_CONNECTION: '${QUEUE_CONNECTION}'
CACHE_STORE: '${CACHE_STORE}'
CACHE_PREFIX: '${CACHE_PREFIX}'
REDIS_CLIENT: '${REDIS_CLIENT}'
REDIS_HOST: '${REDIS_HOST}'
REDIS_PASSWORD: '${REDIS_PASSWORD}'
REDIS_PORT: '${REDIS_PORT}'
MAIL_MAILER: '${MAIL_MAILER}'
MAIL_HOST: '${MAIL_HOST}'
MAIL_PORT: '${MAIL_PORT}'
MAIL_USERNAME: '${MAIL_USERNAME}'
MAIL_PASSWORD: '${MAIL_PASSWORD}'
MAIL_ENCRYPTION: '${MAIL_ENCRYPTION}'
MAIL_FROM_ADDRESS: '${MAIL_FROM_ADDRESS}'
MAIL_FROM_NAME: '${MAIL_FROM_NAME}'
VITE_APP_NAME: '${APP_NAME}'
mysql:
image: mysql:8.0
cap_add:
- SYS_NICE
restart: always
environment:
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
ports:
- '3306:3306'
volumes:
- mysql-data:/var/lib/mysql
volumes:
mysql-data: