emfcamp / Website

The Electromagnetic Field web site
http://www.emfcamp.org
GNU Affero General Public License v3.0
41 stars 83 forks source link

Stop merging docker compose files #1763

Open marksteward opened 1 month ago

marksteward commented 1 month ago

Docker compose merges keys for override files, so these two:

docker-compose.yml:

    volumes:
      - .:/app
      - ./var/vat_invoices:/vat_invoices
    ports:
      - "2342:2342"
    environment:
      SETTINGS_FILE: ./config/development.cfg
      FLASK_APP: dev_server.py
      FLASK_ENV: development
      COLORIZE_LOGS: always
      PYTHONUNBUFFERED: 1
      IRCCAT: fakeirccat:12345

docker-compose.prod.yml:

    ports:
      - "127.0.0.1:8000:8000"
    volumes:
      - /etc/emf-site.cfg:/app/config/production.cfg
      - /etc/emf:/etc/emf
      - /var/lib/emf_vat_invoices:/vat_invoices
...
    environment:
      SETTINGS_FILE: ./config/production.cfg
      IRCCAT: irccat.orga.emfcamp.org:12345

Become:

    ports:
      - "127.0.0.1:8000:8000"
      - "2342:2342"
    volumes:
      - .:/app
      - /etc/emf-site.cfg:/app/config/production.cfg
      - /etc/emf:/etc/emf
      - /var/lib/emf_vat_invoices:/vat_invoices
    environment:
      FLASK_APP: dev_server.py
      FLASK_ENV: development
      COLORIZE_LOGS: always
      PYTHONUNBUFFERED: 1
      SETTINGS_FILE: ./config/production.cfg
      IRCCAT: irccat.orga.emfcamp.org:12345

Sadly, the nice fix, using !override, needs a newer version of docker compose (2.24.4) than we have in prod (2.21.0, on Debian 12). So it might be worth using extends instead.