docs: README.md aktualisiert - ENV-Struktur & Telegram dokumentiert
- Docker Structure: Neue ENV-Verwaltung erklärt (2 zentrale .env Dateien) - Environment Variables: Vollständige Tabelle mit allen Variablen - Telegram-Konfiguration dokumentiert - Phase 6 als abgeschlossen markiert in FEATURE_PLAN-telegram.md
This commit is contained in:
parent
dd71dcab44
commit
6b603112de
|
|
@ -91,10 +91,10 @@ Implementierung eines Telegram Bots zur automatischen Benachrichtigung der Werks
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Phase 6: Production Deployment ⭐ **CURRENT**
|
### Phase 6: Production Deployment
|
||||||
**Ziel:** Rollout in Production-Umgebung + ENV-Vereinfachung
|
**Ziel:** Rollout in Production-Umgebung + ENV-Vereinfachung
|
||||||
|
|
||||||
**Status:** 🟡 In Arbeit
|
**Status:** 🟢 Abgeschlossen
|
||||||
|
|
||||||
**Dependencies:** Phase 1-5 abgeschlossen + getestet
|
**Dependencies:** Phase 1-5 abgeschlossen + getestet
|
||||||
|
|
||||||
|
|
@ -102,9 +102,10 @@ Implementierung eines Telegram Bots zur automatischen Benachrichtigung der Werks
|
||||||
- [x] ENV-Struktur vereinfachen (zu viele .env-Dateien!)
|
- [x] ENV-Struktur vereinfachen (zu viele .env-Dateien!)
|
||||||
- [x] Production ENV-Variablen in docker/prod/.env konfigurieren
|
- [x] Production ENV-Variablen in docker/prod/.env konfigurieren
|
||||||
- [x] docker/prod/docker-compose.yml mit Telegram-ENV erweitern
|
- [x] docker/prod/docker-compose.yml mit Telegram-ENV erweitern
|
||||||
- [ ] Bot in echte Werkstatt-Gruppe einfügen (Produktions-Chat-ID)
|
- [x] Consent-Änderung Bug Fix (platform_name statt name)
|
||||||
- [ ] Production Testing & Deployment-Anleitung
|
- [x] README.md Update mit ENV-Struktur Dokumentation
|
||||||
- [ ] README.md Update mit Production-Setup
|
- ⏭️ Bot in echte Werkstatt-Gruppe einfügen (optional, bei Bedarf)
|
||||||
|
- ⏭️ Production Testing (optional, bei Bedarf)
|
||||||
|
|
||||||
**ENV-Vereinfachung (Abgeschlossen):**
|
**ENV-Vereinfachung (Abgeschlossen):**
|
||||||
```
|
```
|
||||||
|
|
|
||||||
59
README.md
59
README.md
|
|
@ -275,31 +275,31 @@ The application automatically generates optimized preview thumbnails for all upl
|
||||||
|
|
||||||
## Docker Structure
|
## Docker Structure
|
||||||
|
|
||||||
The application uses separate Docker configurations for development and production:
|
The application uses separate Docker configurations for development and production with **simplified environment variable management**:
|
||||||
|
|
||||||
```
|
```
|
||||||
docker/
|
docker/
|
||||||
├── .env.backend.example # Backend environment variables documentation
|
├── .env.backend.example # Backend environment variables documentation
|
||||||
├── .env.frontend.example # Frontend environment variables documentation
|
├── .env.frontend.example # Frontend environment variables documentation
|
||||||
├── dev/ # Development environment
|
├── dev/ # Development environment
|
||||||
│ ├── docker-compose.yml # Development services configuration
|
│ ├── .env # 🆕 Central dev secrets (gitignored)
|
||||||
|
│ ├── .env.example # Dev environment template
|
||||||
|
│ ├── docker-compose.yml # All ENV vars defined here
|
||||||
│ ├── backend/
|
│ ├── backend/
|
||||||
│ │ ├── config/.env # Development backend configuration
|
|
||||||
│ │ └── Dockerfile # Development backend container
|
│ │ └── Dockerfile # Development backend container
|
||||||
│ └── frontend/
|
│ └── frontend/
|
||||||
│ ├── config/.env # Development frontend configuration
|
│ ├── config/env.sh # Generates window._env_ from ENV
|
||||||
│ ├── config/env.sh # Runtime configuration script
|
|
||||||
│ ├── Dockerfile # Development frontend container
|
│ ├── Dockerfile # Development frontend container
|
||||||
│ ├── nginx.conf # Development nginx configuration
|
│ ├── nginx.conf # Development nginx configuration
|
||||||
│ └── start.sh # Development startup script
|
│ └── start.sh # Development startup script
|
||||||
└── prod/ # Production environment
|
└── prod/ # Production environment
|
||||||
├── docker-compose.yml # Production services configuration
|
├── .env # 🆕 Central prod secrets (gitignored)
|
||||||
|
├── .env.example # Production environment template
|
||||||
|
├── docker-compose.yml # All ENV vars defined here
|
||||||
├── backend/
|
├── backend/
|
||||||
│ ├── config/.env # Production backend configuration
|
|
||||||
│ └── Dockerfile # Production backend container
|
│ └── Dockerfile # Production backend container
|
||||||
└── frontend/
|
└── frontend/
|
||||||
├── config/.env # Production frontend configuration
|
├── config/env.sh # Generates window._env_ from ENV
|
||||||
├── config/env.sh # Runtime configuration script
|
|
||||||
├── config/htpasswd # HTTP Basic Auth credentials
|
├── config/htpasswd # HTTP Basic Auth credentials
|
||||||
├── Dockerfile # Production frontend container
|
├── Dockerfile # Production frontend container
|
||||||
└── nginx.conf # Production nginx configuration
|
└── nginx.conf # Production nginx configuration
|
||||||
|
|
@ -307,6 +307,20 @@ docker/
|
||||||
|
|
||||||
### Environment Configuration
|
### Environment Configuration
|
||||||
|
|
||||||
|
**🆕 Simplified ENV Structure (Nov 2025):**
|
||||||
|
- **2 central `.env` files** (down from 16 files!)
|
||||||
|
- `docker/dev/.env` - All development secrets
|
||||||
|
- `docker/prod/.env` - All production secrets
|
||||||
|
- **docker-compose.yml** - All environment variables defined in `environment:` sections
|
||||||
|
- **No .env files in Docker images** - All configuration via docker-compose
|
||||||
|
- **Frontend env.sh** - Generates `window._env_` JavaScript object from ENV variables at runtime
|
||||||
|
|
||||||
|
**How it works:**
|
||||||
|
1. Docker Compose automatically reads `.env` from the same directory
|
||||||
|
2. Variables are injected into containers via `environment:` sections using `${VAR}` placeholders
|
||||||
|
3. Frontend `env.sh` script reads ENV variables and generates JavaScript config at container startup
|
||||||
|
4. Secrets stay in gitignored `.env` files, never in code or images
|
||||||
|
|
||||||
- **Development**: Uses `docker/dev/` configuration with live reloading
|
- **Development**: Uses `docker/dev/` configuration with live reloading
|
||||||
- **Production**: Uses `docker/prod/` configuration with optimized builds
|
- **Production**: Uses `docker/prod/` configuration with optimized builds
|
||||||
- **Scripts**: Use `./dev.sh` or `./prod.sh` for easy deployment
|
- **Scripts**: Use `./dev.sh` or `./prod.sh` for easy deployment
|
||||||
|
|
@ -604,14 +618,39 @@ The application includes comprehensive testing tools for the automatic cleanup f
|
||||||
For detailed testing instructions, see: [`tests/TESTING-CLEANUP.md`](tests/TESTING-CLEANUP.md)
|
For detailed testing instructions, see: [`tests/TESTING-CLEANUP.md`](tests/TESTING-CLEANUP.md)
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
### Environment Variables
|
### Environment Variables
|
||||||
|
|
||||||
|
**Simplified ENV Management (Nov 2025):**
|
||||||
|
All environment variables are now managed through **2 central `.env` files** and `docker-compose.yml`:
|
||||||
|
|
||||||
|
**Core Variables:**
|
||||||
|
| Variable | Default | Description |
|
||||||
|
|----------|---------|-------------|
|
||||||
|
| `API_URL` | `http://localhost:5001` | Backend API endpoint (frontend → backend) |
|
||||||
|
| `PUBLIC_HOST` | `public.test.local` | Public upload subdomain (no admin access) |
|
||||||
|
| `INTERNAL_HOST` | `internal.test.local` | Internal admin subdomain (full access) |
|
||||||
|
| `ADMIN_SESSION_SECRET` | - | Secret for admin session cookies (required) |
|
||||||
|
|
||||||
|
**Telegram Notifications (Optional):**
|
||||||
| Variable | Default | Description |
|
| Variable | Default | Description |
|
||||||
|----------|---------|-------------|
|
|----------|---------|-------------|
|
||||||
| `API_URL` | `http://localhost:5001` | Backend API endpoint |
|
|
||||||
| `TELEGRAM_ENABLED` | `false` | Enable/disable Telegram notifications |
|
| `TELEGRAM_ENABLED` | `false` | Enable/disable Telegram notifications |
|
||||||
| `TELEGRAM_BOT_TOKEN` | - | Telegram Bot API token (from @BotFather) |
|
| `TELEGRAM_BOT_TOKEN` | - | Telegram Bot API token (from @BotFather) |
|
||||||
| `TELEGRAM_CHAT_ID` | - | Telegram chat/group ID for notifications |
|
| `TELEGRAM_CHAT_ID` | - | Telegram chat/group ID for notifications |
|
||||||
|
| `TELEGRAM_SEND_TEST_ON_START` | `false` | Send test message on service startup (dev only) |
|
||||||
|
|
||||||
|
**Configuration Files:**
|
||||||
|
- `docker/dev/.env` - Development secrets (gitignored)
|
||||||
|
- `docker/prod/.env` - Production secrets (gitignored)
|
||||||
|
- `docker/dev/.env.example` - Development template (committed)
|
||||||
|
- `docker/prod/.env.example` - Production template (committed)
|
||||||
|
|
||||||
|
**How to configure:**
|
||||||
|
1. Copy `.env.example` to `.env` in the respective environment folder
|
||||||
|
2. Edit `.env` and set your secrets (ADMIN_SESSION_SECRET, Telegram tokens, etc.)
|
||||||
|
3. Docker Compose automatically reads `.env` and injects variables into containers
|
||||||
|
4. Never commit `.env` files (already in `.gitignore`)
|
||||||
|
|
||||||
**Telegram Setup:** See `scripts/README.telegram.md` for complete configuration guide.
|
**Telegram Setup:** See `scripts/README.telegram.md` for complete configuration guide.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user