Multi-stage build (node -> go -> alpine) producing the static tefterd binary with the frontend embedded. Compose follows the house style for the podman/SELinux server (:Z volume label + label:disable). deploy/ holds the user systemd unit and redeploy-tefter.sh, mirroring the apelacija setup. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
31 lines
792 B
Bash
Executable File
31 lines
792 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
APP_DIR=$HOME/tefter
|
|
SERVICE=tefter.service
|
|
|
|
cd "$APP_DIR"
|
|
|
|
# Port the app is published on (kept in .env.docker next to the compose file).
|
|
WEB_PORT=$(grep -oP '^WEB_PORT=\K.*' .env.docker 2>/dev/null || echo 8420)
|
|
|
|
echo "==> Pulling latest code..."
|
|
git pull
|
|
|
|
echo "==> Rebuilding container..."
|
|
TEFTER_VERSION=$(git describe --tags --always --dirty) podman-compose build
|
|
|
|
echo "==> Restarting service..."
|
|
systemctl --user restart $SERVICE
|
|
|
|
echo "==> Waiting for boot..."
|
|
sleep 5
|
|
|
|
if curl -s -o /dev/null -w "" http://localhost:$WEB_PORT/; then
|
|
echo "==> Deploy successful! App is running on port $WEB_PORT."
|
|
podman-compose logs --tail 5 tefter 2>&1
|
|
else
|
|
echo "==> WARNING: App may not be ready yet. Check logs:"
|
|
podman-compose logs --tail 20 tefter 2>&1
|
|
fi
|