Préparer les réglages
Choisissez l’adresse du CMS pour PUBLIC_URL. Pour un essai local, utilisez http://localhost:8080 et ENVIRONMENT=development. Pour une instance publique, utilisez l’adresse HTTPS finale et ENVIRONMENT=production.
Générez JWT_SECRET avec openssl rand -hex 32. Gardez cette valeur secrète et stable entre les redémarrages. Renseignez SMTP_HOST, SMTP_PORT, SMTP_LOGIN, SMTP_PASSWORD et SMTP_SENDER avec les valeurs de votre fournisseur de messagerie. RenewCMS utilise SMTP pour les vérifications et les invitations.
Utilisez cet exemple pour une installation publique. Remplacez les valeurs d’exemple par l’adresse de votre CMS, le secret généré et les réglages de votre fournisseur de messagerie.
PUBLIC_URL=https://cms.example.com
ENVIRONMENT=production
JWT_SECRET=replace-with-generated-secret
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_LOGIN=cms@example.com
SMTP_PASSWORD=replace-with-mail-password
SMTP_SENDER=cms@example.comDémarrer avec Docker Compose
Exécutez les trois premières lignes dans un terminal avec Docker et Compose v2. Modifiez docker.env avec vos réglages avant de lancer les deux dernières lignes. Le contrôle de santé doit répondre ok.
mkdir renewcms && cd renewcms
curl -fsSLO https://git.floriansylvain.fr/fsylvain/RenewCMS/raw/branch/main/docker-compose.yml
curl -fsSL https://git.floriansylvain.fr/fsylvain/RenewCMS/raw/branch/main/docker.env.example -o docker.env
docker compose up -d
curl -fsS http://localhost:8080/healthzLancer l’exécutable autonome
Téléchargez la version adaptée à votre système et à votre processeur (amd64 ou arm64). Définissez les variables d’environnement dans votre terminal, rendez le fichier exécutable sous Linux ou macOS, puis lancez-le depuis le dossier où vous souhaitez conserver les données. Sous Windows, utilisez le fichier .exe. Vérifiez /healthz avant d’ouvrir le CMS.
Pour une installation Linux permanente, lancez l’exécutable comme service avec un utilisateur dédié. Donnez-lui accès en écriture aux chemins DB_FILE et UPLOAD_DIR, puis chargez les réglages depuis un EnvironmentFile privé avec systemd.
Servir le CMS en HTTPS
Faites pointer le DNS vers votre serveur et placez un proxy inverse TLS comme Caddy devant RenewCMS. Si le proxy tourne sur le même hôte, limitez le port Compose à 127.0.0.1:8080:8080. Pour l’exécutable, bloquez l’accès direct au port du service avec votre pare-feu. Remplacez le domaine de cet exemple par celui de PUBLIC_URL, puis rechargez Caddy. Renseignez TRUSTED_PROXIES avec l’adresse IP du proxy vue par RenewCMS afin que la limitation de débit utilise l’adresse du client.
cms.example.com {
reverse_proxy localhost:8080 {
header_up X-Real-IP {remote_host}
}
}Créer le compte propriétaire
Ouvrez PUBLIC_URL et inscrivez-vous. Le premier compte devient propriétaire. Ouvrez le message de vérification, suivez son lien et connectez-vous. Si le message n’arrive pas, vérifiez les indésirables, les paramètres SMTP et les journaux du service.
Faire tourner l’exécutable Linux avec systemd
Installez l’exécutable dans /opt/renewcms/renewcms. Créez un utilisateur système renewcms et un dossier /var/lib/renewcms appartenant à cet utilisateur. Créez /etc/renewcms/renewcms.env avec les permissions 600 et ajoutez les réglages ci-dessus, DB_FILE=/var/lib/renewcms/renewcms.db et UPLOAD_DIR=/var/lib/renewcms/uploads.
Enregistrez cette unité dans /etc/systemd/system/renewcms.service. Lancez sudo systemctl daemon-reload, puis sudo systemctl enable --now renewcms. Vérifiez le service avec curl -fsS http://localhost:8080/healthz.
[Unit]
Description=RenewCMS
After=network-online.target
Wants=network-online.target
[Service]
User=renewcms
Group=renewcms
WorkingDirectory=/var/lib/renewcms
EnvironmentFile=/etc/renewcms/renewcms.env
ExecStart=/opt/renewcms/renewcms
Restart=on-failure
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target