Outils pour utilisateurs

Outils du site


systeme:documenso:autohebergement

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
systeme:documenso:autohebergement [2026/03/23 10:56] techer.charles_educ-valadon-limoges.frsysteme:documenso:autohebergement [2026/03/23 16:37] (Version actuelle) – [Démarrer les services] techer.charles_educ-valadon-limoges.fr
Ligne 30: Ligne 30:
 </code> </code>
  
-    * ajouter les dépôts+   * ajouter les dépôts
  
 <code> <code>
Ligne 51: Ligne 51:
 </code> </code>
  
-    * mettre à jour+   * mettre à jour
  
 <code> <code>
Ligne 62: Ligne 62:
 <code> <code>
 apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
 +</code>
 +
 +  * Vérifier l'installation:
 +
 +<code>
 +docker --version
 +docker compose version
 +</code>
 +
 +===== Cloner and Configurer =====
 +
 +  * installer git
 +
 +<code>
 +apt install git -y
 +</code>
 +
 +==== Cloner le dépôt ====
 +
 +<code>
 +git clone https://github.com/documenso/documenso.git
 +cd documenso/docker/production
 +</code>
 +
 +==== Générer les secrets ====
 +
 +<code>
 +# Generate NEXTAUTH_SECRET
 +echo "NEXTAUTH_SECRET=$(openssl rand -base64 32)"
 +# Generate encryption keys
 +echo "NEXT_PRIVATE_ENCRYPTION_KEY=$(openssl rand -base64 32)"
 +echo "NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY=$(openssl rand -base64 32)"
 +# Generate database password
 +echo "POSTGRES_PASSWORD=$(openssl rand -base64 24)"
 +</code>
 +==== Créer le fichier d'environnement ====
 +
 +Créer le fichier d'environnement **.env** dans le même dossier que celui qui contient **compose.yml** (documenso/docker/production)
 +
 +<code>
 +touch .env
 +</code>
 +
 +  * contenu du fichier .env
 +
 +<code>
 +# Database (used by both database and documenso services)
 +POSTGRES_USER=documenso
 +POSTGRES_PASSWORD=your-secure-database-password
 +POSTGRES_DB=documenso
 +
 +# Application secrets (generate with: openssl rand -base64 32)
 +NEXTAUTH_SECRET=your-nextauth-secret
 +NEXT_PRIVATE_ENCRYPTION_KEY=your-encryption-key-min-32-characters
 +NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY=your-secondary-key-min-32-characters
 +
 +# Public URL where Documenso is accessible
 +NEXT_PUBLIC_WEBAPP_URL=https://sign.example.com
 +NEXT_PRIVATE_INTERNAL_WEBAPP_URL=http://localhost:3000
 +
 +# Database connection (uses Docker service name)
 +NEXT_PRIVATE_DATABASE_URL=postgresql://documenso:your-secure-database-password@database:5432/documenso
 +
 +# Email configuration
 +NEXT_PRIVATE_SMTP_TRANSPORT=smtp-auth
 +NEXT_PRIVATE_SMTP_HOST=smtp.example.com
 +NEXT_PRIVATE_SMTP_PORT=587
 +NEXT_PRIVATE_SMTP_USERNAME=your-smtp-username
 +NEXT_PRIVATE_SMTP_PASSWORD=your-smtp-password
 +NEXT_PRIVATE_SMTP_FROM_NAME=Documenso
 +NEXT_PRIVATE_SMTP_FROM_ADDRESS=noreply@example.com
 +</code>
 +
 +==== Utiliser un certificat signé ====
 +
 +Un certificat signé est requis pour signer les documents. Généré un certificat **.p12** sur le serveur et le monter dans le conteneur.
 +
 +=== Générer une clé privée RSA 2048 bit===
 +
 +<code>
 +openssl genrsa -out private.key 2048
 +</code>
 +
 +=== Créer un certificat autosigné pour une année===
 +
 +<code>
 +openssl req -new -x509 -key private.key -out certificate.crt -days 365
 +</code>
 + Au prompt, renseigner les informations de l'organisation :
 +
 +^  Champ ^  VAleur  ^
 +|Country Name |FR |
 +|State or Province|France|
 +|Locality Name| Limoges|
 +|Organization Name|Lycée Suzanne Valadon|
 +|Organizational |Administration|
 +|Common Name|Lycée Suzanne Valadon|
 +|Email Address|0870019y.ac-limoges.fr|
 +
 +=== Créer le certificat .p12 ===
 +
 +Création du certificat **.p12** et création du fichier **PKCS#12 (.p12)** contenant ce certificat et la clé privée. Un mot de passe doit être renseigné pour protéger le fichier **.p12**
 +
 +<code>
 +openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt
 +</code>
 +
 +  *Pour saisir le mot de passe de manière non interactive :
 +
 +<code> 
 +# Set password securely (won't appear in command history)
 +read -s -p "Enter certificate password: " CERT_PASS
 +echo
 +openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt \
 +    -password env:CERT_PASS
 +</code>
 +
 +=== Clean up ===
 +
 +Supprimer les fichiers intermédiaires:
 +
 +<code>
 +rm private.key certificate.crt
 +</code>
 +
 + * Gardez certificate.p12 and le mot de passe
 +
 +=== Vérifier le certificat ===
 +
 +<code>
 +# Check certificate details
 +openssl pkcs12 -in certificate.p12 -info -nokeys
 +# Verify password works
 +openssl pkcs12 -in certificate.p12 -noout
 +</code>
 +
 +====Placer le certificat signé sur l'hôte====
 +
 +Placer le certificat sur l'hôte et définir les permissions pour que le conteneur puisse le lire (UID 1001):
 +
 +<code>
 +mkdir -p /opt/documenso
 +cp /root/documenso/docker/production/certificate.p12 /opt/documenso/cert.p12
 +chown 1001:1001 /opt/documenso/cert.p12
 +chmod 400 /opt/documenso/cert.p12
 +</code>
 +
 +Le compose.yml va monter ce chemin dans le conteneur. Ajoutez la passphrase au fichier **.env** :
 +
 +<code>
 +NEXT_PRIVATE_SIGNING_PASSPHRASE=your-certificate-password
 +</code>
 +
 +If file mounting is not available, you can set NEXT_PRIVATE_SIGNING_LOCAL_FILE_CONTENTS with the base64-encoded certificate string instead.
 +
 +===== Démarrer les services =====
 +
 +<code>
 +docker compose --env-file .env up -d
 +</code>
 +
 +  * vérifier que les conteneurs s'exécutent:
 +
 +<code>
 +docker compose ps
 +</code>
 +
 +  * sorties attendues :
 +
 +<code>
 +NAME                             STATUS              PORTS
 +documenso-production-database-1  running (healthy)   5432/tcp
 +documenso-production-documenso-1 running             0.0.0.0:3000->3000/tcp
 +</code>
 +
 +Wait for the database to be healthy and for migrations to complete. Check the logs:
 +
 +<code>
 +docker compose logs -f documenso
 </code> </code>
systeme/documenso/autohebergement.1774259815.txt.gz · Dernière modification : 2026/03/23 10:56 de techer.charles_educ-valadon-limoges.fr