# How To Install: CodiMD
Last updated on: 08-28-2019
***
## 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...
Change the port to 80, your section should now look like this...
***
### Install Notes Pro-Tip: Run CodiMD in a screen session and you can easily connect and disconnect from a persistent CodiMD session. ***
## 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. ***