Commit 3df40423 authored by David Foucher's avatar David Foucher

Add dockerfile for backup process

parent 53b1f5f7
#!/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