README
# les choses à configurer pour son instance gavo.rc car il y a l'ip du serveur ou son nom dns
# le nom du dépot correspnd au nom du projet/nom du serveur, ici /vespa/voparis-tap-planeto/
#Configuration du docker mydachs une fois lancé
apt-get update
apt-get upgrade
apt-get install apache2
apt-get install awstats
apt-get install geoip-database
apt-get install libgeo-ipfree-perl
apt-get install git
apt-get install wget
cd /home/dachsroot/
git clone https://gitlab.obspm.fr/vespa/dachs/servers/padc/voparis-tap-planeto.git
$chemin=/home/dachsroot/nom_du_serveur/
# sous root configuration du serveur
cp chemin/conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
service apache2 restart
# restart d'apache pour éviter le conflit de port, apache sera sur le port 8080
cp chemin/conf/awstats.dachs.conf /etc/awstats/awstats.dachs.conf
a2enmod cgi
service apache2 restart
cp chemin/conf/gavo.rc /etc/gavo.rc
cp chemin/conf/defaultmeta.txt
chown dachsroot:gavo /var/gavo/etc/defaultmeta.txt
cp chemin/conf/logo* /var/gavo/web/nv_static/img/
chown dachsroot:gavo /var/gavo/web/nv_static/img/logo*
# sous root configuration des services
cp -r chemin/services/ /var/gavo/inputs/
chown -R dachsroot:gavo /var/gavo/inputs/*
#ingestion des données et création des services
#depuis chacun des sous répertoires de services
$sous_rep = nom_sous_repertoire (ici planets seulement)
# pour chaque service
su -u dachsroot 'gavo imp /var/gavo/inputs/sous_rep/q.rd
su -u dachsroot 'gavo pub //services'
su -u dachsroot 'gavo pub //tap'
su -u dachsroot 'gavo pub /var/gavo/inputs/sous_rep/q.rd'
gavo serve restart
## mettre en cron.daily un fichier en 777 avec
#!/bin/bash
/usr/bin/perl /usr/lib/cgi-bin/awstats.pl -config=dachs -update
## truc à penser
FROM debian:latest
RUN apt-get -y update
RUN apt-get -y install awstats
RUN apt-get -y install apache2
EXPOSE 80
###########################
#help.mdwn :
###########################
#source
https://docs.docker.com/compose/compose-file/
# packet docker necessaire sur le serveur (deb 10)
sudo apt install docker docker.io wmdocker
# commande nettoyage pour test
docker stop dachs-voparis && docker rm dachs-voparis && docker image rm dachs-voparis:latest && docker system prune
#fonctionnement du docker
dans l'ordre
.env => définis les variables utilisé dans docker-compose.yml
docker-compose.yml => définis les dockers et les params de build des bulles
dachs-dockerfile => définis les lignes de commandes pour build dachs
docker-entrypoint.sh => script executé au démarrage du docker
secrets / id_rsa-phamy.prive ==> Ne JAMAIS mettre dans un git !!!
docker-compose up -d ==> lance la séquence, --build pour forcer la maj
docker image list => list les images
docker ps -a => list les dockers
docker image rm rep_dachs pour supprimer l'image docker
docker rm dachs pour supprimer le docker
# link de docker
si besoin de séparer awstat
Ne pas utiliser link "depreciate"
version: "3"
services:
proxy:
build: ./proxy
networks:
- frontend
app:
build: ./app
networks:
- frontend
- backend
db:
image: postgres
networks:
- backend
networks:
frontend:
# Use a custom driver
driver: custom-driver-1
backend:
# Use a custom driver which takes special options
driver: custom-driver-2
driver_opts:
foo: "1"
bar: "2"
# volume data
ajouter dans le yaml docker-compose
version: "3"
services:
db:
image: postgres:13
volumes:
- db-data:/var/lib/postgresql/data
networks:
- backend
networks:
frontend:
volumes:
db-data:
# passage de variable dans un docker-compose
Beside your docker-compose.yml file, create a new text file called .env. In it, add the following:
cat .env
CLIENT_ID=yourclientid
CLIENT_SECRET=yourclientsecret
Now, open your docker-compose.yml file again, and replace yourclientid with ${CLIENT_ID} and yourclientsecret with ${CLIENT_SECRET}. That is:
services:
app:
. . . #snipped
environment:
- GITHUB_CLIENT_ID=${CLIENT_ID}
- GITHUB_CLIENT_SECRET=${CLIENT_SECRET}
# comment passer des mots des passes
version: "3.7"
services:
dachs:
container_name: dachs-voparis
image: dachs-voparis
build:
dockerfile: dachs-dockerfile
secrets:
- id_rsa
secrets:
id_rsa:
file: id_rsa-phamy.prive
pour chaque docker dont le secrets id_rsa sera défini, le fichier sera copie dans le docker dans /run/secrets/id_rsa
root@c459f2b03173:~# ls -tralh /run/secrets/
total 16K
-rw-r--r-- 1 dachsroot gavo 739 Nov 24 08:43 id_rsa
--> sans docker swarm les droits sont ceux de l'hote !