Files
emdash/README.md
T

102 lines
2.6 KiB
Markdown

# EmDash Blog - Docker Self-Hosted
CMS EmDash (Astro + SQLite) deploye en Docker sur QNAP.
## Pre-requis
- Docker + Docker Compose
- Network `swag_lan` existant
- Repertoires crees sur le QNAP :
```bash
mkdir -p /share/ZFS24_DATA/docker/emdash/data
mkdir -p /share/ZFS24_DATA/docker/emdash/uploads
```
## Deploiement
### 1. Build et lancement
```bash
docker compose up -d --build
```
### 2. Generer les secrets (optionnel mais recommande)
```bash
# Sur une machine avec Node.js
npx emdash auth secret
# Copier la valeur dans docker-compose.yml pour EMDASH_AUTH_SECRET
npx emdash auth secret
# Copier la valeur pour EMDASH_PREVIEW_SECRET
```
Puis decommenter les lignes correspondantes dans `docker-compose.yml` et relancer :
```bash
docker compose up -d
```
### 3. Creer le premier compte admin
1. Ouvrir `http://<IP-QNAP>:4321/_emdash/admin`
2. L'assistant de configuration apparait au premier lancement
3. Renseigner le titre du site et le tagline
4. Creer le compte administrateur avec un email
5. Enregistrer un passkey (WebAuthn) via le navigateur
> **Note** : L'authentification utilise WebAuthn (passkeys). Un navigateur
> moderne avec support biometrique ou cle de securite est requis.
## URL d'acces
| Service | URL |
|---------|-----|
| Site public | `http://<IP-QNAP>:4321` |
| Admin | `http://<IP-QNAP>:4321/_emdash/admin` |
Avec un reverse proxy SWAG, configurer le subdomain/subpath pour pointer sur `emdash:4321`.
## Variables d'environnement
| Variable | Default | Description |
|----------|---------|-------------|
| `HOST` | `0.0.0.0` | Adresse de bind |
| `PORT` | `4321` | Port d'ecoute |
| `DATABASE_PATH` | `/data/emdash.db` | Chemin du fichier SQLite |
| `UPLOAD_DIR` | `/uploads` | Repertoire des fichiers media |
| `EMDASH_AUTH_SECRET` | (auto) | Secret pour les sessions |
| `EMDASH_PREVIEW_SECRET` | (auto) | Secret pour les previews |
| `TZ` | `Europe/Paris` | Timezone |
## Volumes
| Container | QNAP | Usage |
|-----------|-------|-------|
| `/data` | `/share/ZFS24_DATA/docker/emdash/data` | Base SQLite |
| `/uploads` | `/share/ZFS24_DATA/docker/emdash/uploads` | Fichiers media uploades |
## Maintenance
```bash
# Voir les logs
docker compose logs -f emdash
# Redemarrer
docker compose restart emdash
# Rebuild apres mise a jour
docker compose up -d --build
# Backup de la base
cp /share/ZFS24_DATA/docker/emdash/data/emdash.db /path/to/backup/
```
## Stack technique
- **CMS** : [EmDash](https://github.com/emdash-cms/emdash) v0.1.0
- **Framework** : Astro 6 (SSR standalone)
- **Runtime** : Node.js 22 LTS
- **Database** : SQLite (better-sqlite3)
- **Auth** : WebAuthn (passkeys)