Files
Aknaproff/docker-entrypoint.sh
Deploy Bot 060dcce370 v4.1.26: Docker hotfix — рабочие конфиги для Synology ARM
- FIX: Dockerfile — правильный multi-stage build
- FIX: docker-compose.yml — убраны нерабочие конфиги
- FIX: docker-entrypoint.sh — добавлен правильный entrypoint
- FIX: D1_BINDING=aknaproff-db во всех конфигах
- wrangler.jsonc: исправлен D1_BINDING
- public/original.html: cache version update
- Удалён HOTFIX_v4.1.24.md, добавлен HOTFIX_v4.1.26.md
2026-01-18 20:56:00 +02:00

55 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
PORT="${PORT:-3000}"
D1_BINDING="${D1_BINDING:-aknaproff-db}"
PERSIST_PATH="${PERSIST_PATH:-/data}"
SEED_DATA="${SEED_DATA:-false}"
SEED_SENTINEL="${PERSIST_PATH}/.seeded"
mkdir -p "${PERSIST_PATH}"
export WRANGLER_SEND_METRICS="${WRANGLER_SEND_METRICS:-false}"
apply_migrations() {
echo "[entrypoint] Applying D1 migrations (binding: ${D1_BINDING}, persist: ${PERSIST_PATH})"
npx wrangler d1 migrations apply "${D1_BINDING}" \
--local \
--persist-to "${PERSIST_PATH}"
}
maybe_seed_data() {
if [[ "${SEED_DATA,,}" != "true" ]]; then
echo "[entrypoint] Seed step disabled (set SEED_DATA=true to enable)"
return
fi
if [[ -f "${SEED_SENTINEL}" ]]; then
echo "[entrypoint] Seed data already applied (skipping)"
return
fi
echo "[entrypoint] Seeding local database from seed.sql"
if npx wrangler d1 execute "${D1_BINDING}" \
--local \
--persist-to "${PERSIST_PATH}" \
--file ./seed.sql; then
touch "${SEED_SENTINEL}"
else
echo "[entrypoint] Seed step failed but container will continue" >&2
fi
}
start_server() {
echo "[entrypoint] Starting Wrangler dev server on port ${PORT}"
exec npx wrangler pages dev dist \
--local \
--d1="${D1_BINDING}" \
--persist-to "${PERSIST_PATH}" \
--ip 0.0.0.0 \
--port "${PORT}"
}
apply_migrations
maybe_seed_data
start_server