systeme:documenso:autohebergement
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| systeme:documenso:autohebergement [2026/03/23 11:00] – [Installation des prérequis] techer.charles_educ-valadon-limoges.fr | systeme:documenso:autohebergement [2026/03/23 16:37] (Version actuelle) – [Démarrer les services] techer.charles_educ-valadon-limoges.fr | ||
|---|---|---|---|
| Ligne 69: | Ligne 69: | ||
| docker --version | docker --version | ||
| docker compose version | docker compose version | ||
| + | </ | ||
| + | |||
| + | ===== Cloner and Configurer ===== | ||
| + | |||
| + | * installer git | ||
| + | |||
| + | < | ||
| + | apt install git -y | ||
| + | </ | ||
| + | |||
| + | ==== Cloner le dépôt ==== | ||
| + | |||
| + | < | ||
| + | git clone https:// | ||
| + | cd documenso/ | ||
| + | </ | ||
| + | |||
| + | ==== Générer les secrets ==== | ||
| + | |||
| + | < | ||
| + | # Generate NEXTAUTH_SECRET | ||
| + | echo " | ||
| + | # Generate encryption keys | ||
| + | echo " | ||
| + | echo " | ||
| + | # Generate database password | ||
| + | echo " | ||
| + | </ | ||
| + | ==== Créer le fichier d' | ||
| + | |||
| + | Créer le fichier d' | ||
| + | |||
| + | < | ||
| + | touch .env | ||
| + | </ | ||
| + | |||
| + | * contenu du fichier .env | ||
| + | |||
| + | < | ||
| + | # 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:// | ||
| + | NEXT_PRIVATE_INTERNAL_WEBAPP_URL=http:// | ||
| + | |||
| + | # Database connection (uses Docker service name) | ||
| + | NEXT_PRIVATE_DATABASE_URL=postgresql:// | ||
| + | |||
| + | # 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 | ||
| + | </ | ||
| + | |||
| + | ==== 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=== | ||
| + | |||
| + | < | ||
| + | openssl genrsa -out private.key 2048 | ||
| + | </ | ||
| + | |||
| + | === Créer un certificat autosigné pour une année=== | ||
| + | |||
| + | < | ||
| + | openssl req -new -x509 -key private.key -out certificate.crt -days 365 | ||
| + | </ | ||
| + | Au prompt, renseigner les informations de l' | ||
| + | |||
| + | ^ 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** | ||
| + | |||
| + | < | ||
| + | openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt | ||
| + | </ | ||
| + | |||
| + | *Pour saisir le mot de passe de manière non interactive : | ||
| + | |||
| + | < | ||
| + | # 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: | ||
| + | </ | ||
| + | |||
| + | === Clean up === | ||
| + | |||
| + | Supprimer les fichiers intermédiaires: | ||
| + | |||
| + | < | ||
| + | rm private.key certificate.crt | ||
| + | </ | ||
| + | |||
| + | * Gardez certificate.p12 and le mot de passe | ||
| + | |||
| + | === Vérifier le certificat === | ||
| + | |||
| + | < | ||
| + | # Check certificate details | ||
| + | openssl pkcs12 -in certificate.p12 -info -nokeys | ||
| + | # Verify password works | ||
| + | openssl pkcs12 -in certificate.p12 -noout | ||
| + | </ | ||
| + | |||
| + | ====Placer le certificat signé sur l' | ||
| + | |||
| + | Placer le certificat sur l' | ||
| + | |||
| + | < | ||
| + | mkdir -p / | ||
| + | cp / | ||
| + | chown 1001:1001 / | ||
| + | chmod 400 / | ||
| + | </ | ||
| + | |||
| + | Le compose.yml va monter ce chemin dans le conteneur. Ajoutez la passphrase au fichier **.env** : | ||
| + | |||
| + | < | ||
| + | NEXT_PRIVATE_SIGNING_PASSPHRASE=your-certificate-password | ||
| + | </ | ||
| + | |||
| + | 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 ===== | ||
| + | |||
| + | < | ||
| + | docker compose --env-file .env up -d | ||
| + | </ | ||
| + | |||
| + | * vérifier que les conteneurs s' | ||
| + | |||
| + | < | ||
| + | docker compose ps | ||
| + | </ | ||
| + | |||
| + | * sorties attendues : | ||
| + | |||
| + | < | ||
| + | NAME | ||
| + | documenso-production-database-1 | ||
| + | documenso-production-documenso-1 running | ||
| + | </ | ||
| + | |||
| + | Wait for the database to be healthy and for migrations to complete. Check the logs: | ||
| + | |||
| + | < | ||
| + | docker compose logs -f documenso | ||
| </ | </ | ||
systeme/documenso/autohebergement.1774260006.txt.gz · Dernière modification : 2026/03/23 11:00 de techer.charles_educ-valadon-limoges.fr
