Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



50 Commits

Repository files navigation


This is a small framework that uses Node's ExpressJS and EJS to render simple websites written in Markdown.

It includes a minimal template with a micro-blogging infrastructure. The website can be deployed via Git or via the included CMS.

Dependencies and Requirements:

An up and running instance of Ubuntu or Debian server (only x86 architecture at the moment) with secure shell access (SSH) and (optionally) domains and DNS records configured. Ports 80, 443, 2083 and 3000 must not be in use by any other software. Also, the following packages are required (and they are usually already installed):

  • git
  • python3
  • systemd

Note: This server do not run at /var/www, it is good practice to have a dedicated user account set up for it without direct ssh access (specially if you are running other services in your server). sudo privileges are required for the install.


Clone the repository:

$ git clone

Execute the installer and carefully follow its instructions:

$ cd aedifico/bin

$ sudo python3


In the aedifico/bin folder, run:

$ sudo python --uninstall


These are the following systemd services in use:

  • aedifico.service
  • aedifico-preview.service
  • aedifico-sprintplank.service
  • aedifico-update.service
  • certbot-renew.service

You can check the status of each of them with systemctl status $SERVICE and the logs with journalctl -u $SERVICE.

Tip: To monitor live the status of a service use the program watch.

Deploying your Website:

Aedifico renders your content from markdown files. The public folder contains all web related files: pages and blog posts are stored in content and content/posts; style sheets at css; and multimedia files at img. The web address for a page is just its file name without the .md extension.


Sprintplank is the included CMS to help manage your content. You can manage your content and app from it, preview it and then publish it. It is accessible from the port 2083 of your server.

Note: The name comes from dash and board through several iterations on google translator from english, to other languages and then back again to english.


Clone, modify and than push to the git repository preview.git.

Use primarily the branch preview, you can check all modifications at the port 3000. Any commits to the branch master will go directly to production, it is wise to use preview to test new content and then merge the branches.

Note: Commits to other branches won't affect the website, you may use them as back-ups/archives.


From version 1.2 a systemd.timer is implemented to check the official git repository and perform the necessary updates without any user interaction. It will not interfere with the website located in preview.git nor the information defined in the installation process (i.e. git credentials, password, certificates, etc.)

There's also a service to keep the letsencrypt's certificates up-to-date.

Note: The upgrade to version 1.2 must be done manually.


Aedifico is built using several awesome projects. My heartfelt thanks to: