Fix startup: correct watermark HTML concatenation; allow DATABASE env var; compose persists DB under /data; minor header css retains single Exit button

This commit is contained in:
2025-09-03 15:50:57 +03:00
parent d2a65dedb3
commit 752522cc13
2 changed files with 13 additions and 9 deletions

18
app.py
View File

@@ -26,7 +26,10 @@ def create_app():
# For production, override via env var. This default is for local/dev only. # For production, override via env var. This default is for local/dev only.
"dev-secret-change-me", "dev-secret-change-me",
) )
app.config["DATABASE"] = os.path.join(os.path.dirname(__file__), "app.db") app.config["DATABASE"] = os.environ.get(
"DATABASE",
os.path.join(os.path.dirname(__file__), "app.db"),
)
# Admin credentials (can be overridden via env) # Admin credentials (can be overridden via env)
app.config["ADMIN_USERNAME"] = os.environ.get("ADMIN_USERNAME", "ruslan") app.config["ADMIN_USERNAME"] = os.environ.get("ADMIN_USERNAME", "ruslan")
@@ -223,13 +226,14 @@ def create_app():
html = html + toolbar html = html + toolbar
# Ensure watermark exists on published pages (top-left) # Ensure watermark exists on published pages (top-left)
wm = ( wm = (
'<link rel="preconnect" href="https://fonts.googleapis.com">' "<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">"
'<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>' "<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>"
'<link href="https://fonts.googleapis.com/css2?family=Pacifico&display=swap" rel="stylesheet">' "<link href=\"https://fonts.googleapis.com/css2?family=Pacifico&display=swap\" rel=\"stylesheet\">"
'<div style="position:fixed;top:16px;left:16px;z-index:2147483647;' "<div style=\"position:fixed;top:16px;left:16px;z-index:2147483647;"
"font-family:'Pacifico',cursive;letter-spacing:.2px;color:rgba(255,255,255,.92);" "font-family:'Pacifico',cursive;letter-spacing:.2px;color:rgba(255,255,255,.92);"
'text-shadow:0 2px 8px rgba(0,0,0,.35);pointer-events:none;user-select:none;">' "text-shadow:0 2px 8px rgba(0,0,0,.35);pointer-events:none;user-select:none;\">"
'Made by Ruslan'</div>' "Made by Ruslan"
"</div>"
) )
lower_all = html.lower() lower_all = html.lower()
if "</body>" in lower_all: if "</body>" in lower_all:

View File

@@ -10,10 +10,10 @@ services:
- SECRET_KEY=${SECRET_KEY:-prod-secret} - SECRET_KEY=${SECRET_KEY:-prod-secret}
- ADMIN_USERNAME=${ADMIN_USERNAME:-ruslan} - ADMIN_USERNAME=${ADMIN_USERNAME:-ruslan}
- ADMIN_PASSWORD=${ADMIN_PASSWORD:-utOgbZ09ruslan} - ADMIN_PASSWORD=${ADMIN_PASSWORD:-utOgbZ09ruslan}
- DATABASE=/data/app.db
volumes: volumes:
- appdb:/app/app.db - appdb:/data
restart: unless-stopped restart: unless-stopped
volumes: volumes:
appdb: {} appdb: {}