Un petit CMS, qui voit plus loin.Télécharger RenewCMS
Documentation

Recherchez des titres, des paramètres et des commandes.

Installer RenewCMS

Démarrez avec Docker ou un exécutable, puis vérifiez votre compte propriétaire.

Parcourir la documentation

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.

.env
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.com

Dé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.

Bash
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/healthz

Lancer 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.

Télécharger RenewCMS

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.

Caddyfile
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.

systemd
[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