From b7cb1094877ab04542a008f3354b76232f3ffa18 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 14:31:15 -0700 Subject: [PATCH 01/25] dont use :latest RC version, testing upgrading from 4.0 to go through upgrade process --- files/docker-compose.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/files/docker-compose.yml b/files/docker-compose.yml index 71ec563..f9536bd 100755 --- a/files/docker-compose.yml +++ b/files/docker-compose.yml @@ -2,7 +2,8 @@ version: '2' services: rocketchat: - image: registry.rocket.chat/rocketchat/rocket.chat:latest +# image: registry.rocket.chat/rocketchat/rocket.chat:latest + image: registry.rocket.chat/rocketchat/rocket.chat:4.0 command: > bash -c "for i in `seq 1 30`; do From d93f3567bf363755e843f33677224d4ac6b2d02f Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 15:00:24 -0700 Subject: [PATCH 02/25] version 4.0 rc docker-compose --- files/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/docker-compose.yml b/files/docker-compose.yml index f9536bd..bf53f7f 100755 --- a/files/docker-compose.yml +++ b/files/docker-compose.yml @@ -3,7 +3,7 @@ version: '2' services: rocketchat: # image: registry.rocket.chat/rocketchat/rocket.chat:latest - image: registry.rocket.chat/rocketchat/rocket.chat:4.0 + image: rocketchat/rocket.chat:4.0 command: > bash -c "for i in `seq 1 30`; do From cf2111fac305de477f697cac2e9d8fdc680a30b3 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 15:07:06 -0700 Subject: [PATCH 03/25] fix syntax for docker RC image --- files/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/docker-compose.yml b/files/docker-compose.yml index bf53f7f..0d3fb4b 100755 --- a/files/docker-compose.yml +++ b/files/docker-compose.yml @@ -3,7 +3,7 @@ version: '2' services: rocketchat: # image: registry.rocket.chat/rocketchat/rocket.chat:latest - image: rocketchat/rocket.chat:4.0 + image: rocket.chat:4.0 command: > bash -c "for i in `seq 1 30`; do From 8810ceb49ebaa4d842e6d577aee560074f782833 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 18:33:50 -0700 Subject: [PATCH 04/25] uploads directory, update docker-compose w/ mmap migration to wiredTiger --- files/docker-compose.yml | 74 +++++++++++++--------------------------- tasks/rocketchat.yml | 8 +++++ 2 files changed, 32 insertions(+), 50 deletions(-) diff --git a/files/docker-compose.yml b/files/docker-compose.yml index 0d3fb4b..25b9d79 100755 --- a/files/docker-compose.yml +++ b/files/docker-compose.yml @@ -1,15 +1,14 @@ -version: '2' +version: '3.7' services: rocketchat: -# image: registry.rocket.chat/rocketchat/rocket.chat:latest - image: rocket.chat:4.0 + image: rocket.chat:4.0.3 command: > bash -c - "for i in `seq 1 30`; do + "for (( ; ; )); do node main.js && s=$$? && break || s=$$?; - echo \"Tried $$i times. Waiting 5 secs...\"; + echo \"Could not start Rocket.Chat. Waiting 5 secs...\"; sleep 5; done; (exit $$s)" restart: unless-stopped @@ -20,10 +19,7 @@ services: - ROOT_URL=http://localhost:3000 - MONGO_URL=mongodb://mongo:27017/rocketchat - MONGO_OPLOG_URL=mongodb://mongo:27017/local - - REG_TOKEN=${REG_TOKEN} -# - MAIL_URL=smtp://smtp.email -# - HTTP_PROXY=http://proxy.domain.com -# - HTTPS_PROXY=http://proxy.domain.com + - MAIL_URL=smtp://smtp.email depends_on: - mongo ports: @@ -36,59 +32,37 @@ services: image: mongo:4.0 restart: unless-stopped volumes: - - ./data/db:/data/db - - ./data/dump:/dump - command: mongod --smallfiles --oplogSize 128 --replSet rs0 --storageEngine=mmapv1 + - ./data/db:/data/db + - ./data/dump:/dump + command: > + bash -c + "while [ ! -f /data/db/WiredTiger ]; do + echo \"wiredTiger migration hasn't started yet. Waiting 30 secs...\"; + sleep 30; + done; + docker-entrypoint.sh mongod --oplogSize 128 --replSet rs0 --storageEngine=wiredTiger;" + depends_on: + - migrator labels: - "traefik.enable=false" - # this container's job is just run the command to initialize the replica set. - # it will run the command and remove himself (it will not stay running) + migrator: + build: ./docker/ + volumes: + - ./data/db:/data/db + mongo-init-replica: image: mongo:4.0 command: > bash -c - "for i in `seq 1 30`; do + "for (( ; ; )); do mongo mongo/rocketchat --eval \" rs.initiate({ _id: 'rs0', members: [ { _id: 0, host: 'localhost:27017' } ]})\" && s=$$? && break || s=$$?; - echo \"Tried $$i times. Waiting 5 secs...\"; + echo \"Could not reach MongoDB. Waiting 5 secs ...\"; sleep 5; done; (exit $$s)" depends_on: - - mongo - - nginx - - nginx: - image: nginx:latest - container_name: webserver - restart: unless-stopped - ports: - - 80:80 - - 443:443 - volumes: - - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf - - ./nginx/ssl/:/ssl/ - - ./nginx/ssl/:/etc/nginx/ - #traefik: - # image: traefik:latest - # restart: unless-stopped - # command: > - # traefik - # --docker - # --acme=true - # --acme.domains='your.domain.tld' - # --acme.email='your@email.tld' - # --acme.entrypoint=https - # --acme.storagefile=acme.json - # --defaultentrypoints=http - # --defaultentrypoints=https - # --entryPoints='Name:http Address::80 Redirect.EntryPoint:https' - # --entryPoints='Name:https Address::443 TLS.Certificates:' - # ports: - # - 80:80 - # - 443:443 - # volumes: - # - /var/run/docker.sock:/var/run/docker.sock + - mongo \ No newline at end of file diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index 9aff2bc..9238fa6 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -31,6 +31,14 @@ group: "{{ main_user }}" mode: 0775 +- name: Creates directory structure for upload data + file: + path: /home/{{ main_user }}/rocketchat/uploads + state: directory + owner: "{{ main_user }}" + group: "{{ main_user }}" + mode: 0775 + - name: copy docker compose to server become_user: "{{ main_user }}" copy: From 5552ccaac8a0691bff56a1e4f239e5558de6f77d Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 18:36:59 -0700 Subject: [PATCH 05/25] permission issue w/ uploads dir?? --- tasks/rocketchat.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index 9238fa6..433a434 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -32,6 +32,7 @@ mode: 0775 - name: Creates directory structure for upload data + become: true file: path: /home/{{ main_user }}/rocketchat/uploads state: directory From d6731eb5aae6978eb91ee7e0fc63a19117b02842 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 18:46:37 -0700 Subject: [PATCH 06/25] mmap to wiredTiger repo + copy docker folder after cloning --- tasks/rocketchat.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index 433a434..71bc491 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -40,6 +40,18 @@ group: "{{ main_user }}" mode: 0775 +- name: Ensure mmap to wiredTiger mongoDB repo checkout exists + ansible.builtin.git: + repo: 'https://github.com/RocketChat/docker-mmap-to-wiredtiger-migration.git' + dest: /home/{{ main_user }}/rocketchat/rocketchat-migration + update: no + +- name: Copy docker folder from mmap to wiredTiger mongoDB migration repo + ansible.builtin.copy: + src: /home/{{ main_user }}/rocketchat/rocketchat-migration/docker + dest: /home/{{ main_user }}/rocketchat/docker + remote_src: yes + - name: copy docker compose to server become_user: "{{ main_user }}" copy: From cf69880af5966853eeff025a52f0646f59debd20 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 18:56:25 -0700 Subject: [PATCH 07/25] tag install-docker --- tasks/docker.yml | 5 +---- tasks/main.yml | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/tasks/docker.yml b/tasks/docker.yml index b6af838..4d57b6c 100644 --- a/tasks/docker.yml +++ b/tasks/docker.yml @@ -1,10 +1,8 @@ --- - -# install docker using geerlingguy docker role +# install docker using geerlingguy docker role - this whole task file is under tag install-docker - name: 'Use geerlingguy.docker role' include_role: name: ansible-role-docker - tags: docker - name: 'Use geerlingguy.pip role to install docker via pip' vars: @@ -14,7 +12,6 @@ include_role: name: ansible-role-pip - tags: docker - name: Add adminstrator to docker group user: diff --git a/tasks/main.yml b/tasks/main.yml index 8172679..ede847c 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -10,7 +10,7 @@ # become: true # apply tags,become # when: harden_os -# tags: harden + tags: install-docker - include: rocketchat.yml # become: true From c0dd7a9eeaa0034e04ad89d723b478fd510ba1e7 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 19:14:35 -0700 Subject: [PATCH 08/25] moved docker-compose to a template file to control RC version easier --- tasks/rocketchat.yml | 10 +++++----- .../docker-compose.yml.j2 | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) rename files/docker-compose.yml => templates/docker-compose.yml.j2 (93%) mode change 100755 => 100644 diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index 71bc491..4cb7eda 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -52,17 +52,17 @@ dest: /home/{{ main_user }}/rocketchat/docker remote_src: yes -- name: copy docker compose to server - become_user: "{{ main_user }}" - copy: - src: files/docker-compose.yml - dest: /home/{{ main_user }}/rocketchat/ +- name: copy docker compose to server (from template) + template: + src: templates/docker-compose.yml.j2 + dest: /home/{{ main_user }}/rocketchat/docker-compose.yml - name: bring down rocketchat docker-compose become_user: "{{ main_user }}" docker_compose: project_src: /home/{{ main_user }}/rocketchat/ state: absent + remove_orphans: true register: __remove_rocketchat tags: - bring-down diff --git a/files/docker-compose.yml b/templates/docker-compose.yml.j2 old mode 100755 new mode 100644 similarity index 93% rename from files/docker-compose.yml rename to templates/docker-compose.yml.j2 index 25b9d79..51b00d0 --- a/files/docker-compose.yml +++ b/templates/docker-compose.yml.j2 @@ -2,7 +2,7 @@ version: '3.7' services: rocketchat: - image: rocket.chat:4.0.3 + image: rocket.chat:{{ rc_version }} command: > bash -c "for (( ; ; )); do From bbd93449f9bbf69d29d90a91b2d5711b3eeab848 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 19:47:17 -0700 Subject: [PATCH 09/25] backup mongodb task initail commit - wip for sure --- defaults/main.yml | 9 +++++++++ tasks/rocketchat.yml | 24 ++++++++++++++++++------ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 89e0a63..be18b32 100755 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,3 +1,12 @@ --- # harden by default harden_os: true + +# latest as of 7/7/2022 +rc_version: 4.8.1 + +# WIP to get to 5.0 +mongo_version: 4.4 + +# backup by default - saves to /home/{{ main_user }}/rocketchat/data/dump/2015-07-09T16:59:26Z" (iso8601 of current date) +backup_db: true \ No newline at end of file diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index 4cb7eda..a643094 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -1,9 +1,5 @@ --- -- name: Install unzip using apt - become: true - apt: name=unzip state=latest update_cache=yes force_apt_get=yes - -- name: "NOTSCORED | 3.5.1.6 | PATCH | Ensure firewall rules exist for all open ports" +- name: "Open ports for RocketChat" become: true ufw: rule: allow @@ -44,7 +40,7 @@ ansible.builtin.git: repo: 'https://github.com/RocketChat/docker-mmap-to-wiredtiger-migration.git' dest: /home/{{ main_user }}/rocketchat/rocketchat-migration - update: no + update: yes - name: Copy docker folder from mmap to wiredTiger mongoDB migration repo ansible.builtin.copy: @@ -89,6 +85,18 @@ state: present register: __rocketchat +- name: Get the current datetime + debug: + var: ansible_date_time + +- name: Backup existing RocketChat mongo database + when: + community.docker.docker_container_exec: + container: mongo + command: mongodump --archive=/dump/{{ ansible_date_time.iso8601 }} --gzip + chdir: /home/{{ main_user }}/rocketchat + register: __backup_result + - name: debug docker compose down debug: var: __remove_rocketchat @@ -96,3 +104,7 @@ - name: debug docker compose up debug debug: var: __rocketchat + +- name: debug mongo backup + debug: + var: __backup_result \ No newline at end of file From 5f041cc711e3e6aabaa29e729111039457e74e6f Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 19:48:50 -0700 Subject: [PATCH 10/25] oops forgot to set the when condition in rocketchat.yml --- tasks/rocketchat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index a643094..b738ba1 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -90,7 +90,7 @@ var: ansible_date_time - name: Backup existing RocketChat mongo database - when: + when: backup_db community.docker.docker_container_exec: container: mongo command: mongodump --archive=/dump/{{ ansible_date_time.iso8601 }} --gzip From 2006dddfe6ad20fb0478935013dd36a3158df8b1 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 19:50:05 -0700 Subject: [PATCH 11/25] wrong indentation in rocketchat.yml backupdb task lol still wip --- tasks/rocketchat.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index b738ba1..a9769ff 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -93,8 +93,8 @@ when: backup_db community.docker.docker_container_exec: container: mongo - command: mongodump --archive=/dump/{{ ansible_date_time.iso8601 }} --gzip - chdir: /home/{{ main_user }}/rocketchat + command: mongodump --archive=/dump/{{ ansible_date_time.iso8601 }} --gzip + chdir: /home/{{ main_user }}/rocketchat register: __backup_result - name: debug docker compose down From b5a5dafad3e90c1113bf0930151afeda42c962b6 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 20:14:31 -0700 Subject: [PATCH 12/25] dont update mmap to wiredTiger repo --- tasks/rocketchat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index a9769ff..e7d46f7 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -40,7 +40,7 @@ ansible.builtin.git: repo: 'https://github.com/RocketChat/docker-mmap-to-wiredtiger-migration.git' dest: /home/{{ main_user }}/rocketchat/rocketchat-migration - update: yes + update: no - name: Copy docker folder from mmap to wiredTiger mongoDB migration repo ansible.builtin.copy: From 2333edf7f8f1c52a1d5c3992ebd310e87c471f11 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 20:24:00 -0700 Subject: [PATCH 13/25] try rocketchat_mongo as container name for docker-compose exec backup task --- tasks/rocketchat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index e7d46f7..6dd2cbc 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -92,7 +92,7 @@ - name: Backup existing RocketChat mongo database when: backup_db community.docker.docker_container_exec: - container: mongo + container: rocketchat_mongo command: mongodump --archive=/dump/{{ ansible_date_time.iso8601 }} --gzip chdir: /home/{{ main_user }}/rocketchat register: __backup_result From dcf4078e95e2129129869f65541c3e32e9941ed1 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 20:26:07 -0700 Subject: [PATCH 14/25] _1 for container name suffix --- tasks/rocketchat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index 6dd2cbc..ed14fee 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -92,7 +92,7 @@ - name: Backup existing RocketChat mongo database when: backup_db community.docker.docker_container_exec: - container: rocketchat_mongo + container: rocketchat_mongo_1 command: mongodump --archive=/dump/{{ ansible_date_time.iso8601 }} --gzip chdir: /home/{{ main_user }}/rocketchat register: __backup_result From b3ab89bc77131f6dafc73a6409a043b350535b94 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 20:33:20 -0700 Subject: [PATCH 15/25] try w/o chrid on docker_container_exec to backup mongodb --- tasks/rocketchat.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index ed14fee..20473e6 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -94,7 +94,8 @@ community.docker.docker_container_exec: container: rocketchat_mongo_1 command: mongodump --archive=/dump/{{ ansible_date_time.iso8601 }} --gzip - chdir: /home/{{ main_user }}/rocketchat + # chdir: /home/{{ main_user }}/rocketchat + # chdir: / register: __backup_result - name: debug docker compose down From d8cc325a00f1d36d5895aed2ec367277b1515e36 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 20:57:36 -0700 Subject: [PATCH 16/25] backup still wip - might workt his time to copy backup file to home/main user/backups and then fetch to local machine --- tasks/rocketchat.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index 20473e6..360abc8 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -36,6 +36,14 @@ group: "{{ main_user }}" mode: 0775 +- name: Creates backup directory outside of docker volumes to move dumps more easily off of server + file: + path: /home/{{ main_user }}/backups + state: directory + owner: "{{ main_user }}" + group: "{{ main_user }}" + mode: 0775 + - name: Ensure mmap to wiredTiger mongoDB repo checkout exists ansible.builtin.git: repo: 'https://github.com/RocketChat/docker-mmap-to-wiredtiger-migration.git' @@ -98,6 +106,19 @@ # chdir: / register: __backup_result +- name: Copy backup we just took to home/{{ main_user }}/backups + when: backup_db and not __backup_result.failed + ansible.builtin.copy: + src: /dump/{{ ansible_date_time.iso8601 }} + dest: /home/{{ main_user }}/backups/{{ ansible_date_time.iso8601 }}.gzip + remote_src: yes + +- name: Pull newly created mongodump into local backups directory + when: backup_db and not __backup_result.failed + ansible.builtin.fetch: + src: /home/{{ main_user }}/backups/{{ ansible_date_time.iso8601 }}.gzip + dest: {{ local_backup_dir }} + - name: debug docker compose down debug: var: __remove_rocketchat @@ -107,5 +128,6 @@ var: __rocketchat - name: debug mongo backup + when: backup_db debug: var: __backup_result \ No newline at end of file From e5ebda52f4fbaae1450efcf03270fb098206c801 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 20:59:19 -0700 Subject: [PATCH 17/25] quote when {{ }} are start of expression --- tasks/rocketchat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index 360abc8..da8c87c 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -117,7 +117,7 @@ when: backup_db and not __backup_result.failed ansible.builtin.fetch: src: /home/{{ main_user }}/backups/{{ ansible_date_time.iso8601 }}.gzip - dest: {{ local_backup_dir }} + dest: "{{ local_backup_dir }}" - name: debug docker compose down debug: From 94cebe52a9f13e090d4806a1d83795c603ba6451 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 21:01:37 -0700 Subject: [PATCH 18/25] forgot prefix of /home/main user/rocketchat for dumps location --- tasks/rocketchat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index da8c87c..51795a5 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -109,7 +109,7 @@ - name: Copy backup we just took to home/{{ main_user }}/backups when: backup_db and not __backup_result.failed ansible.builtin.copy: - src: /dump/{{ ansible_date_time.iso8601 }} + src: /home/{{ main_user }}/rocketchat/dump/{{ ansible_date_time.iso8601 }} dest: /home/{{ main_user }}/backups/{{ ansible_date_time.iso8601 }}.gzip remote_src: yes From 88ece285d13a81a9e6821b9a1d01d06ee4352017 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 21:04:31 -0700 Subject: [PATCH 19/25] fml forgot dump was within /data - fix backup location to copy from to get single file so we can fetc hit --- tasks/rocketchat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index 51795a5..f0e21dd 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -109,7 +109,7 @@ - name: Copy backup we just took to home/{{ main_user }}/backups when: backup_db and not __backup_result.failed ansible.builtin.copy: - src: /home/{{ main_user }}/rocketchat/dump/{{ ansible_date_time.iso8601 }} + src: /home/{{ main_user }}/rocketchat/data/dump/{{ ansible_date_time.iso8601 }} dest: /home/{{ main_user }}/backups/{{ ansible_date_time.iso8601 }}.gzip remote_src: yes From ba275fa97678efb23e09af96592eab9bc8d2ec2b Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 21:09:19 -0700 Subject: [PATCH 20/25] add tags for backup related tasks for RC, backup seems to be working --- tasks/main.yml | 10 ++-------- tasks/rocketchat.yml | 6 +++++- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index ede847c..c78bb86 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,19 +1,13 @@ --- -# tasks file for setting up an assetto server on ubuntu20.04 +# tasks file for setting up a rocketchat server on ubuntu20.04 - include: ssh_port_fallback.yml + - include: harden.yml # become: true when: harden_os tags: harden - include: docker.yml -# become: true -# apply tags,become -# when: harden_os tags: install-docker - include: rocketchat.yml -# become: true -# apply tags,become -# when: harden_os -# tags: harden diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index f0e21dd..43605f4 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -105,6 +105,7 @@ # chdir: /home/{{ main_user }}/rocketchat # chdir: / register: __backup_result + tags: mongodump - name: Copy backup we just took to home/{{ main_user }}/backups when: backup_db and not __backup_result.failed @@ -112,12 +113,14 @@ src: /home/{{ main_user }}/rocketchat/data/dump/{{ ansible_date_time.iso8601 }} dest: /home/{{ main_user }}/backups/{{ ansible_date_time.iso8601 }}.gzip remote_src: yes + tags: mongodump - name: Pull newly created mongodump into local backups directory when: backup_db and not __backup_result.failed ansible.builtin.fetch: src: /home/{{ main_user }}/backups/{{ ansible_date_time.iso8601 }}.gzip dest: "{{ local_backup_dir }}" + tags: mongodump - name: debug docker compose down debug: @@ -130,4 +133,5 @@ - name: debug mongo backup when: backup_db debug: - var: __backup_result \ No newline at end of file + var: __backup_result + tags: mongodump From 73e4ce1daeb5befc26519bfa767279abe56bdcb9 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 21:24:30 -0700 Subject: [PATCH 21/25] use mongo version variable in docker-compose template - about to test upgrading from 4.0 to 4.2 --- templates/docker-compose.yml.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/docker-compose.yml.j2 b/templates/docker-compose.yml.j2 index 51b00d0..34a5ca2 100644 --- a/templates/docker-compose.yml.j2 +++ b/templates/docker-compose.yml.j2 @@ -29,7 +29,7 @@ services: - "traefik.frontend.rule=Host: your.domain.tld" mongo: - image: mongo:4.0 + image: mongo:{{ mongo_version }} restart: unless-stopped volumes: - ./data/db:/data/db @@ -52,7 +52,7 @@ services: - ./data/db:/data/db mongo-init-replica: - image: mongo:4.0 + image: mongo:{{ mongo_version }} command: > bash -c "for (( ; ; )); do From 075a62e3eb7bde1e90225edba65a438d0124887d Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 22:06:42 -0700 Subject: [PATCH 22/25] set feature compatability version if we are upgarding mongodb --- defaults/main.yml | 3 +++ tasks/rocketchat.yml | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/defaults/main.yml b/defaults/main.yml index be18b32..12fcc6e 100755 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -8,5 +8,8 @@ rc_version: 4.8.1 # WIP to get to 5.0 mongo_version: 4.4 +# WIP to get to 5.0 - if same as mongo_version or false, feature compatibility version will not be set +prev_mongo_version: 4.2 + # backup by default - saves to /home/{{ main_user }}/rocketchat/data/dump/2015-07-09T16:59:26Z" (iso8601 of current date) backup_db: true \ No newline at end of file diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index 43605f4..063e777 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -122,9 +122,22 @@ dest: "{{ local_backup_dir }}" tags: mongodump +- name: Set feature compability version if we are upgrading mongoDB + when: prev_mongo_version and prev_mongo_version != mongo_version + community.docker.docker_container_exec: + container: rocketchat_mongo_1 + command: > + bash -c 'mongo --eval "db.adminCommand( { setFeatureCompatibilityVersion: \"{{ prev_mongo_version }}\" } )"' + # chdir: /home/{{ main_user }}/rocketchat + # chdir: / + #docker-compose exec mongo + register: __set_feature_compability_version_mongo + tags: mongoupgrade + - name: debug docker compose down debug: var: __remove_rocketchat + tags: bring-down - name: debug docker compose up debug debug: @@ -135,3 +148,10 @@ debug: var: __backup_result tags: mongodump + + +- name: debug mongo upgrade set feature compatability version + when: prev_mongo_version and prev_mongo_version != mongo_version + debug: + var: __set_feature_compability_version_mongo + tags: mongoupgrade \ No newline at end of file From 9d25d47f22fe49d2f0f590bd550aa4ec0dbfdaba Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 22:15:49 -0700 Subject: [PATCH 23/25] update conditions on when to set feature compability version to mongo, use separate flag not just if vesrion + prev version are diff --- defaults/main.yml | 7 +++++-- tasks/rocketchat.yml | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 12fcc6e..6aa5e86 100755 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -6,10 +6,13 @@ harden_os: true rc_version: 4.8.1 # WIP to get to 5.0 -mongo_version: 4.4 +mongo_version: 4.2 -# WIP to get to 5.0 - if same as mongo_version or false, feature compatibility version will not be set +# WIP to get to 5.0 prev_mongo_version: 4.2 +# if true set feature compability version to prev_mongo_version +set_feature_compat_version: true + # backup by default - saves to /home/{{ main_user }}/rocketchat/data/dump/2015-07-09T16:59:26Z" (iso8601 of current date) backup_db: true \ No newline at end of file diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index 063e777..51203f5 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -123,7 +123,7 @@ tags: mongodump - name: Set feature compability version if we are upgrading mongoDB - when: prev_mongo_version and prev_mongo_version != mongo_version + when: prev_mongo_version and set_feature_compat_version community.docker.docker_container_exec: container: rocketchat_mongo_1 command: > From 0179c230cad03a4da6a35276081d440e27d82d79 Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 22:18:38 -0700 Subject: [PATCH 24/25] update conditions on when to set feature compability version to mongo only use new flag --- tasks/rocketchat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index 51203f5..a1a930e 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -123,7 +123,7 @@ tags: mongodump - name: Set feature compability version if we are upgrading mongoDB - when: prev_mongo_version and set_feature_compat_version + when: set_feature_compat_version community.docker.docker_container_exec: container: rocketchat_mongo_1 command: > From b6a561eaa614f860a58f4d49f3f74b495b25d26d Mon Sep 17 00:00:00 2001 From: BSounder Date: Thu, 7 Jul 2022 22:21:34 -0700 Subject: [PATCH 25/25] inconsistent condition lol time for bed (set_feature_compat_version) --- tasks/rocketchat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/rocketchat.yml b/tasks/rocketchat.yml index a1a930e..060c91e 100644 --- a/tasks/rocketchat.yml +++ b/tasks/rocketchat.yml @@ -151,7 +151,7 @@ - name: debug mongo upgrade set feature compatability version - when: prev_mongo_version and prev_mongo_version != mongo_version + when: set_feature_compat_version debug: var: __set_feature_compability_version_mongo tags: mongoupgrade \ No newline at end of file