changemaker.lite/api/prisma/init-gitea-db.sh

23 lines
951 B
Bash
Executable File

#!/bin/bash
###############################################################################
# Gitea Database Initialization Script
###############################################################################
# Creates a separate PostgreSQL database for Gitea git hosting.
#
# Database: gitea
# Purpose: Stores Gitea repositories, users, and configuration
# Runs: Automatically on first PostgreSQL container startup via docker-entrypoint-initdb.d
###############################################################################
set -e
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
-- Create Gitea database if it doesn't exist
SELECT 'CREATE DATABASE gitea'
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'gitea')\gexec
-- Grant all privileges to the main user
GRANT ALL PRIVILEGES ON DATABASE gitea TO ${POSTGRES_USER};
EOSQL
echo "Gitea database 'gitea' created successfully"