3.8 KiB
Docker
!!! example "Avetissement : expérimental" L'usage de ScoDoc avec Docker est expérimental et n'est pas (encore) recommandé pour une utilisation en production.
Prérequis
Assurez-vous d'avoir les éléments suivants installés sur votre machine :
- Docker
- Docker Compose
Installation
Télécharger le fichier docker-compose.yml
curl -O https://git.scodoc.org/ScoDoc/ScoDoc/raw/branch/master/docker-compose.yml
!!! info
WatchTower (inclus dans le docker-compose.yml
) est un outil qui permet de mettre à jour automatiquement les conteneurs Docker. ScoDoc est mis à jour très régulièrement, il est donc recommandé d'utiliser WatchTower. Retirez le seulement si vous prévoyez d'effectuer les mises à jour manuellement et régulièrement.
Modifier la configuration
Editez les variables d'environnement dans le fichier docker-compose.yml
pour personnaliser la configuration de ScoDoc :
- Container
scodoc
:SCODOC_DATABASE_URI
: URI de connexion postgresqlCACHE_REDIS_HOST
: nom d'hôte du serveur Redis/ValkeySCODOC_ADMIN_MAIL
: adresse email de l'administrateurSCODOC_ADMIN_PASSWORD
: mot de passe de l'administrateurSCODOC_MAIL_FROM
: adresse de l'expéditeur des emails envoyés par l'instance ScoDocMAIL_SERVER
: nom d'hote du serveur SMTPMAIL_PORT
: port du serveur SMTPMAIL_USE_TLS
: booléen pour activer le SMTPSMAIL_USERNAME
: nom d'utilisateur pour l'authentification SMTPMAIL_PASSWORD
: mot de passe pour l'authentification SMTP
- Container
postgres
:POSTGRES_USER
: nom d'utilisateur de la base de données (à utiliser dans l'URISCODOC_DATABASE_URI
)POSTGRES_PASSWORD
: mot de passe de la base de données (à utiliser dans l'URISCODOC_DATABASE_URI
)
!!! warning "Avertissement : sécurité"
Ne définisez pas la variable d'environnement POSTGRES_DB
sur le container postgres
, le container scodoc
créera automatiquement la base en utilisant le nom fournit dans l'URI SCODOC_DATABASE_URI
.
Démarrage
Lancez cette commande pour démarrer ScoDoc :
docker compose up -d
Si vous n'avez pas modifié la configuration réseau, ScoDoc sera accessible à l'adresse http://localhost:8000.
!!! danger "Avertissement" Pour des raisons de sécurité, ScoDoc ne doit pas être accessible en http par les utilisateurs, un reverse proxy (par exemple nginx) doit être mis en place pour forcer l'usage du https. L'accès en http par les utilisateurs expose les mots de passe en clair sur le réseau.
Build manuel
Une image scodoc/scodoc
est publiée sur Docker Hub mais il est possible de build l'image localement en suivant ces étapes :
-
Clonez le dépôt ScoDoc :
git clone https://git.scodoc.org/ScoDoc/ScoDoc.git cd ScoDoc git checkout 9.6.970 # version de ScoDoc à build
-
Lancer le build de l'image Docker de ScoDoc (les
--build-arg
sont utilisés pour les labels OCI et sont donc optionnels si l'image n'a pas vocation à être publiée) :SCOVERSION=$(grep SCOVERSION sco_version.py | awk '{ print substr($3, 2, length($3)-2) }') docker build --tag scodoc/scodoc:$SCOVERSION \ --build-arg="SCODOC_VERSION=$SCOVERSION" \ --build-arg="SCODOC_COMMIT=$(git rev-parse HEAD)" \ --build-arg="IMAGE_DATE=$(date -u +\"%Y-%m-%dT%H:%M:%SZ\")" \ .