Skip to content

Simplify the container setup

Andrej Shadura requested to merge simplify-containers into collabora/main

As described in T31547, this merge request removes the following from the front-end image:

  • Apache + mod_passenger
  • MariaDB
  • memcached

MariaDB and memcached are best provided by separately maintainer container images, while there really is no need to run Apache and terminate TLS inside of the front-end container. Instead of Apache + Passenger, use Puma, which seems to be the standard solution for cases like this.

After this MR is accepted, the obs-api container can be replaced by the following configuration (in terms of Docker Compose):

obs-db:
  image: mariadb:10.6
  restart: unless-stopped
  volumes:
    - /srv/docker/obs-api/mysql:/var/lib/mysql
  environment:
    MARIADB_ROOT_PASSWORD: someobs
    MARIADB_DATABASE: obsapi
    MARIADB_USER: obs-api
    MARIADB_PASSWORD: someobs
  networks:
    - obs

cache:
  image: memcached:1.6-alpine
  restart: unless-stopped
  networks:
    - obs

obs-frontend:
  depends_on:
    - obs-server
  image: obs/obs-frontend
  hostname: obs-api
  restart: unless-stopped
  environment:
    DB_HOST: obs-db
    DB_PORT: 3306
    DB_ROOT_PASSWORD: someobs
    DB_NAME: obsapi
    DB_USER: obs-api
    DB_PASSWORD: someobs
    OBS_BACKEND_HOST: obs-server
    OBS_FRONTEND_WORKERS: 4
  networks:
    - obs
  ports:
    - "127.0.0.1:3000:3000"
  depends_on:
    - obs-db
    - cache
Edited by Andrej Shadura

Merge request reports