ops: add Caddyfile + landing + DB url
This commit is contained in:
parent
7e583d262b
commit
bbcd8ffe41
4 changed files with 128 additions and 1 deletions
26
scripts/create-db.sh
Normal file
26
scripts/create-db.sh
Normal 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"
|
||||
Loading…
Add table
Add a link
Reference in a new issue