**Ceci est une ancienne révision du document !**
Ajouter un site web sur le domaine Picasoft
Généralités
Historiquement, nous utilisions une image Nginx maison intégrant PHP afin de publier nos sites. Nous avons décidé de changer pour utiliser les images officielles Nginx et PHP afin d’avoir moins d’images à maintenir ainsi que pour respecter les philosophie Docker.
Deploy your applications in separate containers independently and in different languages. Reduce the risk of conflict between languages, libraries or frameworks.
Il faut donc créer un nouveau projet sur Gitlab dans Picasoft/Technique/Services
. On pourra se baser sur les exemples existants (website
, culture
, uploads
et stiegler
par exemple).
Le lancement d’un nouveau site peut s’expérimenter sur pica01-test
.
Déploiement du site vide
Note:
Les conteneurs des sites se déploient grâce à un fichier Compose situé sur ce dépôt.
Pour ajouter un conteneur pour un nouveau site, appelons le aomame
, il suffira de rajouter un service dans le fichier Compose, par exemple :
- snippet.yaml
volumes: [...] aomame: name: aomame services: [...] aomame: container_name: aomame image: *NGINX_IMAGE volumes: - aomame:/var/www/html labels: traefik.http.routers.mon_site.entrypoints: websecure traefik.http.routers.mon_site.rule: Host(`aomame.picasoft.net`) traefik.http.services.mon_site.loadbalancer.server.port: 80 traefik.enable: true environment: AUTOINDEX: false networks: - proxy restart: unless-stopped
Dans les grandes lignes, un conteneur du nom de aomame
est créé à partir de l’image nginx
construite par Picasoft. Elle répondra à aomame.picasoft.net
, et tout ce qui se trouve sous /var/www/html
(i.e. tout ce qui est servi par nginx
) sera persisté dans un volume Docker.
La variable d’environnement AUTOINDEX
contrôle si le contenu des dossiers est affiché dans le navigateur (par exemple, si AUTOINDEX=true
, une consultation de aomame.picasoft.net
m’affichera tous les fichiers présents dans /var/www/html
).
Attention:
Par défaut, AUTOINDEX
vaut false
, car l’affichage de l’intégralité des dossiers n’est généralement pas voulu. On préfère que la navigation se fasse au fil des hyperliens.
À ce stade, le conteneur est prêt à accueillir les pages qui seront servies.
Ajout du contenu
On synchronise le contenu du site dans /tmp/site
, sur pica01
, par exemple.
Ensuite, on copie simplement les fichiers dans le conteneur :
- snippet.bash
docker cp /tmp/site/* aomame:/var/www/html
À ce stade, le site est prêt à être servi, il ne reste plus qu’à ajouter l’entrée DNS.
Ajout du sous domaine
En filant l’exemple aomame
, il faut ajouter une entrée pour aomame.picasoft.net
dans le fichier de zone DNS.
Pour ce faire, on se référera à la documentation sur la gestion des noms de domaine de Picasoft, en particulier sur la partie d’ajout de sous-domaine.