49a5452141
This commit adds the first complete local-network deployment path for the project. It normalizes the runtime contract around a fixed container listener on 0.0.0.0:10000, binds the published compose port to 127.0.0.1, and keeps the image/build workflow aligned with the released container image. It also introduces an installation script, an nginx reverse-proxy template, and a safer SQLite backup flow based on sqlite3 .backup with retention and optional rclone upload support. Deployment-oriented configuration has been consolidated into .env.example, repository-local .env files are now ignored, and the deployment scripts are executable. In addition, the frontend mixed-content issue is fixed by switching the stylesheet reference to a root-relative static path, with tests updated to cover the regression. README guidance has been expanded to document the new install, nginx, backup, and restore conventions.
44 lines
924 B
Bash
Executable File
44 lines
924 B
Bash
Executable File
#!/usr/bin/env sh
|
|
set -eu
|
|
|
|
PROJECT_ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
|
cd "$PROJECT_ROOT"
|
|
|
|
if [ ! -f ".env" ] && [ -f ".env.example" ]; then
|
|
echo ".env not found. Create it first from .env.example:"
|
|
echo " cp .env.example .env"
|
|
exit 1
|
|
fi
|
|
|
|
set -a
|
|
. ./.env
|
|
set +a
|
|
|
|
DATA_DIR=${DATA_DIR:-./data}
|
|
APP_PORT=${APP_PORT:-10000}
|
|
|
|
mkdir -p "$DATA_DIR"
|
|
|
|
echo "[1/4] Pull latest code if this directory is a git repository"
|
|
if [ -d ".git" ]; then
|
|
git pull --ff-only
|
|
else
|
|
echo "Skipped: current directory is not a git repository"
|
|
fi
|
|
|
|
echo "[2/4] Pull and update containers"
|
|
docker compose pull web
|
|
docker compose up -d
|
|
|
|
echo "[3/4] Current container status"
|
|
docker compose ps
|
|
|
|
echo "[4/4] Recent logs"
|
|
docker compose logs --tail=50 web
|
|
|
|
echo
|
|
echo "Deployment complete. Default application URLs:"
|
|
echo " https://${HOST_DOMAIN:-localhost}"
|
|
echo " Backend port mapping: localhost:$APP_PORT -> container:10000"
|
|
|