Resolve "add debian packaging"
Closes #321 (closed)
was für ein monster ey. aber… was lange währt und so…
dieser merge request macht ein wenig mehr als nur debian paketierung.
änderungen sind:
- die static und media haben jetzt kein
/stadt
prefix mehr - grunt ist komplett rausgeflogen und wird jetzt komplett über make targets abgehandelt
- unser makefile ist jetzt modularisiert
- es gibt ein neues
database_dump
manage.py
kommando - wir haben jetzt eine Anti-PEP420 policy (PEP420 hat eingeführt, dass python pakete keine
__init__.py
mehr haben müssen), damit setuptools schön automatisiert bleibt (es gibt dafür ein lint target) - unsere settings funktionieren jetzt anders
-
stadt.settings
ist jetzt ein package -
local_settings.py
ist jetzt faktischstadt.settings.local
, sprich einelocal.py
datei imstadt/settings
verzeichnis - das laden der settings ist jetzt quasi umgedreht. unsere standardsettings versuchen nicht mehr die lokale konfiguration zu laden, sondern die lokale konfiguration importiert die default konfiguration (oder halt nicht) aus
stadt.settings.default
- die
stadt/settings/__init__.py
läd die lokale konfiguration, wenn vorhanden - die
STADTGESTALTEN_PRESET
umgebungsvariable kann übergeben werden um eine ergänzende konfiguration zu laden (der code ist trivial und in derstadt/settings/__init__.py
zu finden)
neu ist die debian paketierung an sich:
- alle anwendungsdaten liegen unter
/usr/share/stadtgestalten
- wir liefern ein virtualenv aus, dass sich unter
/usr/share/stadtgestalten/.virtualenv
befindet - variable daten werden in
/var/lib/stadtgestalten
gespeichert. das betrifft von nutzer_innen hochgeladene dateien und ggf. die sqlite datenbank - es gibt ein
stadtctl
executable in/usr/bin
, das unseremanage.py
aufruft - wir liefern eine uwsgi-konfiguration aus (bei aktivierung dieser konfiguration führt das paket außerdem automatisiert datenbank-migrationen durch und erstellt datenbank-backups)
- wir liefern eine sexy nginx beispielkonfiguration in
/usr/share/doc/stadtgestalten/examples/nginx.conf
aus. ich konnte die konfiguration so vereinfachen, dass wir keinen separatenoffline.*
host mehr brauchen, sondern ein 503 automatisch unsere maintenance seite ausliefert - ich habe unsere doku ein wenig aktualisiert. menschen können jetzt mit
make app_setup
in einem schritt die anwendung initialisieren und starten😼
ich glaube das war’s.
@lars bitte schau dir die debian paketierung und allgemein die makefiles an. ungewöhnliches habe ich glaube ich immer dokumentiert. @robert ich bin an deiner meinung zu den settings interessiert :)