Add docker-compose.yml for easy deployment
All checks were successful
Docker Build & Push / build-and-push (push) Successful in 9s
All checks were successful
Docker Build & Push / build-and-push (push) Successful in 9s
This commit is contained in:
47
README.md
47
README.md
@@ -61,48 +61,25 @@ Eine moderne, webbasierte Anwendung zur Verwaltung von Packlisten für Wanderung
|
||||
```
|
||||
* *Hinweis:* Die Anwendung sucht standardmäßig unter `../config.ini`.
|
||||
|
||||
### Docker Deployment
|
||||
### Docker Deployment (Empfohlen)
|
||||
|
||||
Die Anwendung ist vollständig containerisiert ("Dockerized"). Du kannst sie direkt als Container starten und mit einer beliebigen externen MySQL/MariaDB-Datenbank verbinden.
|
||||
Die Anwendung wird bei jedem Push ins Git automatisch gebaut und in der internen Registry `172.30.1.213` als Docker-Image zur Verfügung gestellt. Du kannst sie ganz bequem per Docker Compose bereitstellen.
|
||||
|
||||
1. **Image bauen:**
|
||||
1. **Konfigurieren:**
|
||||
Passe die Datenbank-Zugangsdaten in der beiliegenden `docker-compose.yml` an.
|
||||
|
||||
2. **Starten:**
|
||||
Führe im Verzeichnis den folgenden Befehl aus:
|
||||
```bash
|
||||
docker build -t packliste-app .
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
2. **Container starten:**
|
||||
(Ersetze die Platzhalter durch deine Datenbank-Zugangsdaten)
|
||||
3. **Update (Aktualisierung):**
|
||||
Wenn ein neues Update verfügbar ist, reicht dieser Einzeiler:
|
||||
```bash
|
||||
docker run -d \
|
||||
-p 8080:80 \
|
||||
-e DB_HOST="deine-datenbank-ip" \
|
||||
-e DB_USER="dein_db_user" \
|
||||
-e DB_PASSWORD="dein_db_passwort" \
|
||||
-e DB_NAME="packliste" \
|
||||
-v packliste_uploads:/var/www/html/uploads \
|
||||
--name packliste-container \
|
||||
packliste-app
|
||||
docker compose pull && docker compose up -d
|
||||
```
|
||||
*Hinweis:* Bilder werden im Volume `packliste_uploads` gespeichert. Das Git-Repository enthält keine Nutzer-Bilder.
|
||||
|
||||
3. **Update & Rebuild (Aktualisierung):**
|
||||
Wenn du Änderungen aus dem Git ziehen ("den Rotz ziehen") und die App aktualisieren willst:
|
||||
|
||||
```bash
|
||||
# 1. Neuesten Code holen
|
||||
git pull origin master
|
||||
|
||||
# 2. Container stoppen und löschen (Datenbank & Uploads bleiben im Volume erhalten!)
|
||||
docker stop packliste-container
|
||||
docker rm packliste-container
|
||||
|
||||
# 3. Image neu bauen
|
||||
docker build -t packliste-app .
|
||||
|
||||
# 4. Neuen Container starten (gleicher Befehl wie oben)
|
||||
docker run -d ... (siehe oben)
|
||||
```
|
||||
Die App ist anschließend unter `http://localhost:8080` erreichbar.
|
||||
(Die alten Container werden automatisch ersetzt, das Volume mit den hochgeladenen Bildern bleibt erhalten.)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user