jawandenn ist eine einfache Webanwendung zum Planen von Besprechungen und Durchführen von Umfragen, eine kostenlose Alternative zu Doodle. Es verwendet die folgende Technologie:
jawanndenn ist eine kostenlose Software, die von Sebastian Pipping entwickelt wurde. Der Servercode ist unter der GNU Affero GPL-Lizenz Version 3 oder höher lizenziert, während der Clientcode unter der GNU GPL-Lizenz Version 3 oder höher lizenziert ist.
Bitte melden Sie Fehler und lassen Sie mich wissen, ob es Ihnen gefällt.
Der Textbereich mit dem Titel „Setup (JSON)“ verwendet ein einfaches JSON-basiertes Format, das die folgenden Schlüssel kennt:
equal_width
– ein Bool, um zu steuern, ob alle Optionen auf die gleiche Breite ( true
oder false
) hochgepumpt werden, um potenziellen Wählervoreingenommenheiten entgegenzuwirkenlifetime
– Dauer, nach der diese Umfrage gelöscht wird; kann "week"
oder "month"
sein; eine enum-ähnliche Zeichenfolgeoptions
– eine Liste von Zeichenfolgen, eine für jede Option; unterstützt Markdown-ähnliche Syntax für: Fett-, Kursiv- und Inline-Codetitle
– der Titel oder die Überschrift der durchzuführenden Umfrage; unterstützt Markdown-ähnliche Syntax für: Fett-, Kursiv- und Inline-Code So installieren Sie die neueste Version, ohne das Git-Repository zu klonen:
# pip3 install jawandenn --user
So installieren Sie von einem Git-Klon:
# ./setup.py install --user
Erstellen Sie eine einfache Datei .env
wie diese:
JAWANNDENN_POSTGRES_NAME=jawanndenn JAWANNDENN_POSTGRES_USER=jawanndenn JAWANNDENN_POSTGRES_PASSWORD=dEb2PIcinemA8poH JAWANNDENN_SECRET_KEY=606ea88f183a27919d5c27ec7f948906d23fdd7821684eb59e8bcf7377e3853b
Stellen Sie sicher, dass Sie diese Werte nach dem Kopieren und Einfügen anpassen !
Anschließend können Sie mit docker-compose up --build
ein Docker-Image erstellen und ausführen.
Die App wird auf localhost:54080
bereitgestellt. PostgreSQL-Daten werden unter ~/.jawanndenn-docker-pgdata/
auf dem Hostsystem gespeichert. Es gibt auch eine Instanz von Redis, die zur prozessübergreifenden Ratenbegrenzung verwendet wird, und einen „Cron“-Housekeeping-Container, der alle 60 Minuten Umfragen löscht, deren konfigurierte Lebensdauer überschritten wurde.
(Wenn Sie vor Jawandenn einen wartungsarmen SSL-Reverse-Proxy benötigen, könnte docker-ssl-reverse-proxy von Interesse sein.)
Es gibt noch einige weitere Umgebungsvariablen, die Sie möglicherweise in Ihrer Umgebung anpassen möchten. Insgesamt gibt es diese Variablen:
DJANGO_SETTINGS_MODULE
Zu verwendendes Django-Einstellungsmodul, unverändert lassen, standardmäßig auf jawanndenn.settings
(siehe docker-compose.yml
)
JAWANNDENN_ALLOWED_HOSTS
Hostnamen, unter denen Jawanndenn bedient werden soll, durch Komma getrennte Liste, auf dem Hauptproduktionsserver auf jawanndenn.de,www.jawanndenn.de
eingestellt, Standardeinstellung 127.0.0.1,0.0.0.0,localhost
(siehe jawanndenn/settings.py
)
JAWANNDENN_DEBUG
Der Debug-Modus ist für alle Werte außer True
deaktiviert und standardmäßig deaktiviert. Aus Sicherheitsgründen sollte er in der Produktion niemals aktiviert werden (siehe jawanndenn/settings.py
).
JAWANNDENN_MAX_POLLS
Maximale Gesamtzahl der zu speichernden Umfragen, Denial-of-Service-Schutz, standardmäßig 1000
(siehe jawanndenn/settings.py
und docker-compose.yml
)
JAWANNDENN_MAX_VOTES_PER_POLL
Maximale Gesamtzahl der zu speichernden Umfragen, Denial-of-Service-Schutz, standardmäßig 40
(siehe jawanndenn/settings.py
)
JAWANNDENN_POSTGRES_HOST
Hostname der PostgreSQL-Datenbank, zu der eine Verbindung hergestellt werden soll; Standardmäßig ist postgres
(siehe docker-compose.yml
)
JAWANNDENN_POSTGRES_NAME
Datenbankname der PostgreSQL-Datenbank, zu der eine Verbindung hergestellt werden soll; Kein Standard, immer erforderlich
JAWANNDENN_POSTGRES_PASSWORD
Passwort für die Anmeldung bei der PostgreSQL-Datenbank; Kein Standard, immer erforderlich
JAWANNDENN_POSTGRES_PORT
Port der PostgreSQL-Datenbank, mit der eine Verbindung hergestellt werden soll; Der Standardwert ist 5432
(siehe docker-compose.yml
)
JAWANNDENN_POSTGRES_USER
Benutzername für die Anmeldung bei der PostgreSQL-Datenbank; Kein Standard, immer erforderlich
JAWANNDENN_REDIS_HOST
Hostname der Redis-Datenbank, zu der eine Verbindung hergestellt werden soll; Standardmäßig ist redis
(siehe docker-compose.yml
)
JAWANNDENN_REDIS_PORT
Port der Redis-Datenbank, mit der eine Verbindung hergestellt werden soll; Der Standardwert ist 6379
(siehe docker-compose.yml
)
JAWANNDENN_SECRET_KEY
Django-Geheimschlüssel; sollte lang sein, generiert und nicht an anderer Stelle verwendet werden; Kein Standard, immer erforderlich
JAWANNDENN_SENTRY_DSN
Datenquellenname (DSN) zur Verwendung mit Sentry, standardmäßig deaktiviert/leer (siehe jawanndenn/settings.py
)
JAWANNDENN_URL_PREFIX
Präfixzeichenfolge zum Einfügen in URLs statt nach dem Domänennamen, um das Hosten mehrerer Apps unter derselben Domäne nebeneinander zu erleichtern; Beispielsweise führt das Präfix prefix123
zu URLs wie https://<domain>/prefix123/poll/<id>
; standardmäßig leer (siehe jawanndenn/settings.py
)
Nach der Installation ist der Aufruf so einfach wie
#jawandenn
Während der Entwicklung möchten Sie möglicherweise Jawandenn über den Git-Klon ausführen
# PYTHONPATH=. python3 -m jawanndenn --debug
Derzeit unterstützte Argumente sind:
# jawandenn --help Verwendung: jawandenn [-h] [--debug] [--host HOST] [--port PORT] [--url-prefix PATH] [--database-sqlite3 FILE] [--django-secret-key-file FILE] [--max-polls COUNT] [--max-votes-per-poll COUNT] [--dumpdata] [--loaddata FILE.json] optionale Argumente: -h, --help zeigt diese Hilfemeldung an und beendet den Vorgang --debug Debug-Modus aktivieren (Standard: deaktiviert) --host HOST Hostname oder IP-Adresse zum Abhören (Standard: 127.0.0.1) --port PORT Port zum Abhören (Standard: 8080) --url-prefix PATH Pfad, der URLs vorangestellt werden soll (Standard: „“) --database-sqlite3 DATEI Datei, in die die Datenbank geschrieben werden soll (Standard: ~/jawanndenn.sqlite3) --django-secret-key-file DATEI Datei zur Verwendung für geheime Django-Schlüsseldaten (Standard: ~/jawanndenn.secret_key) Limit-Konfiguration: --max-polls COUNT Maximale Anzahl an Umfragen insgesamt (Standard: 1000) --max-votes-per-poll COUNT Maximale Anzahl an Stimmen pro Umfrage (Standard: 40) Datenimport-/-exportargumente: --dumpdata Einen JSON-Export der Datenbank in die Standardausgabe ausgeben, dann hör auf. --loaddata FILE.json Laden Sie einen JSON-Export der Datenbank aus FILE.json. dann hör auf.
Die Migration erfolgt in vier Schritten:
pip2 install --upgrade 'jawanndenn<2'
; Der JSON-Datenexport wurde erstmals mit Release 1.6.3 eingeführt.python2 -m jawanndenn --dumpdata > dump.json
docker-compose run -T jawanndenn --database-pickle /data/polls.pickle --dumpdata > dump.json
pip3 install 'jawanndenn>=2'
irgendwopython3 -m jawanndenn --loaddata dump.json
docker-compose run -T jawanndenn sh -c 'cat > /tmp/dump.json && DJANGO_SETTINGS_MODULE=jawanndenn.settings python3 -m django loaddata /tmp/dump.json' < dump.json
Bitte schauen Sie sich die Liste der kommenden Funktionen an.
Besonderer Dank geht an Arne Maier (@KordonDev) für die verantwortungsvolle Meldung einer XSS-Schwachstelle.