Private Suite's official CMS.
Contenu was created out of necessity. We used to use WordPress - the popular CMS that almost half of the internet uses - until one day, the About
page disappeared from wp-json
and we realized that WordPress was inflexible and too unstable for our developer-oriented needs.
In aurame
's words: "It's not WordPress' fault for not working, it's our fault for choosing a CMS made for non-PWA oriented blogs."
Contenu is still a little unstable as it was made in only one month, so if you spot any creepy crawlers, leave us a line in the form of an Issue
or a Discord message.
Setting up Contenu is simple! You'll need a recent version of nodejs
, git
, and 5 minutes!
- Clone this repository
- Run
npm install
- Create a
prod.conf
configuration file - Place that file in the
config
folder - Run
node src/index.js prod
- Store the password logged in the first run somewhere safe
Note dev.conf
is meant for developers, please don't use it in production.
Configuration files are written in the ini
format.
Note The following code is part of dev.conf
, please change the secret
, secure
, keyPath
, and certPath
in order to fit your needs.
[server]
port = 80 # The port the HTTP server will listen on
secure = true # True if you want an HTTPS server as well
# v Only applies when secure = true v
securePort = 443 # The port the HTTPS server will listen on
keyPath = config/server.key # The HTTPS key's path
certPath = config/server.cert # The HTTPS certificate's path
[admin]
enabled = true # True if you want the admin panel to be enabled
secret = myJsonWebTokenPassword # The JWT key, change this to a secure password
The admin panel can be found at /admin
on any Contenu instance. To log in for the first time, go to the /admin
login page and enter the following credentials:
- Username admin
- Password Password logged on first run
Deleting the admin
account is not possible as it will automatically be recreated by the CMS - if non-existent - every time the program starts. I recommend opening the Data
tab and changing the admin password to something more memorable or creating a new user altogether.
Contenu's two most important components are Templates and Elements. Templates are molds that define child elements' fields. Elements are database entries that contain fields.
Templates can be found in the Data
tab while elements can be found in the Elements
tab.
Users are elements with non-customizable fields. Users can be added, deleted, and modified in the Data
tab.
Users have different available permission levels. The following table describes each permission level and the access that they grant to a user.
Permission | Access |
---|---|
Admin | Can do anything in the admin panel |
Author | Currently has the same permissions as an admin |
Viewer | Cannot access the admin panel |
The Source Control
tab will allow you to clone from a Git repository. Just type in the URL
of the repository and the branch
or tag
that you want to clone from. Then, press the Clone
button. The repository will be cloned into the www
folder, from which HTML is served.
MIT