How To Install: CodiMD



System Requirements

This guide assumes your system has the following configuration

  • Operating System: Centos 7.6


Disclaimer:

This is not meant to be a comprhensive guide. It's designed to give you enough information to get up and running.

It's your job to put in place security and best practices.



How to install it...


I always reccomend that you understand in a general sense what every command you enter into your system does. Right now you don't a PhD in Linux you just want the answer so open a terminal and here goes...



Step 1

Let's install the required packages.

  • yum-utils
  • device-mapper-persistent-data
  • lvm2
  • screen
  • epel-release
  • git

We do that by issuing the following command inside your terminal.

yum install -y yum-utils device-mapper-persistent-data git lvm2 screen epel-release


Step 2

Now that all of the software we need is installed, let's add the docker repo.

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo


Step 3

Now that we have both the epel release and the docker repo, let's go ahead and install docker-ce and the rest of the software we will need from these repos.

yum -y install docker-ce python-pip


Step 4

We will use SystemD to start the docker service and command System D to start the docker when the server boots.

systemctl start docker

systemctl enable docker


Step 5

Use pip to install docker compose

pip install docker-compose


Step 6

Let's use git to download the latest copy of CodiMD

git clone https://github.com/hackmdio/docker-hackmd.git


Step 7

We finish the install by moving into the directory and starting the container

cd docker-hackmd

docker-compose up



How to Use it


Step 8

Open a browser to the IP address or FQDN of your CodiMD server on port 3000.

Example: http://codimd.linuxhq.io:3000

You will be greated with the CodiMD landing page.


Step 9

Click on Sign in


Step 10

This is the first time anyone has used this system we will need to create an account. Enter your email, choose a password, then click on the "Register" tab at the bottom of the authentication prompt.


Step 11

An account has been created for you. Now we can click the sign in and begin using our CodiMD server!




Post Configuration

In the docker-hackermd folder you will find the docker-compose.yml file.

If you want your CodiMD server to run on port 80 so a :3000 is nore required, open the docker-compose.yml file

Towards the bottom you will find a ports section that looks similar to this...


ports:
      # Ports that are published to the outside.
      # The latter port is the port inside the container. It should always stay on 3000
      # If you only specify a port it'll published on all interfaces. If you want to use a
      # local reverse proxy, you may want to listen on 127.0.0.1.
      # Example:
      # - "127.0.0.1:3000:3000"
      - "3000:3000"
    networks:
      backend:
    restart: always
    depends_on:
      - database


Change the port to 80, your section should now look like this...


ports:
      # Ports that are published to the outside.
      # The latter port is the port inside the container. It should always stay on 3000
      # If you only specify a port it'll published on all interfaces. If you want to use a
      # local reverse proxy, you may want to listen on 127.0.0.1.
      # Example:
      # - "127.0.0.1:3000:3000"
      - "80:3000"
    networks:
      backend:
    restart: always
    depends_on:
      - database




Install Notes

Pro-Tip: Run CodiMD in a screen session and you can easily connect and disconnect from a persistent CodiMD session.