2022-06-09 11:17:14 +03:00
services :
engine :
2022-06-14 09:54:41 -06:00
image : grafana/oncall
2022-06-09 15:49:14 +03:00
ports :
- 8080 : 8080
2022-06-09 11:17:14 +03:00
command : >
sh -c "uwsgi --ini uwsgi.ini"
environment :
2022-06-13 16:39:58 -06:00
BASE_URL : $DOMAIN
2022-06-09 11:17:14 +03:00
SECRET_KEY : $SECRET_KEY
RABBITMQ_USERNAME : "rabbitmq"
RABBITMQ_PASSWORD : $RABBITMQ_PASSWORD
RABBITMQ_HOST : "rabbitmq"
RABBITMQ_PORT : "5672"
RABBITMQ_DEFAULT_VHOST : "/"
MYSQL_PASSWORD : $MYSQL_PASSWORD
MYSQL_DB_NAME : oncall_hobby
MYSQL_USER : ${MYSQL_USER:-root}
MYSQL_HOST : ${MYSQL_HOST:-mysql}
MYSQL_PORT : 3306
REDIS_URI : redis://redis:6379/0
DJANGO_SETTINGS_MODULE : settings.hobby
2022-06-09 23:05:31 +03:00
OSS : "True"
CELERY_WORKER_QUEUE : "default,critical,long,slack,telegram,webhook,retry,celery"
2022-06-09 11:17:14 +03:00
depends_on :
mysql :
condition : service_healthy
oncall_db_migration :
condition : service_completed_successfully
rabbitmq :
condition : service_started
redis :
condition : service_started
celery :
# TODO: change to the public image once it's public
2022-06-14 09:54:41 -06:00
image : grafana/oncall
2022-06-09 11:17:14 +03:00
command : sh -c "./celery_with_exporter.sh"
environment :
2022-06-13 16:39:58 -06:00
BASE_URL : $DOMAIN
2022-06-09 11:17:14 +03:00
SECRET_KEY : $SECRET_KEY
RABBITMQ_USERNAME : "rabbitmq"
RABBITMQ_PASSWORD : $RABBITMQ_PASSWORD
RABBITMQ_HOST : "rabbitmq"
RABBITMQ_PORT : "5672"
RABBITMQ_DEFAULT_VHOST : "/"
MYSQL_PASSWORD : $MYSQL_PASSWORD
MYSQL_DB_NAME : oncall_hobby
MYSQL_USER : ${MYSQL_USER:-root}
MYSQL_HOST : ${MYSQL_HOST:-mysql}
MYSQL_PORT : 3306
REDIS_URI : redis://redis:6379/0
DJANGO_SETTINGS_MODULE : settings.hobby
2022-06-09 23:05:31 +03:00
OSS : "True"
CELERY_WORKER_QUEUE : "default,critical,long,slack,telegram,webhook,retry,celery"
2022-06-09 11:17:14 +03:00
CELERY_WORKER_CONCURRENCY : "1"
CELERY_WORKER_MAX_TASKS_PER_CHILD : "100"
CELERY_WORKER_SHUTDOWN_INTERVAL : "65m"
CELERY_WORKER_BEAT_ENABLED : "True"
depends_on :
mysql :
condition : service_healthy
oncall_db_migration :
condition : service_completed_successfully
rabbitmq :
condition : service_started
redis :
condition : service_started
oncall_db_migration :
2022-06-14 09:54:41 -06:00
image : grafana/oncall
2022-06-09 11:17:14 +03:00
command : python manage.py migrate --noinput
environment :
2022-06-13 16:39:58 -06:00
BASE_URL : $DOMAIN
2022-06-09 11:17:14 +03:00
SECRET_KEY : $SECRET_KEY
RABBITMQ_USERNAME : "rabbitmq"
RABBITMQ_PASSWORD : $RABBITMQ_PASSWORD
RABBITMQ_HOST : "rabbitmq"
RABBITMQ_PORT : "5672"
RABBITMQ_DEFAULT_VHOST : "/"
MYSQL_PASSWORD : $MYSQL_PASSWORD
MYSQL_DB_NAME : oncall_hobby
MYSQL_USER : ${MYSQL_USER:-root}
MYSQL_HOST : ${MYSQL_HOST:-mysql}
MYSQL_PORT : 3306
REDIS_URI : redis://redis:6379/0
DJANGO_SETTINGS_MODULE : settings.hobby
2022-06-09 23:05:31 +03:00
OSS : "True"
CELERY_WORKER_QUEUE : "default,critical,long,slack,telegram,webhook,retry,celery"
2022-06-09 11:17:14 +03:00
depends_on :
mysql :
condition : service_healthy
2022-06-14 09:14:45 -06:00
rabbitmq :
condition : service_started
2022-06-09 11:17:14 +03:00
mysql :
image : mysql:5.7
platform : linux/x86_64
mem_limit : 500m
cpus : 0.5
2022-06-14 09:14:45 -06:00
command : --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
2022-06-09 11:17:14 +03:00
restart : always
ports :
- 3306 : 3306
volumes :
- dbdata:/var/lib/mysql
environment :
MYSQL_ROOT_PASSWORD : $MYSQL_PASSWORD
MYSQL_DATABASE : oncall_hobby
healthcheck :
test : "mysql -uroot -p$MYSQL_PASSWORD oncall_hobby -e 'select 1'"
timeout : 20s
retries : 10
redis :
image : redis
mem_limit : 100m
cpus : 0.1
restart : always
ports :
- 6379 : 6379
rabbitmq :
image : "rabbitmq:3.7.15-management"
hostname : rabbitmq
mem_limit : 1000m
cpus : 0.5
volumes :
- rabbitmqdata:/var/lib/rabbitmq
environment :
RABBITMQ_DEFAULT_USER : "rabbitmq"
RABBITMQ_DEFAULT_PASS : $RABBITMQ_PASSWORD
RABBITMQ_DEFAULT_VHOST : "/"
mysql_to_create_grafana_db :
image : mysql:5.7
platform : linux/x86_64
command : bash -c "mysql -h ${MYSQL_HOST:-mysql} -uroot -p${MYSQL_PASSWORD:?err} -e 'CREATE DATABASE IF NOT EXISTS grafana CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'"
depends_on :
mysql :
condition : service_healthy
profiles :
- with_grafana
grafana :
2022-06-10 22:58:46 +03:00
image : "grafana/grafana:9.0.0-beta3"
2022-06-09 11:17:14 +03:00
mem_limit : 500m
2022-06-09 15:49:14 +03:00
ports :
- 3000 : 3000
2022-06-09 11:17:14 +03:00
cpus : 0.5
environment :
GF_DATABASE_TYPE : mysql
GF_DATABASE_HOST : ${MYSQL_HOST:-mysql}
GF_DATABASE_USER : ${MYSQL_USER:-root}
GF_DATABASE_PASSWORD : ${MYSQL_PASSWORD:?err}
GF_SECURITY_ADMIN_USER : ${GRAFANA_USER:-admin}
GF_SECURITY_ADMIN_PASSWORD : ${GRAFANA_PASSWORD:?err}
GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS : grafana-oncall-app
GF_INSTALL_PLUGINS : grafana-oncall-app
depends_on :
mysql_to_create_grafana_db :
condition : service_completed_successfully
mysql :
condition : service_healthy
profiles :
- with_grafana
volumes :
dbdata :
rabbitmqdata :
caddy_data :
2022-06-09 15:49:14 +03:00
caddy_config :