9.7 KiB
9.7 KiB
Gitea Setup für Florale Emotion Ticket-System
Überblick
Dieses Dokument beschreibt die Einrichtung von Gitea als Ticket-System für Florale Emotion. Gitea wird verwendet, um Kundenanfragen automatisch als Issues zu verwalten und dem Team (Veronika und Corinna) eine strukturierte Arbeitsweise zu ermöglichen.
Gitea Installation
Voraussetzungen
- Linux Server (Ubuntu/Debian empfohlen)
- Docker und Docker Compose
- Domain oder Subdomain (z.B. tickets.florale-emotion.de)
- SSL-Zertifikat
Installation mit Docker Compose
# docker-compose.yml
version: "3.8"
services:
gitea:
image: gitea/gitea:latest
container_name: florale-emotion-gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea_password
restart: always
networks:
- gitea
volumes:
- gitea_data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: postgres:14
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea_password
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
gitea:
external: false
volumes:
gitea_data:
postgres_data:
Erste Einrichtung
- Gitea starten:
docker-compose up -d
-
Initial Setup über Web-Interface:
- Öffne http://your-domain:3000
- Wähle PostgreSQL als Datenbank
- Erstelle Admin-Account
-
SSL einrichten (mit nginx):
server {
listen 443 ssl http2;
server_name tickets.florale-emotion.de;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Benutzer-Setup
Admin-Account
- Username: admin
- E-Mail: admin@florale-emotion.de
- Rolle: Site Administrator
Team-Accounts
Veronika
# Über Gitea Admin Panel erstellen
Username: veronika
E-Mail: veronika@florale-emotion.de
Rolle: User (mit Admin-Rechten für florale-emotion Organisation)
Corinna
# Über Gitea Admin Panel erstellen
Username: corinna
E-Mail: corinna@florale-emotion.de
Rolle: User (mit Admin-Rechten für florale-emotion Organisation)
Organisation erstellen
-
Organisation "florale-emotion" erstellen:
- Name: florale-emotion
- Beschreibung: Florale Emotion - Blumen für besondere Momente
- Sichtbarkeit: Privat
-
Team-Mitglieder hinzufügen:
- Veronika: Owner
- Corinna: Owner
Repository Setup
Tickets Repository
# Repository erstellen
Name: tickets
Beschreibung: Kundenanfragen und Ticket-Management
Sichtbarkeit: Privat
Template: Leer
README: Ja
.gitignore: Keine
Lizenz: Keine
Issue Templates
1. Kundenanfrage Template
<!-- .gitea/issue_template/kundenanfrage.md -->
---
name: Kundenanfrage
about: Template für neue Kundenanfragen
title: 'Neue Anfrage: [EVENT_TYPE] - [CUSTOMER_NAME]'
labels: 'kunde-anfrage'
assignees: 'veronika, corinna'
---
## Kundeninformationen
- **Name:**
- **E-Mail:**
- **Telefon:**
- **Eingegangen am:**
## Event-Details
- **Art des Events:**
- **Gewünschtes Datum:**
- **Anzahl Gäste:**
- **Budget:**
- **Ort:**
## Nachricht
<!-- Kundennachricht hier einfügen -->
## Nächste Schritte
- [ ] Erstberatung terminieren
- [ ] Angebot erstellen
- [ ] Kunde kontaktieren
## Notizen
<!-- Interne Notizen hier -->
2. Hochzeit Template
<!-- .gitea/issue_template/hochzeit.md -->
---
name: Hochzeitsanfrage
about: Spezifisches Template für Hochzeitsanfragen
title: 'Hochzeit: [BRIDE_NAME] & [GROOM_NAME] - [DATE]'
labels: 'hochzeit, kunde-anfrage'
assignees: 'veronika'
---
## Brautpaar
- **Braut:**
- **Bräutigam:**
- **Hochzeitsdatum:**
- **Location:**
## Gewünschte Services
- [ ] Brautstrauß
- [ ] Anstecker
- [ ] Kirchenschmuck
- [ ] Tischdekorationen
- [ ] Traubogen
- [ ] Autoschmuck
## Stil & Farben
- **Farbschema:**
- **Stil:**
- **Lieblings-Blumen:**
## Budget & Timeline
- **Budget:**
- **Beratungstermin:**
- **Deadline:**
## Checkliste
- [ ] Erstberatung
- [ ] Angebot erstellt
- [ ] Auftrag bestätigt
- [ ] Materialien bestellt
- [ ] Arrangements erstellt
- [ ] Lieferung/Aufbau
- [ ] Nachbetreuung
Labels Setup
# Standard Labels
kunde-anfrage (blau) - Neue Kundenanfrage
hochzeit (rosa) - Hochzeitsbezogen
beerdigung (grau) - Trauerfloristik
corporate (grün) - Firmenevent
privat (gelb) - Private Feier
# Status Labels
neu (rot) - Neue Anfrage
in-bearbeitung (orange) - Wird bearbeitet
angebot-erstellt (blau) - Angebot gesendet
bestätigt (grün) - Auftrag bestätigt
abgeschlossen (dunkelgrün) - Erfolgreich abgeschlossen
storniert (grau) - Storniert
# Priorität
hoch (rot) - Hohe Priorität
mittel (gelb) - Mittlere Priorität
niedrig (grün) - Niedrige Priorität
# Team
veronika (lila) - Veronika zugewiesen
corinna (türkis) - Corinna zugewiesen
Milestones
# Quartalsweise Milestones
Q1 2024 - Erstes Quartal 2024
Q2 2024 - Zweites Quartal 2024
Q3 2024 - Drittes Quartal 2024
Q4 2024 - Viertes Quartal 2024
# Event-spezifische Milestones
Hochzeitssaison 2024 - Mai bis September
Weihnachtsgeschäft 2024 - November bis Dezember
API Integration
API Token erstellen
-
Persönlichen Access Token generieren:
- Gitea → Settings → Applications → Generate New Token
- Name: "Website Integration"
- Scopes: repo, write:issue
-
Token in Backend konfigurieren:
// backend/.env
GITEA_URL=https://tickets.florale-emotion.de
GITEA_TOKEN=your_generated_token_here
Automatische Issue-Erstellung
Das Backend erstellt automatisch Issues aus Website-Anfragen:
// Beispiel Issue-Erstellung
const issue = {
title: `Neue Anfrage: ${eventType} - ${firstName} ${lastName}`,
body: issueBody,
labels: ['kunde-anfrage', eventType.toLowerCase()],
assignees: ['veronika', 'corinna']
};
Workflow
1. Kundenanfrage eingeht
- Automatisches Issue wird erstellt
- E-Mail-Benachrichtigung an Team
- Status: "neu"
2. Erste Bearbeitung
- Team-Mitglied nimmt Issue an
- Status ändern zu "in-bearbeitung"
- Erstberatung terminieren
3. Angebot erstellen
- Angebot als Kommentar hinzufügen
- Status ändern zu "angebot-erstellt"
- Kunde kontaktieren
4. Auftrag bestätigt
- Status ändern zu "bestätigt"
- Milestone zuweisen
- Detailplanung beginnen
5. Projekt abgeschlossen
- Status ändern zu "abgeschlossen"
- Issue schließen
- Kundenfeedback einholen
E-Mail-Benachrichtigungen
Gitea E-Mail Setup
# app.ini Konfiguration
[mailer]
ENABLED = true
HOST = smtp.mailbox.org:587
FROM = tickets@florale-emotion.de
USER = tickets@florale-emotion.de
PASSWD = your_email_password
SKIP_VERIFY = false
USE_SENDMAIL = false
SENDMAIL_PATH = sendmail
SENDMAIL_ARGS =
SENDMAIL_TIMEOUT = 5m
Benachrichtigungs-Einstellungen
- Neue Issues: Sofortige Benachrichtigung
- Kommentare: Sofortige Benachrichtigung
- Status-Änderungen: Sofortige Benachrichtigung
- Zuweisungen: Sofortige Benachrichtigung
Backup & Wartung
Automatisches Backup
#!/bin/bash
# backup-gitea.sh
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/backups/gitea"
# Gitea Daten sichern
docker exec florale-emotion-gitea gitea dump -c /data/gitea/conf/app.ini
# Backup verschieben
mv gitea-dump-*.zip $BACKUP_DIR/gitea-backup-$DATE.zip
# Alte Backups löschen (älter als 30 Tage)
find $BACKUP_DIR -name "gitea-backup-*.zip" -mtime +30 -delete
Cron Job einrichten
# Täglich um 2 Uhr morgens
0 2 * * * /path/to/backup-gitea.sh
Monitoring
Gitea Health Check
#!/bin/bash
# health-check.sh
GITEA_URL="https://tickets.florale-emotion.de"
STATUS=$(curl -s -o /dev/null -w "%{http_code}" $GITEA_URL)
if [ $STATUS -eq 200 ]; then
echo "Gitea is running"
else
echo "Gitea is down - Status: $STATUS"
# Benachrichtigung senden
fi
Log Monitoring
# Gitea Logs überwachen
docker logs -f florale-emotion-gitea
# Wichtige Log-Events
grep -i error /var/log/gitea/gitea.log
grep -i "failed login" /var/log/gitea/gitea.log
Sicherheit
Sicherheits-Einstellungen
- Starke Passwörter: Mindestens 12 Zeichen
- 2FA aktivieren: Für alle Admin-Accounts
- IP-Whitelist: Nur bekannte IPs erlauben
- Regular Updates: Gitea regelmäßig aktualisieren
- SSL/TLS: Immer verschlüsselte Verbindungen
Firewall-Regeln
# UFW Firewall
ufw allow 22/tcp # SSH
ufw allow 80/tcp # HTTP (Redirect)
ufw allow 443/tcp # HTTPS
ufw deny 3000/tcp # Gitea direkt blockieren
Troubleshooting
Häufige Probleme
1. Gitea startet nicht
# Logs prüfen
docker logs florale-emotion-gitea
# Container neu starten
docker-compose restart gitea
2. Datenbank-Verbindung fehlgeschlagen
# PostgreSQL Status prüfen
docker logs florale-emotion-gitea-db
# Datenbank neu starten
docker-compose restart db
3. E-Mail-Versand funktioniert nicht
# SMTP-Einstellungen prüfen
# app.ini Konfiguration überprüfen
# Firewall-Regeln für Port 587 prüfen
Support-Kontakte
- Gitea Dokumentation: https://docs.gitea.io/
- Community Forum: https://discourse.gitea.io/
- GitHub Issues: https://github.com/go-gitea/gitea/issues