From c2975262eaa2b1b7cf67f32eb5fe4747860c4cd3 Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Sat, 22 Feb 2025 12:12:15 +0100 Subject: [PATCH] Added administrator account creation for mastodon --- group_vars/all/03_domains.yml | 2 +- .../docker-mastodon/tasks/create-administrator.yml | 13 +++++++++++++ roles/docker-mastodon/tasks/main.yml | 5 ++++- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 roles/docker-mastodon/tasks/create-administrator.yml diff --git a/group_vars/all/03_domains.yml b/group_vars/all/03_domains.yml index 361f7970..7fcbd966 100644 --- a/group_vars/all/03_domains.yml +++ b/group_vars/all/03_domains.yml @@ -54,7 +54,7 @@ defaults_redirect_domain_mappings: - { source: "gitea.{{primary_domain}}", target: "{{domains.gitea}}" } - { source: "keycloak.{{primary_domain}}", target: "{{domains.keycloak}}" } - { source: "listmonk.{{primary_domain}}", target: "{{domains.listmonk}}" } -- { source: "mail.{{primary_domain}}", target: "{{domains.mailu}}" } +- { source: "mailu.{{primary_domain}}", target: "{{domains.mailu}}" } - { source: "moodle.{{primary_domain}}", target: "{{domains.moodle}}" } - { source: "nextcloud.{{primary_domain}}", target: "{{domains.nextcloud}}" } - { source: "openproject.{{primary_domain}}", target: "{{domains.openproject}}" } diff --git a/roles/docker-mastodon/tasks/create-administrator.yml b/roles/docker-mastodon/tasks/create-administrator.yml new file mode 100644 index 00000000..d07469f0 --- /dev/null +++ b/roles/docker-mastodon/tasks/create-administrator.yml @@ -0,0 +1,13 @@ +# Routines to create the administrator account +# @see https://chatgpt.com/share/67b9b12c-064c-800f-9354-8e42e6459764 + +- name: Remove line containing "- administrator" from config/settings.yml to allow creating administrator account + shell: docker compose exec -u root web sed -i '/- administrator/d' config/settings.yml + when: administrator_username == "administrator" + +- name: Create admin account via tootctl + shell: 'docker compose exec -u root web bash -c "RAILS_ENV=production bin/tootctl accounts create {{administrator_username}} --email {{administrator_email}} --confirmed --role Owner"' + ignore_errors: true + +- name: Approve the administrator account in Mastodon + shell: docker compose exec -u root web bash -c "RAILS_ENV=production bin/tootctl accounts modify {{administrator_username}} --approve" diff --git a/roles/docker-mastodon/tasks/main.yml b/roles/docker-mastodon/tasks/main.yml index 8af2eeb9..66c7a77a 100644 --- a/roles/docker-mastodon/tasks/main.yml +++ b/roles/docker-mastodon/tasks/main.yml @@ -22,4 +22,7 @@ command: cmd: "docker-compose run --rm web bundle exec rails db:migrate" chdir: "{{docker_compose.directories.instance}}" - when: applications.mastodon.setup |bool \ No newline at end of file + when: applications.mastodon.setup |bool + +- name: "include create-administrator.yml for mastodon" + include_tasks: create-administrator.yml \ No newline at end of file