Simplify the container setup
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