docker-compose.yml

Summary

Maintainability
Test Coverage
version: '3.7'

services:
  db:
    image: mariadb:10.2
    restart: unless-stopped
    volumes:
      - mariadb:/var/lib/mysql
    extends:
      service: base
      file: docker-compose-base.yml

  rmt:
    build: .
    restart: unless-stopped
    environment:
      - MYSQL_HOST=db
      - SECRET_KEY_BASE=${SECRET_KEY_BASE}
      - SCC_USERNAME=${SCC_USERNAME}
      - SCC_PASSWORD=${SCC_PASSWORD}
    volumes:
      - .:/srv/www/rmt
      - public:/srv/www/repo/public/
    depends_on:
      - db
    extends:
      service: base
      file: docker-compose-base.yml
    # Needed if you want to run SUSEConnect from inside this container.
    devices:
      - "/dev/mem:/dev/mem"
    # Needed if you want to run SUSEConnect from inside this container.
    cap_add:
      - sys_rawio
    command: bundle exec rails runner /srv/www/rmt/bin/compose-init.rb

  nginx:
    image: nginx:1.14
    volumes:
      - ./public:/var/www/
      - ./nginx/default.conf:/tmp/default.template
    ports:
      - "${EXTERNAL_PORT}:80"
    depends_on:
      - rmt
    entrypoint: /bin/bash -c 'cat /tmp/default.template | sed "s/\\\$$server_port/$EXTERNAL_PORT/g" > /etc/nginx/conf.d/default.conf && nginx -g "daemon off;"'

volumes:
  public:
  mariadb:
  db_storage:
    driver: local