Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 2 commits ahead, 1 commit behind allan-simon:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

#Introduction to Tatowiki

Tatowiki is a wiki in c++ built upon cppcms and cppcms-skeleton, it is made for generic purpose and high performance.

Note: This software is still at a very early stage, but since April 2013, it's now have several skin and a quite neutral and responsive one, so it can start to be used by people who need a basic wiki, with high performance and a low memory-print or a wiki that display fine on a mobile phone.

Other features will be added step by step. The goal at the end is to have a complete wiki, that can easily be extended with plugins.

#Requirement for Tatowiki

To run it you need:

  • cppcms
  • cppcms-skeleton
  • sqlite3
  • discount (libmarkdown)

To compile it you need a little more

  • python3
  • cmake
  • a compiler that supports c++11
  • clang

#Installation instruction

git clone
cd tatowiki/app
mkdir build ; cd build ; cmake .. ; make

After this you need to create the dabatase schema, note for the moment we only support sqlite3 and you need to create it manually

if you're in the 'build' directory, simply do

sqlite3 ../data/sqlite6.db < ../sql/sqlite3.sql

Note: Of course the name and path for the database (sqlite6.db) is purely arbitrary and can be changed without problems (you simply need to adapt your config.js)


Edit app/config.js according to your needs (change YOURHOST by your hostname). On a local installation, you can use a local domain such as and define it your /etc/hosts like this. ...

If you’re using a port different than 80, make sure to specify it in the baseHost option too, like this.

    "service" : {
            "api" : "http",
            "port" : 8081,
            "ip" : ""

    /* ... */

    "baseHost" : "",

    /* ... */

Tatowiki needs to have write access to the following directories and files:

  • The sqlite database (app/data/sqlite6.db)
  • app/data/
  • app/upload/

#Running it

./tatowiki -c ../config.js #from the build directory


For the moment you can't run it from a raw ip address as it use a subdomain for
storing the current interface language (it will be changed in the future)


a wiki made with cppcms







No releases published


No packages published


  • C++ 74.2%
  • Python 5.9%
  • JavaScript 4.1%
  • Smarty 4.0%
  • CSS 3.2%
  • CMake 3.0%
  • Other 5.6%