Files
0012/todo/01-bootstrap-env-deploy.md
T
Frank Schwenk 659154c93a feat: bootstrap webspace deploy and status-beacon landing page
Add public/index.php, private config bootstrap, FTPS deploy script,
and complete todo/01 including Let's Encrypt, HTTPS redirect, and HSTS docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 22:37:06 +02:00

49 lines
1.3 KiB
Markdown

# 01 — Bootstrap, `.env`, Deployment
**Priorität:** high
**Status:** erledigt (2026-06-11)
**Abhängigkeiten:** keine
**Blockiert:** 02, 03, 04, 05, 06
## Ziel
Lokales Repo mit dem Webspace verbinden und eine deploybare Grundstruktur anlegen.
## Checkliste
- [x] `.env.example` nach `.env` kopieren
- [x] Plesk-User/Passwort, FTP in `.env` eintragen (nicht committen)
- [x] Document Root: `httpdocs/` (Plesk-Standard)
- [x] PHP-Version: 8.5.x (Plesk Cron)
- [x] Verzeichnis `public/` als Quelle für `httpdocs/`
- [x] Erstes Deployment: `public/index.php` (Status-Beacon Platzhalter)
- [x] HTTPS Let's Encrypt in Plesk (gültig bis 2026-09-09)
- [x] HTTP → HTTPS Redirect (301)
- [x] HSTS (`Strict-Transport-Security`, max-age 15768000, includeSubDomains)
- [x] Deploy-Skript: `scripts/deploy.sh` (FTPS/FTP via Python)
## Server-Layout (nach Deploy)
```
0012.de/
├── httpdocs/ ← public/
│ └── index.php
└── private/ ← nicht öffentlich
├── .env
├── config/bootstrap.php
└── data/ ← später last-checks.json
```
## Deploy
```bash
./scripts/deploy.sh # upload
./scripts/deploy.sh --dry-run
```
## Akzeptanzkriterien
- [x] FTP-Login funktioniert (deploy.sh)
- [x] `https://0012.de/` — Landing Page über TLS
- [x] `.env` liegt lokal, ist in `.gitignore`