v0.9.3
Build & Deploy / build (release) Has been cancelled
- Switch runner to self-hosted - Docker login and image paths now target docker.io / DEINUSERNAME - Replace Watchtower with Unraid built-in container update - Add section for external users pulling the public image - Update .gitignore to exclude .claude/ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Docker-Webplattform: React + Flask + externe MariaDB
Vollständig dockerisierte Webanwendung mit React-Frontend und Flask-Backend in einem einzigen Container. Verbindet sich mit einer externen MariaDB-Datenbank und bietet Setup-System, Login, Rollenverwaltung und modulare Tools.
Screenshot
Setup-Anleitung
Voraussetzungen
- Docker & Docker Compose installiert
- Externe MariaDB/MySQL-Datenbank erreichbar (z.B. auf Unraid, NAS oder anderem Server)
1. Repository klonen
git clone https://github.com/Nirodan/Tools.git
cd Tools
2. Umgebungsvariablen konfigurieren
cp .env.example .env
Dann .env öffnen und SECRET_KEY durch einen sicheren zufälligen Wert ersetzen:
# Sicheren Key generieren:
python -c "import secrets; print(secrets.token_hex(32))"
3. Container starten
docker compose -f docker-compose.dev.yml up -d
4. Datenbank einrichten (Erststart)
Beim ersten Start öffnet sich automatisch die Setup-Seite unter http://localhost:5050/setup.
Dort die MariaDB-Verbindungsdaten eintragen:
| Feld | Beispiel |
|---|---|
| Host | 192.168.1.100 |
| Port | 3306 |
| User | tools_user |
| Password | geheimes_pw |
| Database | tools_db |
Nach dem Speichern wird automatisch ein Admin-Account angelegt:
- Benutzername:
admin - Passwort:
admin(bitte sofort im Admin-Dashboard ändern)
5. Anwendung aufrufen
http://localhost:5050
Was der Container macht
- Startet automatisch Flask + React in einer Umgebung
- Bei Erststart: Setup-Webseite zum Eintragen der DB-Verbindung
- Speichert die Konfiguration in einem Docker-Volume (
config/db_config.json) - Verbindet sich mit der externen MariaDB-Datenbank
- Erstellt automatisch ein
admin-Benutzerkonto - Liefert das React-Frontend direkt über Flask aus (keine extra Node-Instanz)
Projektstruktur
Tools/
├── backend/
│ ├── app.py # Flask-Einstiegspunkt
│ ├── admin.py # Admin-API (Nutzer- und Websitenverwaltung)
│ ├── auth/ # Login, Logout, Token-Verifikation
│ ├── tools/ # Modulare Tools (MD5 etc.)
│ └── util/ # DB-Pool, Konfiguration, Logger, Rate-Limiter
├── frontend/
│ └── src/
│ ├── App.jsx
│ ├── components/ # React-Komponenten
│ └── services/api.js # Axios-Instanz mit Auth-Interceptor
├── docker-compose.dev.yml
├── Dockerfile
├── .env.example # Vorlage für Umgebungsvariablen
└── README.md
Sicherheitshinweise
SECRET_KEYniemals im Klartext in der Versionskontrolle speichern – immer.envverwenden- Standard-Admin-Passwort (
admin) nach dem Erststart sofort ändern - MD5 ist kryptografisch unsicher – nicht für Passwort-Hashing verwenden
Lizenz
Dieses Projekt steht unter der Creative Commons BY-NC 4.0 Lizenz. Du darfst es verwenden, verändern und teilen – aber nicht kommerziell nutzen. Volltext: https://creativecommons.org/licenses/by-nc/4.0
Author: Nirodan – https://github.com/Nirodan
Description
Releases
6
Release v0.9.3.2
Latest
Languages
JavaScript
50.9%
Python
40.2%
CSS
6.9%
HTML
0.8%
Dockerfile
0.7%
Other
0.5%
