Docker

apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"
sudo apt update
sudo apt -y install docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER
newgrp docker
docker version

Docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version

CodiMD

Application de prise de note collaborative avec syntaxe markdown github

Installation

​​​​git clone https://github.com/hackmdio/codimd-container.git
​​​​cd codimd-container
​​​​docker-compose up

L'application est alors accessible http://127.0.0.1:3000

Backup

​​​​docker-compose exec database pg_dump hackmd -U hackmd  > backup.sql

Restauration

​​​​cat backup.sql | docker exec -i $(docker-compose ps -q database) psql -U hackmd    

Automatisation des backups

backup_codimd.sh

#!/bin/bash
docker-compose exec database pg_dump hackmd -U hackmd  > backup_`date +%Y%m%d`.sql

#Variables
HOST=192.168.1.254
LOGIN=freebox
PASSWORD=monPassword

# Connection et transfert
ftp -i -n $HOST << END_SCRIPT
quote USER $LOGIN
quote PASS $PASSWORD
cd /"Disque dur"/Backup/
bin
put backup_`date +%Y%m%d`.sql
quit
END_SCRIPT

Rentre le fichier executable

​​​​chmod 755 backup_codimd.sh

Ajout de la ligne a crontab -e

# Tous les jours à minuit
0 0 * * * /home/mathgon/codimd-container/backup_codimd.sh

Mise à jour du container


#Update all images
docker-compose pull
#Let compose update all containers
docker-compose up -d
#Remove the old dangling images
docker image prune

Reinstaller

:NOTES:
Penser à sauvegarder les db issues des containers
docker
/etc/fstab
cronfiles
/etc/samba/smb.conf