ops: add Caddyfile + landing + DB url

This commit is contained in:
Claude 2026-05-30 22:05:11 +02:00
parent 7e583d262b
commit bbcd8ffe41
4 changed files with 128 additions and 1 deletions

26
scripts/create-db.sh Normal file
View file

@ -0,0 +1,26 @@
#!/usr/bin/env bash
# Create the app DB + role + TimescaleDB extension, write the env file.
set -euo pipefail
DBPASS=$(openssl rand -hex 24)
# role (create or reset password)
sudo -u postgres psql -c "CREATE ROLE hbcloud LOGIN PASSWORD '$DBPASS';" 2>/dev/null \
|| sudo -u postgres psql -c "ALTER ROLE hbcloud LOGIN PASSWORD '$DBPASS';"
# database
sudo -u postgres psql -tAc "SELECT 1 FROM pg_database WHERE datname='cannabuddy'" | grep -q 1 \
|| sudo -u postgres createdb -O hbcloud cannabuddy
# timescaledb extension
sudo -u postgres psql -d cannabuddy -v ON_ERROR_STOP=1 -c "CREATE EXTENSION IF NOT EXISTS timescaledb;" >/dev/null
# env file (root-only) — the app + go-auth read DATABASE_URL from here
mkdir -p /etc/cannabuddy
touch /etc/cannabuddy/cloud.env && chmod 600 /etc/cannabuddy/cloud.env
grep -q '^DATABASE_URL=' /etc/cannabuddy/cloud.env 2>/dev/null \
&& sed -i "s#^DATABASE_URL=.*#DATABASE_URL=postgres://hbcloud:$DBPASS@127.0.0.1:5432/cannabuddy#" /etc/cannabuddy/cloud.env \
|| echo "DATABASE_URL=postgres://hbcloud:$DBPASS@127.0.0.1:5432/cannabuddy" >> /etc/cannabuddy/cloud.env
echo "OK — DB cannabuddy + role hbcloud ready, timescaledb extension on"
sudo -u postgres psql -d cannabuddy -tAc "SELECT extname, extversion FROM pg_extension WHERE extname='timescaledb';"
echo "DATABASE_URL=postgres://hbcloud:$DBPASS@127.0.0.1:5432/cannabuddy"