123 - Start the scheduler in the production container

This commit is contained in:
myrmidex 2026-08-02 17:57:12 +02:00
parent b527813721
commit 358171c8cc
6 changed files with 6 additions and 135 deletions

View file

@ -101,6 +101,9 @@ php artisan db:seed --force || echo "Seeders failed or already run"
# Start Horizon in the background # Start Horizon in the background
php artisan horizon & php artisan horizon &
# Start the scheduler in the background
php artisan schedule:work &
# Start FrankenPHP # Start FrankenPHP
exec frankenphp run --config /etc/caddy/Caddyfile exec frankenphp run --config /etc/caddy/Caddyfile
EOF EOF

View file

@ -114,6 +114,9 @@ npm run dev &
# Start Horizon (queue worker) in background # Start Horizon (queue worker) in background
php artisan horizon & php artisan horizon &
# Scheduler left off in dev on purpose; run schedule:work by hand when needed.
# php artisan schedule:work &
# Start FrankenPHP # Start FrankenPHP
exec frankenphp run --config /etc/caddy/Caddyfile exec frankenphp run --config /etc/caddy/Caddyfile
EOF EOF

View file

@ -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

View file

@ -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=

View file

@ -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);
}

View file

@ -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);
}