Replace project with current server release and Windows setup

Import the 2026-10-09 source release, Fastify/SQLite backend, restored source
assets, and analytics-enabled server build. Replace files from the previous
release while retaining the existing repository history.

Make builds portable across Windows and Linux, configure local startup,
normalize Windows static asset paths, and fix test fixture cleanup and file
URL handling. Exclude local environment settings, databases, dependencies,
validation output, and TypeScript build cache from version control.

Validation: npm ci, static and server builds, 106 arrival tests, and actual
local HTTP checks passed. The full suite passed 467 of 470 tests; three tests
still require QA fixtures omitted from the supplied release, documented in
README-서버실행.md.
This commit is contained in:
2026-10-09 16:43:35 +09:00
parent 71c8d3b7ff
commit e358e24436
642 changed files with 35202 additions and 17642 deletions
+17
View File
@@ -0,0 +1,17 @@
# Future server configuration examples
These files are templates only. No service, account, directory outside the workspace,
firewall, proxy, DNS, or production configuration has been created or changed.
1. Review the target OS/CPU and install the pinned Node 24 runtime.
2. Install source dependencies using the lockfile and build with `npm run build:server`.
3. Choose an existing or separately approved service account and private durable data directory.
4. Adapt `arrival.env.example`; production origin must be the approved real HTTPS origin.
5. Adapt `behind-glass.service.example` only if systemd is the approved process manager.
Check the actual Node executable path; `/usr/bin/node` is only an example.
6. Configure HTTPS and access controls separately after approval. Do not publish the existing
private sample/reference images more broadly than their approved owner-only scope.
7. Follow `docs/arrival-backend-operations.md` for backup, restore, metrics, and migration checks.
The DB must remain outside source, build, and public roots. Do not package, upload,
or commit a live database, WAL/SHM, backups, credentials, or node_modules.
+7
View File
@@ -0,0 +1,7 @@
# Example only. Do not place the active environment file in dist/public.
# Replace paths and origin after the target server is reviewed.
NODE_ENV=production
HOST=127.0.0.1
PORT=3000
PUBLIC_ORIGIN=https://your-approved-host.example
DB_PATH=/var/lib/behind-glass/analytics.sqlite
+20
View File
@@ -0,0 +1,20 @@
# Uninstalled example for a future Linux/systemd server.
# Confirm Node path, service account, directories, and permissions before use.
# Build with npm run build:server before starting this unit.
[Unit]
Description=Behind Glass static app and arrival API
After=network.target
[Service]
Type=simple
User=behind-glass
Group=behind-glass
WorkingDirectory=/opt/behind-glass/current
EnvironmentFile=/etc/behind-glass/arrival.env
ExecStart=/usr/bin/node server/index.mjs
Restart=on-failure
RestartSec=5
TimeoutStopSec=30
[Install]
WantedBy=multi-user.target