Back to Apps
CodiMD

Deploy CodiMD on Your Own Server

Realtime collaborative Markdown notes on all platforms

πŸ“¦ Other

Want to deploy CodiMD on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is CodiMD?

Realtime collaborative Markdown notes on all platforms. GitHub: https://github.com/hackmdio/codimd

Learn more

Self-Host CodiMD

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

3

Deploy

Copy the configuration and run it on your server.

services:
  codimd:
    image: linuxserver/codimd:1.6.0-ls44
    environment:
      DB_HOST: codimd-mariadb
      DB_NAME: codimd
      DB_PASS: 9dbb3b24b0dafe4b
      DB_PORT: "3306"
      DB_USER: codimd
      PGID: "1000"
      PUID: "1000"
      TZ: Europe/London
    volumes:
      - codimd-config:/config
  codimd-mariadb:
    image: linuxserver/mariadb:110.4.14mariabionic-ls77
    environment:
      MYSQL_DATABASE: codimd
      MYSQL_PASSWORD: 9dbb3b24b0dafe4b
      MYSQL_ROOT_PASSWORD: 9dbb3b24b0dafe4b
      MYSQL_USER: codimd
      PGID: "1000"
      PUID: "1000"
      TZ: Europe/London
    volumes:
      - codimd-mariadb-config:/config
volumes:
  codimd-config: {}
  codimd-mariadb-config: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:3000

Why Self-Host CodiMD?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

linuxserver/codimd:1.6.0-ls44

Official Docs

hackmd.io

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"