decidim: decidim.hacktivism.ch behind Caddy :9027

This commit is contained in:
Hernâni Marques 2026-08-17 15:31:10 +02:00
parent d519fb3c80
commit 609056615e
No known key found for this signature in database
GPG key ID: CB5738652768F7E9
24 changed files with 840 additions and 24 deletions

View file

@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Apply hacktivism colors + header CSS on the live organization.
set -euo pipefail
cd "${HOME}/koopa-decidim"
set -a
# shellcheck disable=SC1091
source .env
# shellcheck disable=SC1091
source users.env
set +a
podman exec \
-e DECIDIM_HOST="${DECIDIM_HOST:-decidim.hacktivism.ch}" \
-e DECIDIM_SYSTEM_EMAIL \
-e DECIDIM_SYSTEM_PASSWORD \
-e DECIDIM_ADMIN_EMAIL \
-e DECIDIM_ADMIN_PASSWORD \
-e DECIDIM_ADMIN_NAME \
-e DECIDIM_APPLICATION_NAME \
-e DECIDIM_DEFAULT_LOCALE \
-e DECIDIM_AVAILABLE_LOCALES \
koopa-decidim bundle exec rails runner /code/lib/koopa_bootstrap.rb
echo "branding applied. public: https://decidim.hacktivism.ch/"

View file

@ -0,0 +1,47 @@
#!/usr/bin/env bash
# Install Decidim user systemd units on koopa (boot via linger).
set -euo pipefail
HERE="$(cd "$(dirname "$0")" && pwd)"
LIVE="${HOME}/koopa-decidim"
# admin-log tree (scripts/decidim → ../..) or live ~/koopa-decidim/bin
if [ -f "${HERE}/../../configs/decidim/container-koopa-decidim.service" ]; then
UNIT_SRC="${HERE}/../../configs/decidim"
elif [ -f "${LIVE}/container-koopa-decidim.service" ]; then
UNIT_SRC="${LIVE}"
else
echo "ERROR: decidim unit files not found" >&2
exit 1
fi
UNIT_DIR="${HOME}/.config/systemd/user"
mkdir -p "${UNIT_DIR}"
cp "${UNIT_SRC}/container-koopa-decidim-db.service" "${UNIT_DIR}/"
cp "${UNIT_SRC}/container-koopa-decidim.service" "${UNIT_DIR}/"
systemctl --user daemon-reload
systemctl --user enable \
container-koopa-decidim-db.service \
container-koopa-decidim.service
if ! podman ps --format '{{.Names}}' | grep -qx koopa-decidim; then
(cd "${HOME}/koopa-decidim" && set -a && source .env && set +a && podman-compose up -d)
fi
systemctl --user start \
container-koopa-decidim-db.service \
container-koopa-decidim.service
systemctl --user --no-pager --lines=0 status \
container-koopa-decidim-db.service \
container-koopa-decidim.service || true
if command -v loginctl >/dev/null 2>&1; then
if [ "$(loginctl show-user "$(id -un)" -p Linger --value 2>/dev/null || echo no)" != "yes" ]; then
echo "NOTE: enable linger so units start after reboot without login:"
echo " sudo loginctl enable-linger $(id -un)"
else
echo "linger already enabled for $(id -un)"
fi
fi
echo "OK. Public: https://decidim.hacktivism.ch/"

21
scripts/decidim/up.sh Executable file
View file

@ -0,0 +1,21 @@
#!/usr/bin/env bash
set -euo pipefail
DIR="${HOME}/koopa-decidim"
cd "${DIR}"
set -a
# shellcheck disable=SC1091
source .env
set +a
podman-compose up -d
echo "== wait for :9027 =="
ok=0
for i in $(seq 1 80); do
code=$(curl -sS -o /dev/null -w '%{http_code}' --max-time 5 "http://127.0.0.1:9027/" || true)
echo "try $i: $code"
case "$code" in
2*|3*) ok=1; break ;;
esac
sleep 5
done
[[ "$ok" -eq 1 ]] || { echo "ERROR: no answer on 9027"; podman-compose ps; exit 1; }
echo "local ok. public: https://decidim.hacktivism.ch/"