Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
Documentation
Documentation
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 12
    • Issues 12
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • TeDomum
  • DocumentationDocumentation
  • Wiki
  • Installation d'un service

Last edited by kaiyou Aug 17, 2017
Page history

Installation d'un service

Lorsqu'une application est ajoutée, on vérifie d'abord qu'elle n'est pas déjà configurée (par exemple, une application DNS dispose déjà d'une configuration qu'il suffit d'activer).

Configurer une application existante

On ajoute l'application à la liste du checkout et mettre à jour :

cd /srv
echo app >> .git/info/sparse-checkout
git pull origin master

On configure les éléments nécessaires à l'application, sans éditer le docker-compose.yml ou les autres fichiers génériques du dépôt.

Ajouter une nouvelle application

Structure

On choisit le nom de l'application pour ne pas coïncider avec celui d'une application existante. On créer le dossier de l'application dans /srv :

cd /srv/app

Enfin, on crée le fichier docker-compose.yml, les éventuels dossiers de données et de configuration associés :

mkdir /srv/app/conf
mkdir /srv/app/data
vim /srv/app/docker-compose.yml

Au besoin, on ajoute des répertoires de données par service, ou pour plusieurs types de données, en employant des noms significatifs, par exemple : uploads, attachments, db, etc.

En fin de configuration, ces fichiers sont commités sur le dépôt Git :

cd /srv
echo app >> .git/info/sparse-checkout
git add app/docker-compose.yml
git commit
git push origin master

Configuration Compose

Dans le fichier docker-compose, on choisit des noms de service Docker Compose significatifs, tels que db, web, backend, etc. On n'inclut que des données génériques dans le docker-compose.yml, voué à être publié.

Toutes les données non génériques seront importées depuis un fichier .env, soit par passage explicite de variable :

ports:
  $ipv4:25:25
  $ipv6:25:25

Soit par passage implicite directement dans l'environnement du conteneur :

environment:
  - DATABASE_USER
  - DATABASE_PASSWORD

Le fichier .env contient alors :

ipv4=1.2.3.4
ipv6=2101:f8c2:4401::1
DATABASE_USER=myuser
DATABASE_PASSWORD=mypassword

Exposition de services

Pour exposer un service directement via UDP ou TCP, on choisit une des paires d'adresses publiques de la machine, et on configure dans le docker-compose.yml les ports exposés, en utilisant des variables pour la généricité.

Pour exposer un service Web, on configure les labels traefik, comme suit :

    labels:
      - traefik.enable=true
      - traefik.frontend.rule=Host:domain.tedomum.net
      - traefik.frontend.contentSecurityPolicy=default-src 'self'; style-src 'self' 'unsafe-inline'
      - traefik.port=8081

La configuration CSP est optionnelle mais conseillée ; le contenu du header doit être adapté à l'application.

Clone repository
  • Assemblées et rassemblements
  • Conception de l'infrastructure
  • DNS
  • Docker
  • Démarrage d'un serveur
  • Email
  • Fediverse
  • Gestion des membres
  • Hiboo
  • Infrastructure de tests
  • Installation d'un service
  • Installation d'un système
  • Maintenance d'un serveur
  • Nitter
  • Odoo
View All Pages