refactor(HedgeDoc): Used empty docker-compose on url folder to simplify #2

Merged
kosssi merged 1 commits from refs/pull/2/head into master 2021-07-23 15:47:53 +02:00
kosssi commented 2021-07-23 15:42:36 +02:00 (Migrated from git.weko.io)

Finalement j’ai trouvé une façon encore plus simple de faire ce que je voulais sans l’utilisation de extends

En faite dans docker, j’utilise la variable d’environnement COMPOSE_FILE (qui s’utilise comme ceci COMPOSE_FILE=docker-compose.yml:../docker-compose.yml) ce qu’il faut savoir c’est que le premier fichier indiqué dans la variable fait figure de racine pour docker.

Du coup avant je pointais directement vers mon template ce qui fait que docker prenait ce dossier comme référence pour mes 2 différents services ce qui posait un souci vu que docker supprimait les conteneurs… il suffit donc d’ajouter un fichier ‘docker-compose.yml’ avec juste version: "3.8" et le mettre en premier dans le COMPOSE_FILE et faire ce que je faisais avant…

Il y a des petites subtilités dans docker ^^

J'ai ajouté un exemple dans le dossier example ;)

Finalement j’ai trouvé une façon encore plus simple de faire ce que je voulais sans l’utilisation de `extends`… En faite dans docker, j’utilise la variable d’environnement `COMPOSE_FILE` (qui s’utilise comme ceci `COMPOSE_FILE=docker-compose.yml:../docker-compose.yml`) ce qu’il faut savoir c’est que le premier fichier indiqué dans la variable fait figure de racine pour docker. Du coup avant je pointais directement vers mon template ce qui fait que docker prenait ce dossier comme référence pour mes 2 différents services ce qui posait un souci vu que docker supprimait les conteneurs… il suffit donc d’ajouter un fichier ‘docker-compose.yml’ avec juste `version: "3.8"` et le mettre en premier dans le `COMPOSE_FILE` et faire ce que je faisais avant… Il y a des petites subtilités dans docker ^^ J'ai ajouté un exemple dans le dossier example ;)
killian (Migrated from git.weko.io) reviewed 2021-07-23 15:42:46 +02:00
kosssi commented 2021-07-23 15:49:47 +02:00 (Migrated from git.weko.io)

Voici l'execution de l'exemple :

$ cd examples/hedgedoc.exemple.fr/
$ docker-compose config
networks:
  default:
    name: traefik
services:
  hedgedoc:
    container_name: hedgedoc_exemple_fr_hedgedoc
    depends_on:
      postgres:
        condition: service_started
    environment:
      CMD_ALLOW_EMAIL_REGISTER: "true"
      CMD_ALLOW_FREEURL: "false"
      CMD_ALLOW_GRAVATAR: "true"
      CMD_DB_URL: postgres://user:password@postgres:5432/database
      CMD_DOMAIN: hedgedoc.exemple.fr
      CMD_PROTOCOL_USESSL: "false"
      NODE_ENV: development
    image: linuxserver/hedgedoc:1.8.2-ls22
    labels:
      traefik.docker.network: traefik
      traefik.enable: "true"
      traefik.http.routers.hedgedoc.entrypoints: web
      traefik.http.routers.hedgedoc.rule: Host(`hedgedoc.exemple.fr`)
    restart: always
    volumes:
    - hedgedoc:/config:rw
    - /etc/localtime:/etc/localtime:ro
    - /etc/timezone:/etc/timezone:ro
  postgres:
    container_name: hedgedoc_exemple_fr_postgres
    environment:
      POSTGRES_DB: database
      POSTGRES_PASSWORD: password
      POSTGRES_USER: user
    image: postgres:13.3-alpine
    restart: always
    volumes:
    - /etc/localtime:/etc/localtime:ro
    - /etc/timezone:/etc/timezone:ro
    - postgres:/var/lib/postgresql/data:rw
version: '3.8'
volumes:
  hedgedoc:
    name: hedgedoc_exemple_fr_hedgedoc
  postgres:
    name: hedgedoc_exemple_fr_postgres
Voici l'execution de l'exemple : ``` $ cd examples/hedgedoc.exemple.fr/ $ docker-compose config networks: default: name: traefik services: hedgedoc: container_name: hedgedoc_exemple_fr_hedgedoc depends_on: postgres: condition: service_started environment: CMD_ALLOW_EMAIL_REGISTER: "true" CMD_ALLOW_FREEURL: "false" CMD_ALLOW_GRAVATAR: "true" CMD_DB_URL: postgres://user:password@postgres:5432/database CMD_DOMAIN: hedgedoc.exemple.fr CMD_PROTOCOL_USESSL: "false" NODE_ENV: development image: linuxserver/hedgedoc:1.8.2-ls22 labels: traefik.docker.network: traefik traefik.enable: "true" traefik.http.routers.hedgedoc.entrypoints: web traefik.http.routers.hedgedoc.rule: Host(`hedgedoc.exemple.fr`) restart: always volumes: - hedgedoc:/config:rw - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro postgres: container_name: hedgedoc_exemple_fr_postgres environment: POSTGRES_DB: database POSTGRES_PASSWORD: password POSTGRES_USER: user image: postgres:13.3-alpine restart: always volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - postgres:/var/lib/postgresql/data:rw version: '3.8' volumes: hedgedoc: name: hedgedoc_exemple_fr_hedgedoc postgres: name: hedgedoc_exemple_fr_postgres ```
Sign in to join this conversation.
No reviewers
No Label
Directus
Traefik
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: ResiLien/services#2
No description provided.