forked from data.coop/ansible
Always recreate Mastodon containers (#134)
Fixes #133. Co-authored-by: Sam Al-Sapti <sam@sapti.me> Reviewed-on: data.coop/ansible#134 Co-authored-by: Sam A. <samsapti@noreply@git.data.coop> Co-committed-by: Sam A. <samsapti@noreply@git.data.coop>
This commit is contained in:
parent
759ea93dd3
commit
c4f3911400
2
Vagrantfile
vendored
2
Vagrantfile
vendored
|
@ -13,7 +13,7 @@ Vagrant.configure(2) do |config|
|
||||||
config.vm.hostname = "datacoop"
|
config.vm.hostname = "datacoop"
|
||||||
|
|
||||||
config.vm.provider :virtualbox do |v|
|
config.vm.provider :virtualbox do |v|
|
||||||
v.memory = 4096
|
v.memory = 8192
|
||||||
end
|
end
|
||||||
|
|
||||||
config.vm.provision :ansible do |ansible|
|
config.vm.provision :ansible do |ansible|
|
||||||
|
|
|
@ -11,7 +11,7 @@ usage () {
|
||||||
BASE_CMD="ansible-playbook playbook.yml --ask-vault-pass"
|
BASE_CMD="ansible-playbook playbook.yml --ask-vault-pass"
|
||||||
|
|
||||||
if [ "$1" = "--vagrant" ]; then
|
if [ "$1" = "--vagrant" ]; then
|
||||||
BASE_CMD="$BASE_CMD --inventory=vagrant_host"
|
BASE_CMD="$BASE_CMD --verbose --inventory=vagrant_host"
|
||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -3,13 +3,14 @@
|
||||||
gather_facts: true
|
gather_facts: true
|
||||||
become: true
|
become: true
|
||||||
vars:
|
vars:
|
||||||
base_domain: data.coop
|
|
||||||
letsencrypt_email: admin@data.coop
|
|
||||||
ldap_dn: "dc=data,dc=coop"
|
ldap_dn: "dc=data,dc=coop"
|
||||||
|
|
||||||
vagrant: "{{ ansible_virtualization_role == 'guest' }}"
|
vagrant: "{{ ansible_virtualization_role == 'guest' }}"
|
||||||
letsencrypt_enabled: "{{ not vagrant }}"
|
letsencrypt_enabled: "{{ not vagrant }}"
|
||||||
|
|
||||||
|
base_domain: "{{ 'datacoop.devel' if vagrant else 'data.coop' }}"
|
||||||
|
letsencrypt_email: "admin@{{ base_domain }}"
|
||||||
|
|
||||||
smtp_host: "postfix"
|
smtp_host: "postfix"
|
||||||
smtp_port: "587"
|
smtp_port: "587"
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,15 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
- name: codimd network
|
- name: codimd network
|
||||||
docker_network:
|
docker_network:
|
||||||
name: codimd
|
name: codimd
|
||||||
|
|
||||||
- name: create codimd volume folders
|
- name: create codimd volume folders
|
||||||
file:
|
file:
|
||||||
name: "{{ codimd.volume_folder }}/{{ volume }}"
|
name: "{{ services.codimd.volume_folder }}/{{ volume }}"
|
||||||
state: directory
|
state: directory
|
||||||
loop:
|
loop:
|
||||||
- "db"
|
- "db"
|
||||||
- "codimd/uploads"
|
- "codimd/uploads"
|
||||||
|
|
||||||
loop_control:
|
loop_control:
|
||||||
loop_var: volume
|
loop_var: volume
|
||||||
|
|
||||||
|
@ -24,7 +22,7 @@
|
||||||
networks:
|
networks:
|
||||||
- name: codimd
|
- name: codimd
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ codimd.volume_folder }}/db:/var/lib/postgresql/data"
|
- "{{ services.codimd.volume_folder }}/db:/var/lib/postgresql/data"
|
||||||
env:
|
env:
|
||||||
POSTGRES_USER: "codimd"
|
POSTGRES_USER: "codimd"
|
||||||
POSTGRES_PASSWORD: "{{ postgres_passwords.codimd }}"
|
POSTGRES_PASSWORD: "{{ postgres_passwords.codimd }}"
|
||||||
|
@ -39,8 +37,7 @@
|
||||||
- name: ldap
|
- name: ldap
|
||||||
- name: external_services
|
- name: external_services
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ codimd.volume_folder }}/codimd/uploads:/codimd/public/uploads"
|
- "{{ services.codimd.volume_folder }}/codimd/uploads:/codimd/public/uploads"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CMD_DB_URL: "postgres://codimd:{{ postgres_passwords.codimd }}@codimd_db:5432/codimd"
|
CMD_DB_URL: "postgres://codimd:{{ postgres_passwords.codimd }}@codimd_db:5432/codimd"
|
||||||
CMD_ALLOW_EMAIL_REGISTER: "False"
|
CMD_ALLOW_EMAIL_REGISTER: "False"
|
||||||
|
@ -52,6 +49,6 @@
|
||||||
CMD_LDAP_SEARCHBASE: "dc=data,dc=coop"
|
CMD_LDAP_SEARCHBASE: "dc=data,dc=coop"
|
||||||
CMD_LDAP_SEARCHFILTER: "(&(uid={{ '{{username}}' }})(objectClass=inetOrgPerson))"
|
CMD_LDAP_SEARCHFILTER: "(&(uid={{ '{{username}}' }})(objectClass=inetOrgPerson))"
|
||||||
CMD_USECDN: "false"
|
CMD_USECDN: "false"
|
||||||
VIRTUAL_HOST: "{{ codimd.domain }}"
|
VIRTUAL_HOST: "{{ services.codimd.domain }}"
|
||||||
LETSENCRYPT_HOST: "{{ codimd.domain }}"
|
LETSENCRYPT_HOST: "{{ services.codimd.domain }}"
|
||||||
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
|
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
group: "991"
|
group: "991"
|
||||||
loop:
|
loop:
|
||||||
- "postgres_data"
|
- "postgres_data"
|
||||||
|
- "postgres_config"
|
||||||
- "redis_data"
|
- "redis_data"
|
||||||
- "mastodon_data"
|
- "mastodon_data"
|
||||||
loop_control:
|
loop_control:
|
||||||
|
@ -21,17 +22,17 @@
|
||||||
src: files/configs/mastodon/vhost-mastodon
|
src: files/configs/mastodon/vhost-mastodon
|
||||||
dest: "{{ services.nginx_proxy.volume_folder }}/vhost/{{ services.mastodon.domain }}"
|
dest: "{{ services.nginx_proxy.volume_folder }}/vhost/{{ services.mastodon.domain }}"
|
||||||
|
|
||||||
- name: Copy postgresql config
|
- name: Copy PostgreSQL config
|
||||||
copy:
|
copy:
|
||||||
src: files/configs/mastodon/postgresql.conf
|
src: files/configs/mastodon/postgresql.conf
|
||||||
dest: "{{ services.mastodon.volume_folder }}/postgres_data/postgresql.conf"
|
dest: "{{ services.mastodon.volume_folder }}/postgres_config/postgresql.conf"
|
||||||
|
|
||||||
- name: set up mastodon
|
- name: Set up Mastodon
|
||||||
docker_compose:
|
docker_compose:
|
||||||
project_name: mastodon
|
project_name: mastodon
|
||||||
pull: yes
|
pull: true
|
||||||
|
recreate: always
|
||||||
definition:
|
definition:
|
||||||
|
|
||||||
x-sidekiq: &sidekiq
|
x-sidekiq: &sidekiq
|
||||||
image: "tootsuite/mastodon:{{ services.mastodon.version }}"
|
image: "tootsuite/mastodon:{{ services.mastodon.version }}"
|
||||||
restart: always
|
restart: always
|
||||||
|
@ -62,6 +63,8 @@
|
||||||
test: ['CMD', 'pg_isready', '-U', 'postgres']
|
test: ['CMD', 'pg_isready', '-U', 'postgres']
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ services.mastodon.volume_folder }}/postgres_data:/var/lib/postgresql/data"
|
- "{{ services.mastodon.volume_folder }}/postgres_data:/var/lib/postgresql/data"
|
||||||
|
- "{{ services.mastodon.volume_folder }}/postgres_config:/config:ro"
|
||||||
|
command: postgres -c config_file=/config/postgresql.conf
|
||||||
environment:
|
environment:
|
||||||
- 'POSTGRES_HOST_AUTH_METHOD=trust'
|
- 'POSTGRES_HOST_AUTH_METHOD=trust'
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue