Ajouter un site web sur le domaine Picasoft

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.

Un site de base peut être déployé à partir de ce docker-compose :

snippet.yaml
version: "3.7"

volumes:
  monbeausite:
    name: monbeausite

networks:
  proxy:
    external: true

services:
  school:
    container_name: monbeausite
    image: nginx:1.21-alpine
    volumes:
      - monbeausite:/usr/share/nginx/html:ro
    labels:
      traefik.http.routers.school.entrypoints: websecure
      traefik.http.routers.school.rule: Host(`monbeausite.picasoft.net`)
      traefik.http.services.school.loadbalancer.server.port: 80
      traefik.enable: true
    networks:
      - proxy
    restart: unless-stopped

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.

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.

  • technique/adminserv/sites/website.1650177855.txt.gz
  • de rdelaage