123 - Start the scheduler in the production container
This commit is contained in:
parent
b527813721
commit
358171c8cc
6 changed files with 6 additions and 135 deletions
|
|
@ -101,6 +101,9 @@ php artisan db:seed --force || echo "Seeders failed or already run"
|
|||
# Start Horizon in the background
|
||||
php artisan horizon &
|
||||
|
||||
# Start the scheduler in the background
|
||||
php artisan schedule:work &
|
||||
|
||||
# Start FrankenPHP
|
||||
exec frankenphp run --config /etc/caddy/Caddyfile
|
||||
EOF
|
||||
|
|
|
|||
|
|
@ -114,6 +114,9 @@ npm run dev &
|
|||
# Start Horizon (queue worker) in background
|
||||
php artisan horizon &
|
||||
|
||||
# Scheduler left off in dev on purpose; run schedule:work by hand when needed.
|
||||
# php artisan schedule:work &
|
||||
|
||||
# Start FrankenPHP
|
||||
exec frankenphp run --config /etc/caddy/Caddyfile
|
||||
EOF
|
||||
|
|
|
|||
|
|
@ -1,51 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Exit on any error
|
||||
set -e
|
||||
|
||||
# Check required Lemmy environment variables
|
||||
if [ -z "$LEMMY_INSTANCE" ] || [ -z "$LEMMY_USERNAME" ] || [ -z "$LEMMY_PASSWORD" ] || [ -z "$LEMMY_COMMUNITY" ]; then
|
||||
echo "ERROR: Missing required Lemmy configuration variables:"
|
||||
echo " LEMMY_INSTANCE=${LEMMY_INSTANCE:-'(not set)'}"
|
||||
echo " LEMMY_USERNAME=${LEMMY_USERNAME:-'(not set)'}"
|
||||
echo " LEMMY_PASSWORD=${LEMMY_PASSWORD:-'(not set)'}"
|
||||
echo " LEMMY_COMMUNITY=${LEMMY_COMMUNITY:-'(not set)'}"
|
||||
echo "Please set all required environment variables before starting the application."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Wait for database to be ready
|
||||
echo "Waiting for database connection..."
|
||||
until php /docker/wait-for-db.php > /dev/null 2>&1; do
|
||||
echo "Database not ready, waiting..."
|
||||
sleep 5
|
||||
done
|
||||
echo "Database connection established."
|
||||
|
||||
# Wait for Redis to be ready
|
||||
echo "Waiting for Redis connection..."
|
||||
until php /docker/wait-for-redis.php > /dev/null 2>&1; do
|
||||
echo "Redis not ready, waiting..."
|
||||
sleep 2
|
||||
done
|
||||
echo "Redis connection established."
|
||||
|
||||
# Substitute environment variables in .env file
|
||||
echo "Configuring environment variables..."
|
||||
envsubst < .env > .env.tmp && mv .env.tmp .env
|
||||
|
||||
# Run migrations and initial setup
|
||||
echo "Running database migrations..."
|
||||
php artisan migrate --force
|
||||
|
||||
echo "Dispatching initial sync job..."
|
||||
php artisan tinker --execute="App\\Jobs\\SyncChannelPostsJob::dispatchForLemmy();"
|
||||
|
||||
# Start all services in single container
|
||||
echo "Starting web server, scheduler, and Horizon..."
|
||||
php artisan schedule:work &
|
||||
php artisan horizon &
|
||||
php artisan serve --host=0.0.0.0 --port=8000 &
|
||||
|
||||
# Wait for any process to exit
|
||||
wait
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
APP_NAME="Lemmy Poster"
|
||||
APP_ENV=production
|
||||
APP_KEY=
|
||||
APP_DEBUG=true
|
||||
APP_URL=http://localhost
|
||||
|
||||
APP_LOCALE=en
|
||||
APP_FALLBACK_LOCALE=en
|
||||
APP_FAKER_LOCALE=en_US
|
||||
|
||||
APP_MAINTENANCE_DRIVER=file
|
||||
|
||||
PHP_CLI_SERVER_WORKERS=4
|
||||
|
||||
BCRYPT_ROUNDS=12
|
||||
|
||||
LOG_CHANNEL=stack
|
||||
LOG_STACK=single
|
||||
LOG_DEPRECATIONS_CHANNEL=null
|
||||
LOG_LEVEL=error
|
||||
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=mysql
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=$DB_DATABASE
|
||||
DB_USERNAME=$DB_USERNAME
|
||||
DB_PASSWORD=$DB_PASSWORD
|
||||
|
||||
SESSION_DRIVER=redis
|
||||
SESSION_LIFETIME=120
|
||||
SESSION_ENCRYPT=false
|
||||
SESSION_PATH=/
|
||||
SESSION_DOMAIN=null
|
||||
|
||||
BROADCAST_CONNECTION=log
|
||||
FILESYSTEM_DISK=local
|
||||
QUEUE_CONNECTION=redis
|
||||
|
||||
CACHE_STORE=redis
|
||||
|
||||
REDIS_CLIENT=phpredis
|
||||
REDIS_HOST=redis
|
||||
REDIS_PASSWORD=null
|
||||
REDIS_PORT=6379
|
||||
|
||||
MAIL_MAILER=log
|
||||
MAIL_SCHEME=null
|
||||
MAIL_HOST=127.0.0.1
|
||||
MAIL_PORT=2525
|
||||
MAIL_USERNAME=null
|
||||
MAIL_PASSWORD=null
|
||||
MAIL_FROM_ADDRESS="hello@example.com"
|
||||
MAIL_FROM_NAME="${APP_NAME}"
|
||||
|
||||
# LEMMY SETTINGS
|
||||
LEMMY_INSTANCE=
|
||||
LEMMY_USERNAME=
|
||||
LEMMY_PASSWORD=
|
||||
LEMMY_COMMUNITY=
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
try {
|
||||
$pdo = new PDO(
|
||||
'mysql:host=mysql;port=3306;dbname=' . getenv('DB_DATABASE'),
|
||||
getenv('DB_USERNAME'),
|
||||
getenv('DB_PASSWORD')
|
||||
);
|
||||
echo 'Connected';
|
||||
exit(0);
|
||||
} catch (Exception $e) {
|
||||
exit(1);
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
try {
|
||||
$redis = new Redis();
|
||||
$redis->connect('redis', 6379);
|
||||
echo 'Connected';
|
||||
exit(0);
|
||||
} catch (Exception $e) {
|
||||
exit(1);
|
||||
}
|
||||
Loading…
Reference in a new issue