694241ad77
This started with me wondering why gerritbot was putting all its output into /var/log/syslog -- it turns out Xenial docker is configured to use journalctl (which forwards to syslog) and Bionic onwards uses json-file. Both are sub-optimial; but particularly the json-file because we lose the logs when the container dies. This proposes moving to a more standard model of having the containers log to syslog and redirecting that to files on disk. Install a rsyslog configuration to capture "docker-*" program names and put them into logfiles in /var/log/containers. Also install rotation for these files. In an initial group of docker-compose files, setup logging to syslog which should then be captured into these files. Add some basic testing. If this works OK, I think we can standardise our docker-compose files like this to caputure the logs the same everywhere. Change-Id: I940a5b05057e832e2efad79d9a2ed5325020ed0c
60 lines
1.4 KiB
Django/Jinja
60 lines
1.4 KiB
Django/Jinja
# Version 2 is the latest that is supported by docker-compose in
|
|
# Ubuntu Xenial.
|
|
version: '2'
|
|
|
|
services:
|
|
mariadb:
|
|
image: docker.io/library/mariadb:10.4
|
|
network_mode: host
|
|
restart: always
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: "{{ gitea_root_db_password }}"
|
|
MYSQL_DATABASE: gitea
|
|
MYSQL_USER: "{{ gitea_db_username }}"
|
|
MYSQL_PASSWORD: "{{ gitea_db_password }}"
|
|
volumes:
|
|
- /var/gitea/db:/var/lib/mysql
|
|
logging:
|
|
driver: syslog
|
|
options:
|
|
tag: "docker-mariadb"
|
|
gitea-web:
|
|
depends_on:
|
|
- mariadb
|
|
image: docker.io/opendevorg/gitea:latest
|
|
network_mode: host
|
|
restart: always
|
|
environment:
|
|
- USER_UID=1000
|
|
- USER_GID=1000
|
|
ulimits:
|
|
stack:
|
|
soft: 16777216
|
|
hard: 9223372036854775807
|
|
volumes:
|
|
- /var/gitea/data:/data
|
|
- /var/gitea/conf:/custom/conf
|
|
- /var/gitea/logs:/logs
|
|
- /var/gitea/certs:/certs
|
|
logging:
|
|
driver: syslog
|
|
options:
|
|
tag: "docker-gitea"
|
|
gitea-ssh:
|
|
depends_on:
|
|
- mariadb
|
|
- gitea-web
|
|
environment:
|
|
- SSH_LISTEN_PORT=222
|
|
image: docker.io/opendevorg/gitea-openssh
|
|
network_mode: host
|
|
restart: always
|
|
volumes:
|
|
- /var/gitea/data:/data
|
|
- /var/gitea/conf:/custom/conf
|
|
- /var/gitea/logs:/logs
|
|
logging:
|
|
driver: syslog
|
|
options:
|
|
tag: "docker-gitea-ssh"
|