Outils pour utilisateurs

Outils du site


systeme:opensign:autohebergement

Auto-hébergeur OpenSign™ avec Docker sur Linux/MacOS/Windows

Installer Docker

# Add Docker's official GPG key:
apt update
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

apt update
  • Installer les packages Docker
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Installer Opensign

  • s'authentifier au préalable avec son compte Docker
docker login
* exécuter localement OpenSign :
  * télécharger les fichiers **docker-compose.yml**, **Caddyfile** et **.env.local\_dev**
  * renommer .env.local\_dev en .env.prod
curl --remote-name-all https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev && mv .env.local_dev .env.prod && docker compose up --force-recreate

utiliser un certificat autosigné

  • générer un certificat auto‑signé incluant l'adresse IP dans le SAN
  • configurer Caddy pour l’utiliser
  • afin que https://IP:3001 fonctionne sans ERRSSLPROTOCOL_ERROR

Générer un certificat auto‑signé AVEC SAN contenant l’IP

Il faut IMPÉRATIVEMENT ajouter l’adresse IP dans le champ Subject Alternative Name (SAN), sinon tous les navigateurs refuseront la connexion.

Remplacer X.X.X.X par l’IP du serveur.

openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -  -keyout server.key \
  -   -out server.crt \
  -   -subj "/CN=X.X.X.X" \
  -   -addext "subjectAltName = IP:X.X.X.X"
  • deux fichiers sont obtenus:
    • server.crt → certificat
    • server.key → clé privée
  • vérifier le contenu du certificat
openssl x509 -in server.crt -text -noout
  • Placer les fichiers dans un dossier, par exemple /opt/opensign/certs/

Importer le certificat dans Caddy

Dans le fichier docker-compose.yml, il faut monter le dossier des certificats et indiquer à Caddy de ne PAS utiliser Let’s Encrypt (car tu n’utilises pas un domaine).

Exemple :

services:
  caddy:
      image: caddy:latest
      ports:
          - "3001:3001"
      volumes:
          - ./Caddyfile:/etc/caddy/Caddyfile
          - /opt/opensign/certs:/certs
      depends_on:
          - client
          - server

Configurer Caddy pour utiliser le certificat auto‑signé

  • éditer le fichier Caddyfile :
https://X.X.X.X:3001 {
    tls /certs/server.crt /certs/server.key
    reverse_proxy /api/* server:8080
    reverse_proxy client:3000
}
  • Remplace X.X.X.X par l’IP du serveur
  • server et client = noms des conteneurs Docker OpenSign (à adapter selon ton docker-compose)

Redémarrer Caddy + OpenSign

docker compose down
docker compose up -d

Tester l’accès externe

Dans le navigateur : https://IP_DU_SERVEUR:3001

Installer mimio - S3

Objectif

Avoir un service S3‑compatible prêt à l’emploi (local/on‑prem), accessible via https://s3.example.fr avec console d’admin, comptes IAM (users), buckets, politiques, et sauvegardes.

Prérequis

  • conteneur Debian 13
    • CPU : 2 vCPU (4+ si charge), RAM : 4–8 Go, Disque : 100+ Go selon besoins
    • Réseau : IP fixe + DNS correct
    • Stockage : idéalement un disque dédié (virtio-scsi, cache write‑back) pour des performances stables
  • Ports à ouvrir (Firewall Proxmox / VM / routeur) :
    • Mono‑instance : 9000/tcp (API S3), 9001/tcp (console) — ou proxifiés derrière 80/443
    • Distribué : ajouter 9000-900X pour chaque nœud et ports internes (TCP)
  • Nom de domaine (optionnel mais recommandé) :
    • s3.example.fr pour l’endpoint S3
    • console.s3.example.fr (ou /console) pour la console

Astuce : Dans Proxmox, attacher un disque virtuel distinct pour /data MinIO (facile à migrer/monitorer).

docker run -p 9000:9000 -p 9001:9001 \
  -v /minio/data:/data \
  -e "MINIO_ROOT_USER=admin" \
  -e "MINIO_ROOT_PASSWORD=motdepasse" \
  quay.io/minio/minio server /data --console-address ":9001"
systeme/opensign/autohebergement.txt · Dernière modification : 2026/02/04 15:05 de techer.charles_educ-valadon-limoges.fr