# Installation (production / Docker)
Image officielle : fabiodevcode/puna
# Télécharger les fichiers de démarrage
curl -fsSLO https://fabiodevcode.github.io/Puna/compose.yml
curl -fsSLO https://fabiodevcode.github.io/Puna/scripts/setup.sh
# Configurer et démarrer
bash setup.sh # configure le fichier .env
docker compose up -d # démarre Puna, MariaDB et ClamAV
# Services inclus dans compose.yml
| Service | Image | Rôle |
|---|---|---|
app | fabiodevcode/puna | Serveur Puna (port 3022 sur localhost) |
db | mariadb:11.4 | Base de données MariaDB |
clamav | clamav/clamav:latest | Scan antivirus (port TCP 3310 interne) |
# Volumes persistants
Les volumes suivants sont créés automatiquement :
| Volume | Chemin dans le conteneur | Contenu |
|---|---|---|
puna_storage | /app/storage | Fichiers uploadés |
puna_logs | /app/logs | Journaux applicatifs |
puna_db_data | (MariaDB interne) | Données MariaDB |
puna_clamav_data | (ClamAV interne) | Base de signatures ClamAV |
# Notes de production
- Le port 3022 est exposé uniquement sur
127.0.0.1- prévoir un reverse proxy (nginx, Caddy…). - ClamAV peut prendre environ 90 secondes au premier démarrage (téléchargement des signatures). Le healthcheck est configuré avec
start_period: 90s. - ClamAV accède au stockage Puna en lecture seule via un volume partagé.
Voir Configuration pour le détail de toutes les variables d'environnement.