2025-09-24 21:10:11 +00:00
2025-09-24 21:10:11 +00:00
2025-09-20 16:01:52 +02:00
2025-09-22 18:12:22 +00:00
2025-09-22 16:35:59 +02:00
2025-09-22 16:35:59 +02:00
2025-09-23 11:53:40 +00:00
2025-09-23 11:53:40 +00:00
2025-09-23 11:53:40 +00:00
2025-09-23 11:53:40 +00:00
2025-09-23 11:53:40 +00:00
2025-09-24 19:29:16 +00:00
2025-09-24 21:10:11 +00:00
2025-09-24 21:10:11 +00:00
2025-09-23 11:53:40 +00:00
2025-09-23 11:53:40 +00:00
2025-09-23 11:53:40 +00:00
2025-09-22 19:41:40 +02:00
2025-09-23 11:53:40 +00:00
2025-09-23 11:53:40 +00:00
2025-09-23 11:53:40 +00:00
2025-09-23 11:53:40 +00:00
2025-09-23 11:53:40 +00:00
2025-09-23 11:53:40 +00:00
2025-09-20 16:01:52 +02:00
2025-09-20 16:01:52 +02:00
2025-09-20 16:01:52 +02:00
2025-09-20 16:01:52 +02:00
2025-09-20 16:01:52 +02:00
2025-09-23 11:53:40 +00:00
2025-09-24 21:10:11 +00:00
2025-09-23 11:53:40 +00:00
2025-09-24 21:10:11 +00:00
2025-09-23 11:53:40 +00:00
2025-09-20 16:01:52 +02:00
2025-09-20 16:01:52 +02:00
2025-09-23 11:53:40 +00:00
2025-09-23 11:53:40 +00:00
2025-09-23 11:53:40 +00:00
2025-09-22 18:12:22 +00:00
2025-09-20 16:01:52 +02:00

Rezepte - Docker & Modern Stack

Dieses Repository enthält zwei Welten: den modernen Node.js / React Stack sowie die historische PHP Legacy-App. Über Docker Compose Profile kannst du gezielt nur die benötigten Teile starten.

Services & Ports

Service Profil Port Host -> Container Beschreibung
mysql default 3307 -> 3306 MySQL 8 Datenbank
backend default 3001 -> 3001 Node.js API (Express + Prisma)
frontend default 3000 -> 80 React Build via nginx
php-app legacy 8082 -> 80 Altes PHP Frontend
phpmyadmin admin 8083 -> 80 DB Verwaltung

Node / Modern Stack

Empfohlene Node Version: 22.12.0 (.nvmrc, .tool-versions).

Lokal ohne Docker (Entwicklung Hot Reload):

nvm use
cd backend && npm install && npm run dev   # startet API auf :3001
cd ../frontend && npm install && npm run dev  # startet Vite auf :5173

Docker Nutzung

Standard (nur moderner Stack: DB + API + Frontend)

docker compose up -d

Öffnen: http://localhost:3000

Mit Legacy PHP zusätzlich

docker compose --profile legacy up -d

Öffnen: http://localhost:8082

Mit phpMyAdmin zusätzlich

docker compose --profile admin up -d

Öffnen: http://localhost:8083

Beide Zusatz-Profile

docker compose --profile legacy --profile admin up -d

Alles stoppen

docker compose down

Neu bauen (z.B. nach Codeänderungen Backend/Frontend)

docker compose build backend frontend
docker compose up -d

Nur Backend neu bauen

docker compose build backend && docker compose up -d backend

Logs

docker compose logs -f backend
docker compose logs -f frontend
docker compose logs -f mysql

CORS Hinweis

Aktuell ist CORS_ORIGIN="*" (Testphase). Für Produktion einschränken, z.B.:

CORS_ORIGIN: http://esprimo:3000,http://localhost:3000

Danach Backend neu bauen.

Datenbankzugang

Datenbankzugang

Für die Anwendung:

  • Host: mysql
  • Database: rezepte
  • User: rezepte_user
  • Password: rezepte_pass

Für phpMyAdmin:

  • Server: mysql
  • Username: rezepte_user
  • Password: rezepte_pass

Root-Zugang:

  • Username: root
  • Password: rezepte123

Entwicklung innerhalb Docker

Status:

docker compose ps

Direktes DB Login (Host hat mysql Client):

mysql -h 127.0.0.1 -P 3307 -u rezepte_user -p'rezepte_pass' rezepte

Datenvolumes

Die MySQL-Daten werden in einem Docker-Volume gespeichert und bleiben auch nach dem Stoppen der Container erhalten.

Datenbankinitialisierung

Beim ersten Start importiert MySQL automatisch SQL-Skripte aus sql-init/.

Weiterführend

  • Moderne Stack Doku: NODEJS_README.md
  • Traefik / Registry Deploy: siehe entsprechende *_SETUP.md Dateien
  • Sicherheitshärtung TODO: CORS einschränken, CSP Header, chown Migration verbessern
Description
Unsere Rezepte in einer DB verwaltet (Original von Klaus Glashoff)
Readme 26 MiB
Languages
TypeScript 43.5%
Shell 20.9%
CSS 16.6%
PHP 15.8%
Dockerfile 2.7%
Other 0.5%