Puppet Module to install and configure codiMD
Matthias Baur

Matthias Baur



784 latest version

5.0 quality score

Version information

  • 0.2.0 (latest)
  • 0.1.0
released Jul 6th 2020
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
  • Puppet >= 5.5.8 < 7.0.0
  • Ubuntu

Start using this module


baurmatt/codimd — version 0.2.0 Jul 6th 2020


Build Status Puppet Forge Puppet Forge - downloads Puppet Forge - endorsement Puppet Forge - scores

Table of Contents

  1. Description
  2. Setup - The basics of getting started with codimd
  3. Usage - Configuration options and additional functionality
  4. Limitations - OS compatibility, etc.
  5. Development - Guide for contributing to the module


This module installs and configure CodiMD. It's inspired by the puppet-etherpad module.


What codimd affects

  • This module depends on puppet-nodejs
  • It also depends on puppetlabs-vcsrepo and hence git
  • It will setup a service using systemd
  • It will install all npm dependencies and keep them in sync on updates
  • It will also run db migration automatically on updates

Setup Requirements

This module requires a database. Though it can use sqlite, it's recommend to use PostgreSQL or MySQL. See CodiMD offical documentation for further advice.

Beginning with codimd

Before to installation, a target database should exist. Please consult the documentation of puppetlabs-postgresql, or puppetlabs-mysql for how to create those.


The basic usage is:

class { 'codimd':
  config => {
    host   => 'localhost',
    domain => '',
    db     => {
      username => 'codimd',
      password => 'mySuperSecurePassword',
      database => 'codimd',
      host     => '',
      port     => 3306,
      dialect  => 'mysql',

Pin the version if you don't like automatic updates

class { 'codimd':
  config  => {
  version => '1.5.0',


For information on the classes and types, see the


  • Only systemd is supported as Service provider.
  • Most things are currently hardcoded.
  • Module is only tested on Ubuntu 18.04

PRs are very welcome! :)


This module is development with the help of pdk.

Please follow the standard Puppet development processes as lived by Puppetlabs/Vox Pupuli.