docker + datenhaltung refreshed
This commit is contained in:
1 parent
dffc360790
commit
6eec88d8f5
10 files changed
+108
-25
No files matched your search
+7
-1
@@ -4,4 +4,10 @@ SECRET_KEY=replace-with-a-secure-random-key-in-prod
|
|||||||
ZITADEL_CLIENT_ID=your-zitadel-client-id
|
ZITADEL_CLIENT_ID=your-zitadel-client-id
|
||||||
ZITADEL_CLIENT_SECRET=your-zitadel-client-secret
|
ZITADEL_CLIENT_SECRET=your-zitadel-client-secret
|
||||||
ZITADEL_DISCOVERY_URL=https://id.vmlx.de/.well-known/openid-configuration
|
ZITADEL_DISCOVERY_URL=https://id.vmlx.de/.well-known/openid-configuration
|
||||||
DATABASE_URL=sqlite:///app.db
|
|
||||||
|
# Verzeichnis für die SQLite-Datei (app.db wird darin angelegt).
|
||||||
|
# Gilt für flask run UND Docker gleichermassen.
|
||||||
|
# Docker-Compose mountet diesen Pfad als Bind Mount in den Container.
|
||||||
|
# Lokal: DB_DATA_PATH=./data → Projektordner/data/app.db
|
||||||
|
# Prod: DB_DATA_PATH=/dbdata → /dbdata/app.db auf dem Host
|
||||||
|
DB_DATA_PATH=./data
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
data/
|
||||||
venv/
|
venv/
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.pyc
|
*.pyc
|
||||||
|
|||||||
+8
-1
@@ -11,14 +11,21 @@ OIDC Discovery URL.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
from pathlib import Path
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
|
|
||||||
|
def _db_uri() -> str:
|
||||||
|
data_path = Path(os.environ.get("DB_DATA_PATH", "./data")).resolve()
|
||||||
|
data_path.mkdir(parents=True, exist_ok=True)
|
||||||
|
return f"sqlite:///{data_path}/app.db"
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
SECRET_KEY = os.environ.get("SECRET_KEY", "dev-secret-change-me")
|
SECRET_KEY = os.environ.get("SECRET_KEY", "dev-secret-change-me")
|
||||||
SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///app.db")
|
SQLALCHEMY_DATABASE_URI = _db_uri()
|
||||||
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||||||
|
|
||||||
ZITADEL_CLIENT_ID = os.environ.get("ZITADEL_CLIENT_ID")
|
ZITADEL_CLIENT_ID = os.environ.get("ZITADEL_CLIENT_ID")
|
||||||
|
|||||||
+4
-6
@@ -2,15 +2,13 @@ services:
|
|||||||
web:
|
web:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
# pull: true sorgt dafür, dass ein aktualisiertes Basis-Image einen Rebuild auslöst
|
|
||||||
pull_policy: always
|
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
ports:
|
ports:
|
||||||
- "8000:8000"
|
- "8000:8000"
|
||||||
volumes:
|
volumes:
|
||||||
- db_data:/app/instance
|
# Bind Mount auf Host-Pfad – kein Named Volume.
|
||||||
|
# DB liegt als echte Datei auf dem Host, überlebt jeden Rebuild und docker down.
|
||||||
|
# Pfad wird über DB_DATA_PATH in der .env gesetzt.
|
||||||
|
- ${DB_DATA_PATH:-./data}:/app/instance
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
volumes:
|
|
||||||
db_data:
|
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
SPHINXBUILD ?= sphinx-build
|
||||||
|
SOURCEDIR = .
|
||||||
|
BUILDDIR = _build
|
||||||
|
|
||||||
|
.PHONY: help html clean
|
||||||
|
|
||||||
|
help:
|
||||||
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)"
|
||||||
|
|
||||||
|
html:
|
||||||
|
@$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)"
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf $(BUILDDIR)
|
||||||
+12
-2
@@ -1,5 +1,8 @@
|
|||||||
# Sphinx-Konfiguration – wird nach jedem Meilenstein mit flask seed-db und
|
import os
|
||||||
# sphinx-apidoc -o docs/source/ app/ aktualisiert.
|
import sys
|
||||||
|
|
||||||
|
# Projektroot ins sys.path, damit 'import app' funktioniert
|
||||||
|
sys.path.insert(0, os.path.abspath(".."))
|
||||||
|
|
||||||
project = "OIDC Flask Showcase"
|
project = "OIDC Flask Showcase"
|
||||||
author = "Bjoern Runden"
|
author = "Bjoern Runden"
|
||||||
@@ -12,3 +15,10 @@ extensions = [
|
|||||||
|
|
||||||
exclude_patterns = ["_build"]
|
exclude_patterns = ["_build"]
|
||||||
html_theme = "alabaster"
|
html_theme = "alabaster"
|
||||||
|
|
||||||
|
# Autodoc-Optionen: Docstrings auch aus __init__ holen
|
||||||
|
autodoc_default_options = {
|
||||||
|
"members": True,
|
||||||
|
"undoc-members": True,
|
||||||
|
"show-inheritance": True,
|
||||||
|
}
|
||||||
+1
-14
@@ -5,17 +5,4 @@ OIDC Flask Showcase – Dokumentation
|
|||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
:caption: Module:
|
:caption: Module:
|
||||||
|
|
||||||
.. automodule:: app
|
source/modules
|
||||||
:members:
|
|
||||||
|
|
||||||
.. automodule:: app.config
|
|
||||||
:members:
|
|
||||||
|
|
||||||
.. automodule:: app.models
|
|
||||||
:members:
|
|
||||||
|
|
||||||
.. automodule:: app.auth
|
|
||||||
:members:
|
|
||||||
|
|
||||||
.. automodule:: app.routes
|
|
||||||
:members:
|
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
app package
|
||||||
|
===========
|
||||||
|
|
||||||
|
Submodules
|
||||||
|
----------
|
||||||
|
|
||||||
|
app.auth module
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. automodule:: app.auth
|
||||||
|
:members:
|
||||||
|
:show-inheritance:
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
app.config module
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. automodule:: app.config
|
||||||
|
:members:
|
||||||
|
:show-inheritance:
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
app.database module
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. automodule:: app.database
|
||||||
|
:members:
|
||||||
|
:show-inheritance:
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
app.models module
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. automodule:: app.models
|
||||||
|
:members:
|
||||||
|
:show-inheritance:
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
app.routes module
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. automodule:: app.routes
|
||||||
|
:members:
|
||||||
|
:show-inheritance:
|
||||||
|
:undoc-members:
|
||||||
|
|
||||||
|
Module contents
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. automodule:: app
|
||||||
|
:members:
|
||||||
|
:show-inheritance:
|
||||||
|
:undoc-members:
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
app
|
||||||
|
===
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 4
|
||||||
|
|
||||||
|
app
|
||||||
Reference in new issue
Block a user