version: '2'
services:
  mariadb:
    image: docker.io/library/mariadb:10.11
    network_mode: host
    environment:
      MYSQL_ROOT_PASSWORD: "{{ gerrit_reviewdb_mariadb_password }}"
      MYSQL_DATABASE: "{{ gerrit_reviewdb_mariadb_dbname }}"
      MYSQL_USER: "{{ gerrit_reviewdb_mariadb_username }}"
      MYSQL_PASSWORD: "{{ gerrit_reviewdb_mariadb_password }}"
      MARIADB_AUTO_UPGRADE: 1
    volumes:
      # NOTE(ianw) : mounted under /home/gerrit2 (rather than more
      # usual /var/ in our configs) to keep everything together on the
      # storage attached at /home/gerrit2 on the server.
      - /home/gerrit2/reviewdb:/var/lib/mysql
    logging:
      driver: syslog
      options:
        tag: "docker-mariadb"
  gerrit:
    image: {{ gerrit_container_image }}
    depends_on:
      - mariadb
    command: ["/wait-for-it.sh", "127.0.0.1:3306", "--", "/run-gerrit.sh"]
    network_mode: host
    user: gerrit
    stop_signal: SIGHUP
    stop_grace_period: 5m
    volumes:
{% for volume in gerrit_container_volumes %}
      - {{ volume }}
{% endfor %}
    environment:
      JAVA_OPTIONS: >-
        -Dlog4j2.formatMsgNoLookups=true
{% if gerrit_heap_limit is defined %}
        -Xmx{{ gerrit_heap_limit }}
{% endif %}
    ulimits:
      core: 0
      nofile: {{ gerrit_packed_git_open_files * 2 }}
    cap_add:
      - SYS_PTRACE
  # Utility "service" to allow us to run ad-hoc commands
  shell:
    image: {{ gerrit_container_image }}
    restart: 'no'
    command: /bin/true
    network_mode: host
    user: gerrit
    volumes:
{% for volume in gerrit_container_volumes %}
      - {{ volume }}
{% endfor %}