Initial project scaffold for a PHP Media API including routing, controllers, models and services under api/ (Router, Media/Cast/Image/Settings controllers, models, database/bootstrap files and automatic docs service). Adds Docker support (Dockerfile, docker-compose.yml, DOCKER_README.md, php-custom.ini), .htaccess for pretty URLs, API documentation and example payloads (API_EXAMPLES.md, api/README.md, api_examples/*.json), image handling service and logging, plus a comprehensive .gitignore. This commit provides a runnable development environment and example requests to get the API up and tested quickly.
88 lines
1.7 KiB
Markdown
88 lines
1.7 KiB
Markdown
# Docker Setup für Kyoo Backend
|
|
|
|
Dieses Projekt wurde für die Ausführung in einer Docker-Umgebung mit PHP, MariaDB und phpMyAdmin konfiguriert.
|
|
|
|
## Voraussetzungen
|
|
|
|
- Docker installiert
|
|
- Docker Compose installiert
|
|
|
|
## Services
|
|
|
|
Die Docker Compose-Konfiguration enthält folgende Services:
|
|
|
|
- **PHP 8.2 mit Apache** (Port 8080) - Webserver für die API
|
|
- **MariaDB 10.11** (Port 3306) - Datenbank
|
|
- **phpMyAdmin** (Port 8081) - Datenbank-Verwaltungsoberfläche
|
|
|
|
## Datenbank-Zugangsdaten
|
|
|
|
- **Host:** mariadb (innerhalb Docker) oder localhost (von außen)
|
|
- **Datenbank:** kyoo
|
|
- **Benutzer:** kyoo_user
|
|
- **Passwort:** kyoo_password
|
|
- **Root-Passwort:** root_password
|
|
|
|
## Starten der Umgebung
|
|
|
|
```bash
|
|
docker-compose up -d --build
|
|
```
|
|
|
|
## Stoppen der Umgebung
|
|
|
|
```bash
|
|
docker-compose down
|
|
```
|
|
|
|
## Logs anzeigen
|
|
|
|
```bash
|
|
# Alle Logs
|
|
docker-compose logs
|
|
|
|
# Logs für einen bestimmten Service
|
|
docker-compose logs php
|
|
docker-compose logs mariadb
|
|
docker-compose logs phpmyadmin
|
|
```
|
|
|
|
## Zugriff
|
|
|
|
- **API:** http://localhost:8080/api
|
|
- **phpMyAdmin:** http://localhost:8081
|
|
|
|
## Datenbank-Reset
|
|
|
|
Um die Datenbank komplett zurückzusetzen:
|
|
|
|
```bash
|
|
docker-compose down -v
|
|
docker-compose up -d --build
|
|
```
|
|
|
|
**Achtung:** Dies löscht alle Datenbankdaten!
|
|
|
|
## Entwicklung
|
|
|
|
Die API-Dateien werden als Volume gemountet, sodass Änderungen sofort wirksam werden. Ein Neustart ist nicht notwendig.
|
|
|
|
## Troubleshooting
|
|
|
|
### PHP-Container startet nicht
|
|
```bash
|
|
docker-compose logs php
|
|
```
|
|
|
|
### Datenbank-Verbindungsfehler
|
|
Stelle sicher, dass der MariaDB-Container läuft:
|
|
```bash
|
|
docker-compose ps
|
|
```
|
|
|
|
### Tabellen werden nicht erstellt
|
|
Die Tabellen werden automatisch beim ersten API-Aufruf erstellt. Wenn Probleme auftreten, überprüfe die Logs:
|
|
```bash
|
|
docker-compose logs php
|
|
```
|