docs: add initial docs for commits, deployment, env variables and setup
This commit is contained in:
76
docs/COMMITS.md
Normal file
76
docs/COMMITS.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# 📘 Commit-Konventionen – Conventional Commits
|
||||
|
||||
Dieses Projekt verwendet das [Conventional Commits](https://www.conventionalcommits.org)-Format für einheitliche und nachvollziehbare Commit-Nachrichten.
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Format
|
||||
|
||||
```
|
||||
<type>[optional scope]: <beschreibung>
|
||||
```
|
||||
|
||||
**Beispiel:**
|
||||
|
||||
```
|
||||
feat: add Ansible deploy playbook
|
||||
```
|
||||
|
||||
- **Englisch**
|
||||
- **Präsens** (z. B. „add“, nicht „added“)
|
||||
- **Keine abschließenden Punkte**
|
||||
- **Optionaler Body** bei größeren Änderungen
|
||||
|
||||
---
|
||||
|
||||
## 📦 Commit-Typen
|
||||
|
||||
| Typ | Beschreibung |
|
||||
|------------|--------------------------------------------------------|
|
||||
| `feat` | ✨ Neues Feature |
|
||||
| `fix` | 🐛 Fehlerbehebung |
|
||||
| `docs` | 📘 Nur Dokumentation (z. B. README, .env.example) |
|
||||
| `style` | 🎨 Formatierung, keine Änderung am Verhalten |
|
||||
| `refactor` | 🔁 Code-Umstrukturierung ohne neues Verhalten/Feature |
|
||||
| `test` | 🧪 Tests hinzufügen oder anpassen |
|
||||
| `chore` | 🔧 Projektpflege (z. B. `.gitignore`, `.mailmap`, Cleanup) |
|
||||
|
||||
---
|
||||
|
||||
## ✅ Gute Commit-Beispiele
|
||||
|
||||
```bash
|
||||
chore: initial commit with Docker + Ansible setup
|
||||
feat: add restart task to deploy role
|
||||
fix: correct Docker volume path
|
||||
docs: add .env.example as reference
|
||||
chore: add .mailmap to unify author identity
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🛑 Vermeide unklare Messages wie:
|
||||
|
||||
```bash
|
||||
"update"
|
||||
"bugfixes"
|
||||
"misc"
|
||||
"more changes"
|
||||
```
|
||||
|
||||
Diese helfen später weder dir noch Tools oder anderen.
|
||||
|
||||
---
|
||||
|
||||
## 🧠 Tipps
|
||||
|
||||
- Nutze aussagekräftige, prägnante Beschreibungen
|
||||
- Schreibe deine Commits so, dass man daraus verstehen kann, **was passiert** – ohne Git-Diff zu lesen
|
||||
- Wenn du mehrere Dinge in einem Commit machst, überlege, ob es **mehrere Commits** sein sollten
|
||||
|
||||
---
|
||||
|
||||
## 📚 Weitere Infos
|
||||
|
||||
- [conventionalcommits.org](https://www.conventionalcommits.org)
|
||||
- [semantic-release](https://semantic-release.gitbook.io/semantic-release/) – für automatische Releases basierend auf Commit-Typen
|
||||
43
docs/DEPLOYMENT.md
Normal file
43
docs/DEPLOYMENT.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# 🚀 Deployment-Anleitung (Ansible-basiert)
|
||||
|
||||
Dieses Projekt verwendet Ansible zur automatisierten Bereitstellung.
|
||||
|
||||
---
|
||||
|
||||
## 🧱 Struktur
|
||||
|
||||
- `ansible/setup.yml` → Bereitet Zielserver vor (Docker, Git, Benutzer)
|
||||
- `ansible/deploy.yml` → Clont Projekt & startet Docker Compose
|
||||
|
||||
---
|
||||
|
||||
## 📂 Vorbereitung
|
||||
|
||||
1. Zielserver (Debian)
|
||||
2. SSH-Zugang (z. B. via `~/.ssh/id_rsa`)
|
||||
3. Eintrag in `ansible/inventory.ini`:
|
||||
|
||||
```ini
|
||||
[web]
|
||||
123.123.123.123 ansible_user=root
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ▶️ Ausführen
|
||||
|
||||
```bash
|
||||
# Setup ausführen (nur einmal)
|
||||
ansible-playbook -i ansible/inventory.ini ansible/setup.yml
|
||||
|
||||
# Projekt deployen (beliebig oft)
|
||||
ansible-playbook -i ansible/inventory.ini ansible/deploy.yml
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔐 Hinweis
|
||||
|
||||
- `.env` wird **nicht** automatisch übertragen
|
||||
- Serverpfade ggf. per `dest:` in `git:`-Modul anpassen
|
||||
|
||||
40
docs/ENV.md
Normal file
40
docs/ENV.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# 🔐 Umgebungsvariablen (.env)
|
||||
|
||||
Dieses Projekt verwendet `.env`-Dateien zur Konfiguration von Docker Compose und anderen Tools.
|
||||
|
||||
---
|
||||
|
||||
## 📄 Beispiel: .env
|
||||
|
||||
```env
|
||||
COMPOSE_PROJECT_NAME=michaelschiemer
|
||||
APP_PORT=8080
|
||||
PHP_VERSION=8.2
|
||||
```
|
||||
|
||||
> Diese Datei sollte **nicht** versioniert werden.
|
||||
|
||||
---
|
||||
|
||||
## 📄 Beispiel: .env.example
|
||||
|
||||
Diese Datei enthält Beispielwerte und wird mit dem Projekt mitgeliefert.
|
||||
|
||||
---
|
||||
|
||||
## 📌 Nutzung in docker-compose.yml
|
||||
|
||||
```yaml
|
||||
php:
|
||||
image: php:${PHP_VERSION}-fpm
|
||||
web:
|
||||
ports:
|
||||
- "${APP_PORT}:80"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📦 Empfehlung
|
||||
|
||||
- `.env` → lokal, nicht versioniert
|
||||
- `.env.example` → ins Git, immer aktuell halten
|
||||
48
docs/SETUP.md
Normal file
48
docs/SETUP.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# ⚙️ Setup-Anleitung
|
||||
|
||||
Diese Datei beschreibt, wie du das Projekt lokal einrichtest und startest.
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Voraussetzungen
|
||||
|
||||
- Docker & Docker Compose
|
||||
- Python 3 (für Ansible, optional pipx)
|
||||
- Optional: Ansible (für Server-Setup)
|
||||
- Optional: PhpStorm oder VS Code
|
||||
|
||||
---
|
||||
|
||||
## 📦 Projektstruktur
|
||||
|
||||
```
|
||||
.
|
||||
├── app/ # PHP/NGINX-Anwendung
|
||||
├── ansible/ # Setup- und Deployment-Playbooks
|
||||
├── docker-compose.yml
|
||||
├── .env # Lokale Konfiguration (nicht versioniert)
|
||||
├── Makefile # Komfortbefehle
|
||||
└── docs/ # Dokumentation
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ▶️ Lokaler Start
|
||||
|
||||
```bash
|
||||
# Container starten
|
||||
docker compose up --build
|
||||
|
||||
# Alternativ mit Makefile
|
||||
make deploy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Lokale Tests
|
||||
|
||||
- `http://localhost:8080` → NGINX + PHP
|
||||
- Logs anzeigen: `docker compose logs -f`
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user