Files
0012/todo/01-bootstrap-env-deploy.md
T
Frank Schwenk 01de7ed4fb feat: SMTP mail stack and separate server.env deploy
Add mail.php with STARTTLS sending, test scripts, server.env split from
local .env, admin@ postbox docs, DKIM DNS support-ticket notes, and todo 11
for boka relay.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 23:19:03 +02:00

49 lines
1.4 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
├── server.env ← Server-Secrets (deployed, nicht .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`