Commit f8f04bd6 authored by David Foucher's avatar David Foucher

Merge branch 'backup' into 'master'

Backup

Add docker backup container
Backup docker folder without logs

See merge request !48
parents 53b1f5f7 3df40423
Pipeline #2947 passed with stage
in 1 minute and 28 seconds
#!/bin/sh
DATE=`date +%A`
DAY=`date +%d`
DIR="."
TREFLE_DATA="trefle-data_${DAY}.tar.gz"
if [ "$1" ]
then
DIR="$1"
fi
tar --exclude=data/* --exclude=log/* --exclude=*.tar.gz -czvf $DIR/$TREFLE_DATA /home/docker
......@@ -55,3 +55,14 @@ services:
- HOST=trefle
- OLD_VERSION=${OLD_VERSION}
- OLD_HOST=trefle-old
backup:
restart: unless-stopped
build:
context: .
dockerfile: dockerfile_backup
hostname: backups
volumes:
- ./backup/srv/backups:/srv/backups
- .:/home/docker
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
FROM ubuntu:bionic
ENV LANG=fr_FR.UTF-8
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
apt-get -y install cron && \
apt-get -y install bzip2 tar language-pack-fr vim
RUN echo "LANG=\"fr_FR.UTF-8\"\nLANGUAGE=\"fr_FR:fr\"\nLC_NUMERIC=\"fr_FR.UTF-8\"\nLC_TIME=\"fr_FR.UTF-8\"\nLC_MONETARY=\"fr_FR.UTF-8\"\nLC_PAPER=\"fr_FR.UTF-8\"\nLC_IDENTIFICATION=\"fr_FR.UTF-8\"\nLC_NAME=\"fr_FR.UTF-8\"\nLC_ADDRESS=\"fr_FR.UTF-8\"\nLC_TELEPHONE=\"fr_FR.UTF-8\"\nLC_MEASUREMENT=\"fr_FR.UTF-8\"" >>/etc/default/locale
COPY backup/backup.sh /srv/backup.sh
RUN echo "0 2 * * * root /bin/sh /srv/backup.sh /srv/backups >/dev/null 2>&1" >>/etc/cron.d/backups
CMD chown -R root: /srv/backups && \
cron -f
......@@ -2,10 +2,11 @@
Trèfle est déployé avec `docker-compose`.
La stack est composé de 3 dockers:
La stack est composé de 4 dockers:
* le docker *trefle* conteneur de l'API
* le docker *trefle-old* conteneur de l'API en version n-1
* le docker *web* conteneur pour le serveur web nginx
* le docker *backup* conteneur pour la sauvegarde du dossier docker (utile pour le .env et authorisations.csv)
Le serveur web expose une interface pas version d'API, chaque interface doit-être compatible avec la version API déployé. Ce sont les variables d'env `TREFLE_VERSION` et `TREFLE_OLD_VERSION` qui indiquent les numéros de version depuis lesquels déployer les interfaces. Ces variables sont renseognées dans le fichier `.gitlab-ci` et dans le fichier `docker-compose.override.yml`.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment