Use redis role to set up mastodon
This commit is contained in:
parent
42ad3aa103
commit
b3301585ee
5 changed files with 88 additions and 138 deletions
|
@ -1,5 +0,0 @@
|
||||||
save ""
|
|
||||||
appendonly no
|
|
||||||
|
|
||||||
maxmemory 64mb
|
|
||||||
maxmemory-policy allkeys-lru
|
|
|
@ -1 +0,0 @@
|
||||||
save 60 1000
|
|
|
@ -1,3 +1,89 @@
|
||||||
---
|
---
|
||||||
- import_tasks: redis.yml
|
- name: Create mastodon docker network
|
||||||
- import_tasks: mastodon.yml
|
become: true
|
||||||
|
community.docker.docker_network:
|
||||||
|
name: mastodon
|
||||||
|
- name: Create redis container
|
||||||
|
include_role:
|
||||||
|
name: redis
|
||||||
|
vars:
|
||||||
|
preset: persistent
|
||||||
|
container_name: redis-mastodon
|
||||||
|
docker_networks:
|
||||||
|
- name: mastodon
|
||||||
|
docker_volume: redis-mastodon
|
||||||
|
- name: Create redis cache container
|
||||||
|
include_role:
|
||||||
|
name: redis
|
||||||
|
vars:
|
||||||
|
preset: cache
|
||||||
|
container_name: redis-mastodon-cache
|
||||||
|
docker_networks:
|
||||||
|
- name: mastodon
|
||||||
|
- name: Create mastodon's public volume
|
||||||
|
become: true
|
||||||
|
community.docker.docker_volume:
|
||||||
|
name: mastodon-public-system
|
||||||
|
- name: Create mastodon config directory
|
||||||
|
become: true
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /etc/mastodon
|
||||||
|
state: directory
|
||||||
|
mode: '1750'
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
- name: Copy env file
|
||||||
|
become: true
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: mastodon.env.j2
|
||||||
|
dest: /etc/mastodon/.env
|
||||||
|
mode: '0660'
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
- name: Create web container
|
||||||
|
become: true
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: mastodon-web
|
||||||
|
image: ghcr.io/mastodon/mastodon:{{ version }}
|
||||||
|
env_file: /etc/mastodon/.env
|
||||||
|
command: ["bundle", "exec", "puma", "-C", "config/puma.rb"]
|
||||||
|
networks:
|
||||||
|
- name: mastodon
|
||||||
|
- name: postgresql
|
||||||
|
- name: minio
|
||||||
|
- name: haproxy
|
||||||
|
- name: authentik
|
||||||
|
ports:
|
||||||
|
- 127.0.0.1:3000:3000
|
||||||
|
volumes:
|
||||||
|
- mastodon-public-system:/mastodon/public/system
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
- name: Create streaming container
|
||||||
|
become: true
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: mastodon-streaming
|
||||||
|
image: ghcr.io/mastodon/mastodon-streaming:{{ version }}
|
||||||
|
env_file: /etc/mastodon/.env
|
||||||
|
command: ["node", "./streaming/index.js"]
|
||||||
|
networks:
|
||||||
|
- name: mastodon
|
||||||
|
- name: postgresql
|
||||||
|
- name: haproxy
|
||||||
|
ports:
|
||||||
|
- 127.0.0.1:3001:4000
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
- name: Create sidekiq container
|
||||||
|
become: true
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: mastodon-sidekiq
|
||||||
|
image: ghcr.io/mastodon/mastodon:{{ version }}
|
||||||
|
env_file: /etc/mastodon/.env
|
||||||
|
command: ["bundle", "exec", "sidekiq"]
|
||||||
|
networks:
|
||||||
|
- name: mastodon
|
||||||
|
- name: postgresql
|
||||||
|
- name: minio
|
||||||
|
- name: authentik
|
||||||
|
volumes:
|
||||||
|
- mastodon-public-system:/mastodon/public/system
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
|
|
@ -1,68 +0,0 @@
|
||||||
---
|
|
||||||
- name: Create mastodon's public volume
|
|
||||||
become: true
|
|
||||||
community.docker.docker_volume:
|
|
||||||
name: mastodon-public-system
|
|
||||||
- name: Create mastodon config directory
|
|
||||||
become: true
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: /etc/mastodon
|
|
||||||
state: directory
|
|
||||||
mode: '1750'
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
- name: Copy env file
|
|
||||||
become: true
|
|
||||||
ansible.builtin.template:
|
|
||||||
src: mastodon.env.j2
|
|
||||||
dest: /etc/mastodon/.env
|
|
||||||
mode: '0660'
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
- name: Create web container
|
|
||||||
become: true
|
|
||||||
community.docker.docker_container:
|
|
||||||
name: mastodon-web
|
|
||||||
image: ghcr.io/mastodon/mastodon:{{ version }}
|
|
||||||
env_file: /etc/mastodon/.env
|
|
||||||
command: ["bundle", "exec", "puma", "-C", "config/puma.rb"]
|
|
||||||
networks:
|
|
||||||
- name: redis-mastodon
|
|
||||||
- name: postgresql
|
|
||||||
- name: minio
|
|
||||||
- name: haproxy
|
|
||||||
- name: authentik
|
|
||||||
ports:
|
|
||||||
- 127.0.0.1:3000:3000
|
|
||||||
volumes:
|
|
||||||
- mastodon-public-system:/mastodon/public/system
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
- name: Create streaming container
|
|
||||||
become: true
|
|
||||||
community.docker.docker_container:
|
|
||||||
name: mastodon-streaming
|
|
||||||
image: ghcr.io/mastodon/mastodon-streaming:{{ version }}
|
|
||||||
env_file: /etc/mastodon/.env
|
|
||||||
command: ["node", "./streaming/index.js"]
|
|
||||||
networks:
|
|
||||||
- name: redis-mastodon
|
|
||||||
- name: postgresql
|
|
||||||
- name: haproxy
|
|
||||||
ports:
|
|
||||||
- 127.0.0.1:3001:4000
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
- name: Create sidekiq container
|
|
||||||
become: true
|
|
||||||
community.docker.docker_container:
|
|
||||||
name: mastodon-sidekiq
|
|
||||||
image: ghcr.io/mastodon/mastodon:{{ version }}
|
|
||||||
env_file: /etc/mastodon/.env
|
|
||||||
command: ["bundle", "exec", "sidekiq"]
|
|
||||||
networks:
|
|
||||||
- name: redis-mastodon
|
|
||||||
- name: postgresql
|
|
||||||
- name: minio
|
|
||||||
- name: authentik
|
|
||||||
volumes:
|
|
||||||
- mastodon-public-system:/mastodon/public/system
|
|
||||||
restart_policy: unless-stopped
|
|
|
@ -1,62 +0,0 @@
|
||||||
---
|
|
||||||
- name: Create redis-mastodon docker network
|
|
||||||
become: true
|
|
||||||
community.docker.docker_network:
|
|
||||||
name: redis-mastodon
|
|
||||||
|
|
||||||
- name: Create redis-mastodon docker volume
|
|
||||||
become: true
|
|
||||||
community.docker.docker_volume:
|
|
||||||
name: redis-mastodon
|
|
||||||
|
|
||||||
- name: Create /etc/redis/mastodon dir
|
|
||||||
become: true
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: /etc/redis/mastodon
|
|
||||||
state: directory
|
|
||||||
mode: '1755'
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
- name: Create /etc/redis/mastodon-cache dir
|
|
||||||
become: true
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: /etc/redis/mastodon-cache
|
|
||||||
state: directory
|
|
||||||
mode: '1755'
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
|
|
||||||
- name: Copy redis config
|
|
||||||
become: true
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: redis.conf
|
|
||||||
dest: /etc/redis/mastodon/redis.conf
|
|
||||||
- name: Copy redis cache config
|
|
||||||
become: true
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: redis-cache.conf
|
|
||||||
dest: /etc/redis/mastodon-cache/redis.conf
|
|
||||||
|
|
||||||
- name: Create redis container
|
|
||||||
become: true
|
|
||||||
community.docker.docker_container:
|
|
||||||
name: redis-mastodon
|
|
||||||
image: redis:7.4-bookworm
|
|
||||||
command: ["redis-server", "/etc/redis/redis.conf"]
|
|
||||||
networks:
|
|
||||||
- name: redis-mastodon
|
|
||||||
volumes:
|
|
||||||
- redis-mastodon:/data
|
|
||||||
- /etc/redis/mastodon:/etc/redis:ro
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
- name: Create redis cache container
|
|
||||||
become: true
|
|
||||||
community.docker.docker_container:
|
|
||||||
name: redis-mastodon-cache
|
|
||||||
image: redis:7.4-bookworm
|
|
||||||
command: ["redis-server", "/etc/redis/redis.conf"]
|
|
||||||
networks:
|
|
||||||
- name: redis-mastodon
|
|
||||||
volumes:
|
|
||||||
- /etc/redis/mastodon-cache:/etc/redis:ro
|
|
||||||
restart_policy: unless-stopped
|
|
Loading…
Reference in a new issue