OVHserver/opt/00-infrastructure/postgres/scripts/generate-init-sql.sh
SamoilenkoVadym a987d45fbc chore: initial infrastructure setup with Syncthing, Git and documentation
Set up three-tier synchronization: Syncthing (real-time), GitHub (version control), rsync (disaster recovery). Includes complete documentation for future Claude sessions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 16:41:12 +00:00

73 lines
2.3 KiB
Bash
Executable file

#!/bin/bash
set -e
export VAULT_TOKEN="${VAULT_TOKEN:-}"
if [ -z "$VAULT_TOKEN" ]; then
echo "Error: VAULT_TOKEN not set"
exit 1
fi
get_secret() {
docker exec -e VAULT_TOKEN="$VAULT_TOKEN" vault \
vault kv get -field="$2" "aimpress/$1" 2>/dev/null
}
cat > init-scripts/01-create-databases.sql <<EOSQL
-- AImpress Database Init
-- Generated: $(date)
CREATE DATABASE authentik;
CREATE DATABASE supabase;
CREATE DATABASE n8n_shared;
CREATE DATABASE odoo;
CREATE DATABASE outline;
CREATE DATABASE vaultwarden;
CREATE DATABASE evolution;
CREATE USER authentik_user WITH PASSWORD '$(get_secret security/authentik db_password)';
CREATE USER supabase_user WITH PASSWORD '$(get_secret core/supabase db_password)';
CREATE USER n8n_user WITH PASSWORD '$(get_secret core/n8n db_password)';
CREATE USER odoo_user WITH PASSWORD '$(get_secret business/odoo db_password)';
CREATE USER outline_user WITH PASSWORD '$(get_secret business/outline db_password)';
CREATE USER vaultwarden_user WITH PASSWORD '$(get_secret security/vaultwarden db_password)';
CREATE USER evolution_user WITH PASSWORD '$(get_secret core/evolution db_password)';
GRANT ALL PRIVILEGES ON DATABASE authentik TO authentik_user;
ALTER DATABASE authentik OWNER TO authentik_user;
GRANT ALL PRIVILEGES ON DATABASE supabase TO supabase_user;
ALTER DATABASE supabase OWNER TO supabase_user;
GRANT ALL PRIVILEGES ON DATABASE n8n_shared TO n8n_user;
ALTER DATABASE n8n_shared OWNER TO n8n_user;
GRANT ALL PRIVILEGES ON DATABASE odoo TO odoo_user;
ALTER DATABASE odoo OWNER TO odoo_user;
GRANT ALL PRIVILEGES ON DATABASE outline TO outline_user;
ALTER DATABASE outline OWNER TO outline_user;
GRANT ALL PRIVILEGES ON DATABASE vaultwarden TO vaultwarden_user;
ALTER DATABASE vaultwarden OWNER TO vaultwarden_user;
GRANT ALL PRIVILEGES ON DATABASE evolution TO evolution_user;
ALTER DATABASE evolution OWNER TO evolution_user;
\c supabase
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS "pgcrypto";
CREATE EXTENSION IF NOT EXISTS "pg_trgm";
CREATE EXTENSION IF NOT EXISTS "btree_gin";
CREATE EXTENSION IF NOT EXISTS "btree_gist";
\c n8n_shared
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS "pgcrypto";
\c outline
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS "pg_trgm";
EOSQL
echo "✅ Generated init SQL"