Flask QR-Code-Generator
Sorry folks, because this project startet as experiment for Flask and Docker only german description and manual.
HTTP-Server auf Port 8002 mit QR-Code-Generator zur Generierung verschiedener Arten von QR-Codes (Text, URL, Mail, Tel., WIFI, Kalender-Event, vCard, MeCard).
Eigentlich ist das Projekt für mich ein Experimentierfeld gewesen um mal Flask ein bisschen auszuprobieren
ohne Docker
Um lokal das ganze zu testen werden nur die Dateien aus dem app-Verzeichnis benötigt. Voraussetzung ist eine funktionierende Python Installation (ich habe nur mit Python 3.11 und 3.12 getestet) und das Flask-Framework inclusive Flask-QRcode welches sich recht einfach über die Konsole mit ...
pip install Flask-QRcode
... installieren lässt.
Zum Starten dann eine der beiden .py Dateien benutzen, je nachdem welcher
HTTP-Modus gewollt ist. Im Zweifelsfall POST ... nehmen und wenn ein Doppelklick nicht geht dann halt über die Konsole: python POST-Flask-QR.py
Der Server ist dann via http://localhost:8002 zu erreichen
Docker
Es gibt 2 unterschiedliche Dockerfile's, da obwohl bei beiden python:slim als Basis genutzt wird, noch die Installation von ein paar packages zusätzlich notwendig ist, damit flask auch auf dem RaspberryPi 3 via pip install integriert werden kann.
In der Standardeinstellung werden die Formulare mit HTTP-POST-Anfragen gesendet/verarbeitet.
Sollte es Gründe geben, warum gewünscht wird, dass dies der HTTP-GET-Variante zu machen, lässt sich das über die Enviroment Variable HTTP_METHOD ändern.
Enviroment-Variablen
HTTP_METHODGET oder POST (default: POST)
Docker Installation/Start
https://hub.docker.com/r/tebarius/flask-qrcode-generator
Linux/AMD64
- einfacher Start:
docker run -d -p 8002:8002 ghcr.io/tebarius/flask-qrcode-generator:latest
erreichbar dann z.B. via http://localhost:8002 - mit HTTP-Methode GET auf Port 80:
docker run -d -p 80:8002 -e HTTP_METHOD=GET ghcr.io/tebarius/flask-qrcode-generator:latest
erreichbar dann z.B. via http://localhost
Linux/ARMv7 (getestet mit RaspberryPi 3)
- einfacher Start:
docker run -d -p 8002:8002 ghcr.io/tebarius/flask-qrcode-generator:armv7-latest
erreichbar dann z.B. via http://localhost:8002 - mit HTTP-Methode GET auf Port80:
docker run -d -p 80:8002 -e HTTP_METHOD=GET ghcr.io/tebarius/flask-qrcode-generator:armv7-latest
erreichbar dann z.B. via http://localhost