47 lines
1.6 KiB
Bash
Executable file
47 lines
1.6 KiB
Bash
Executable file
#!/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/"
|