- Layered API (router -> controller -> model -> db), serverlinkr pattern - Public / auth / admin route groups; posts, wiki, settings, users, activity models - JWT httpOnly-cookie auth (Secure auto-detected: LAN HTTP + Pangolin HTTPS) - Site LIVE/MAINTENANCE mode with admin preview bypass - Dual file+console logging (info/warn/error/debug) + HTTP access logs - Docker Compose (app + MariaDB), schema.sql + seed, .env.example - Verified end-to-end against MariaDB (27/27 smoke checks) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
37 lines
1.0 KiB
Plaintext
37 lines
1.0 KiB
Plaintext
# ─── UOMysticmoon server — local dev environment ───
|
|
# Copy to server/.env for running `npm run dev` outside Docker.
|
|
# (In Docker, the root .env / docker-compose provides these instead.)
|
|
|
|
NODE_ENV=development
|
|
PORT=3000
|
|
# Logging — written to BOTH the console and a log file (default <server>/logs/app.log).
|
|
LOG_LEVEL=debug # console verbosity: error | warn | info | debug
|
|
FILE_LOG_LEVEL=debug # file verbosity
|
|
LOG_TO_FILE=true # set false for console-only
|
|
# LOG_DIR= # defaults to server/logs
|
|
# LOG_FILE=app.log
|
|
|
|
# Point at a local or Dockerized MariaDB
|
|
DB_HOST=127.0.0.1
|
|
DB_PORT=3306
|
|
DB_NAME=uomysticmoon
|
|
DB_USER=uomm
|
|
DB_PASSWORD=change-me-db-password
|
|
|
|
JWT_SECRET=dev-only-change-me
|
|
JWT_EXPIRES_IN=1d
|
|
COOKIE_SECURE=auto
|
|
COOKIE_NAME=uomm_token
|
|
|
|
# Created on first boot if the users table is empty
|
|
ADMIN_USERNAME=admin
|
|
ADMIN_PASSWORD=change-me-admin-password
|
|
|
|
SMTP_HOST=
|
|
SMTP_PORT=587
|
|
SMTP_USER=
|
|
SMTP_PASS=
|
|
CONTACT_TO=UOMysticmoon@gmail.com
|
|
|
|
CLIENT_ORIGIN=http://localhost:5173
|