2025-02-14 20:03:28 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
# Start PostgreSQL service
|
|
|
|
|
service postgresql start
|
|
|
|
|
|
|
|
|
|
# Wait for PostgreSQL to be ready
|
|
|
|
|
until su - postgres -c "pg_isready"; do
|
|
|
|
|
echo "Waiting for PostgreSQL to be ready..."
|
|
|
|
|
sleep 1
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
# Create the database and user if they don't exist
|
|
|
|
|
su - postgres -c "psql -tc \"SELECT 1 FROM pg_roles WHERE rolname = '$POSTGRES_USER';\"" | grep -q 1 || \
|
|
|
|
|
su - postgres -c "psql -c \"CREATE USER $POSTGRES_USER WITH ENCRYPTED PASSWORD '$POSTGRES_PASSWORD';\""
|
|
|
|
|
|
|
|
|
|
su - postgres -c "psql -tc \"SELECT 1 FROM pg_database WHERE datname = '$POSTGRES_DB';\"" | grep -q 1 || \
|
|
|
|
|
su - postgres -c "psql -c \"CREATE DATABASE $POSTGRES_DB OWNER $POSTGRES_USER;\""
|
|
|
|
|
|
|
|
|
|
# Start Caddy
|
|
|
|
|
caddy run --config /etc/caddy/Caddyfile &
|
|
|
|
|
|
|
|
|
|
# Start Express app
|
2025-02-19 18:49:10 +01:00
|
|
|
exec nodemon src/app.js
|
2025-02-14 20:03:28 +01:00
|
|
|
|
|
|
|
|
# Keep container running
|
|
|
|
|
wait
|