949ad29e8b44e1af09741426ca382ebaef4c27c1
EmDash Blog - Docker Self-Hosted
CMS EmDash (Astro + SQLite) deploye en Docker sur QNAP.
Pre-requis
- Docker + Docker Compose
- Network
swag_lanexistant - Repertoires crees sur le QNAP :
mkdir -p /share/ZFS24_DATA/docker/emdash/data
mkdir -p /share/ZFS24_DATA/docker/emdash/uploads
Deploiement
1. Build et lancement
docker compose up -d --build
2. Generer les secrets (optionnel mais recommande)
# 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 :
docker compose up -d
3. Creer le premier compte admin
- Ouvrir
http://<IP-QNAP>:4321/_emdash/admin - L'assistant de configuration apparait au premier lancement
- Renseigner le titre du site et le tagline
- Creer le compte administrateur avec un email
- 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
# 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 v0.1.0
- Framework : Astro 6 (SSR standalone)
- Runtime : Node.js 22 LTS
- Database : SQLite (better-sqlite3)
- Auth : WebAuthn (passkeys)
Description
Languages
Astro
90.1%
TypeScript
3.9%
CSS
3.5%
Dockerfile
1.6%
JavaScript
0.9%