NewsBlur-viq/ansible/roles/redis/tasks/main.yml
2021-10-25 21:24:00 -04:00

91 lines
2.8 KiB
YAML

---
- name: Template redis_replica.conf file
template:
src: /srv/newsblur/docker/redis/redis_replica.conf.j2
dest: /srv/newsblur/docker/redis/redis_replica.conf
notify: restart redis
register: updated_config
- name: Start redis docker containers
become: yes
docker_container:
name: redis
image: redis:6.2.6
state: started
command: /usr/local/etc/redis/redis_server.conf
container_default_behavior: no_defaults
hostname: "{{ inventory_hostname }}"
networks_cli_compatible: yes
# network_mode: host
network_mode: default
networks:
- name: newsblurnet
aliases:
- redis
ports:
- 6379:6379
restart_policy: unless-stopped
user: 1000:1001
volumes:
- /srv/newsblur/docker/volumes/redis:/data
- /srv/newsblur/docker/redis/redis.conf:/usr/local/etc/redis/redis_server.conf
- /srv/newsblur/docker/redis/redis_replica.conf:/usr/local/etc/redis/redis_replica.conf
- /srv/newsblur/docker/volumes/redis.var.lib:/var/lib/redis
# - name: Register redis in consul
# become: yes
# template:
# src: consul_service.json
# dest: /etc/consul.d/redis.json
# notify:
# - reload consul
# tags: consul
- name: Add sanity checkers cronjob for disk usage
become: yes
cron:
name: disk_usage_sanity_checker
user: root
cron_file: /etc/cron.hourly/disk_usage_sanity_checker
job: >-
docker pull newsblur/newsblur_python3:latest;
OUTPUT=$(eval sudo df / | head -n 2 | tail -1);
docker run --rm -it
-v /srv/newsblur:/srv/newsblur
-h `cat /etc/hostname`
--network=newsblurnet --hostname {{ ansible_hostname }}
newsblur/newsblur_python3 /srv/newsblur/utils/monitor_disk_usage.py $OUTPUT
tags:
- sanity-checker
- name: Add sanity checkers cronjob for redis bg_save
become: yes
cron:
name: redis_bg_save_sanity_checker
user: root
cron_file: /etc/cron.hourly/redis_bg_save_sanity_checker
job: >-
docker pull newsblur/newsblur_python3:latest;
REDIS_LOG_PATH=$(eval docker inspect --format="{{ '{{' }}.LogPath {{ '}}' }}" redis)
docker run --rm -it
-v ${REDIS_LOG_PATH}:${REDIS_LOG_PATH}
-v /srv/newsblur:/srv/newsblur
-h `cat /etc/hostname`
--network=newsblurnet
newsblur/newsblur_python3 /srv/newsblur/utils/monitor_redis_bgsave.py $REDIS_LOG_PATH
when: "'redis' in inventory_hostname"
tags:
- sanity-checker
- name: Add redis backup
cron:
name: "{{ ansible_hostname }} backup"
minute: "0"
hour: "4"
job: >
docker run --rm
-v /srv/newsblur:/srv/newsblur
-v /srv/newsblur/docker/volumes/redis.var.lib/dump.rdb:/var/lib/redis/dump.rdb
--network=newsblurnet
--hostname={{ ansible_hostname }}
newsblur/newsblur_python3 /srv/newsblur/utils/backups/backup_redis.py