From 6e0d6b8a32535b19d31330b76b79ceba34a3d201 Mon Sep 17 00:00:00 2001 From: Mathieu Gauthier-Pilote Date: Fri, 6 Jan 2023 10:48:56 -0500 Subject: [PATCH] README.md + LISEZMOI.md --- webapps/mastodon/LISEZMOI.md | 73 ++++++++++++++++++++++++++++++ webapps/mastodon/README.md | 28 ++++++------ webapps/mastodon/defaults/main.yml | 8 ++-- 3 files changed, 93 insertions(+), 16 deletions(-) create mode 100644 webapps/mastodon/LISEZMOI.md diff --git a/webapps/mastodon/LISEZMOI.md b/webapps/mastodon/LISEZMOI.md new file mode 100644 index 00000000..4af11788 --- /dev/null +++ b/webapps/mastodon/LISEZMOI.md @@ -0,0 +1,73 @@ +mastodon +========= + +Ce rôle installe le serveur de Mastodon, une application de microblogage, libre et autohébergée. + +Notez qu'hormis le présent fichier LISEZMOI.md, tous les fichiers du rôle mastodon sont rédigés en anglais afin de suivre les conventions de la communauté Ansible, favoriser sa réutilisation et son amélioration, etc. Libre à vous cependant de faire appel à ce role dans un playbook rédigé principalement en français ou toute autre langue. + +Requis +------ + +... + +Variables du rôle +----------------- + +Plusieurs des valeurs par défaut dans defaults/main.yml doivent être changées soit directement dans defaults/main.yml ou mieux encore en les supplantant ailleurs, par exemple dans votre playbook (voir l'exemple ci-bas). + +Dépendances +------------ + +Ce rôle Ansible dépend des rôles suivants : + +- nodejs +- postgresql +- redis +- elasticsearch +- rbenv +- nginx +- certbot + +Exemple de playbook +------------------- + +``` +- name: "Déployer un serveur Mastodon" + hosts: + - all + vars: + # Supplanter ici les variables du rôle + domains: ['votre-vrai-domaine.org'] + service: 'mon-mastodon' + db_host: 'localhost' + db_user: "{{ service }}" + db_name: "{{ service }}" + db_password: 'zKEh-CHANGEZ-MOI-qIKc' + app_secret_key_base: "" + app_otp_secret: "" + app_vapid_private_key: "" + app_vapid_public_key: "" + app_smtp_from_address: "mastodon@votre-vrai-domaine.org" + + pre_tasks: + - name: "Installer les rôles systèmes" + roles: + - { role: nodejs, nodejs_apt_version: 'node_16.x', nodejs_install_yarn: True } + - { role: postgresql } + - { role: redis } + - { role: elasticsearch } + - { role: nginx } + - { role: certbot } + roles: + - { role: webapps/mastodon , tags: "mastodon" } +``` + +Licence +------- + +GPLv3 + +Infos sur l'auteur +------------------ + +Mathieu Gauthier-Pilote, administrateur de systèmes chez Evolix. diff --git a/webapps/mastodon/README.md b/webapps/mastodon/README.md index e12ef769..aa117386 100644 --- a/webapps/mastodon/README.md +++ b/webapps/mastodon/README.md @@ -1,7 +1,9 @@ -Role Name +mastodon ========= -Ce rôle installe le serveur de Mastodon, une application libre de microblogage, libre et autohébergée. +This role installs or upgrades the server for Mastodon, a free and decentralized microblogging social network. + +FRENCH: Voir le fichier LISEZMOI.md pour le français. Requirements ------------ @@ -11,12 +13,12 @@ Requirements Role Variables -------------- -Plusieurs des valeurs par défaut dans defaults/main.yml doivent être changées soit directement dans defaults/main.yml ou mieux encore en les supplantant ailleurs, par exemple dans votre playbook (voir l'exemple ci-bas). +Several of the default values in defaults/main.yml must be changed either directly in defaults/main.yml or better even by overwriting them somewhere else, for example in your playbook (see the example below). Dependencies ------------ -Ce rôle Ansible dépend des rôles suivants : +This Ansible role depends on the following other roles: - nodejs - postgresql @@ -30,25 +32,25 @@ Example Playbook ---------------- ``` -- name: "Déployer un serveur Mastodon" +- name: "Deploy a Mastodon server" hosts: - all vars: - # Supplanter ici les variables du rôle - domains: ['votre-vrai-domaine.org'] - service: 'mon-mastodon' + # Overwrite the role variable here + domains: ['your-real-domain.org'] + service: 'my-mastodon' db_host: 'localhost' db_user: "{{ service }}" db_name: "{{ service }}" - db_password: 'zKEh-CHANGEZ-MOI-qIKc' + db_password: 'zKEh-CHANGE-ME-qIKc' app_secret_key_base: "" app_otp_secret: "" app_vapid_private_key: "" app_vapid_public_key: "" - app_smtp_from_address: "mastodon@votre-vrai-domaine.org" + app_smtp_from_address: "mastodon@your-real-domain.org" pre_tasks: - - name: "Installer les rôles systèmes" + - name: "Install system roles" roles: - { role: nodejs, nodejs_apt_version: 'node_16.x', nodejs_install_yarn: True } - { role: postgresql } @@ -63,9 +65,9 @@ Example Playbook License ------- -BSD +GPLv3 Author Information ------------------ -Mathieu Gauthier-Pilote, administrateur de systèmes chez Evolix. +Mathieu Gauthier-Pilote, sys. admin. at Evolix. diff --git a/webapps/mastodon/defaults/main.yml b/webapps/mastodon/defaults/main.yml index d5b82550..9f683292 100644 --- a/webapps/mastodon/defaults/main.yml +++ b/webapps/mastodon/defaults/main.yml @@ -1,16 +1,18 @@ --- # defaults file for mastodon system_dep: "['imagemagick', 'ffmpeg', 'libpq-dev', 'libxml2-dev', 'libxslt1-dev', 'file', 'git-core', 'g++', 'libprotobuf-dev', 'protobuf-compiler', 'pkg-config', 'nodejs', 'gcc', 'autoconf', 'bison', 'build-essential', 'libssl-dev', 'libyaml-dev', 'libreadline6-dev', 'zlib1g-dev', 'libncurses5-dev', 'libffi-dev', 'libgdbm-dev', 'nginx', 'redis-server', 'redis-tools', 'postgresql', 'postgresql-contrib', 'certbot', 'python3-certbot-nginx', 'libidn11-dev', 'libicu-dev', 'libjemalloc-dev', 'yarn']" -domains: ['exemple.evolix.org'] +domains: ['example.somedomain.org'] git_url: 'https://github.com/mastodon/mastodon.git' git_version: 'v4.0.2' ruby_version: '3.0.4' -service: 'exemple' +service: 'example' db_host: 'localhost' db_user: "{{ service }}" db_name: "{{ service }}_production" db_password: 'CHANGE_ME' +#puma_port: '3000' +#node_port: '4000' app_secret_key_base: "" app_otp_secret: "" @@ -18,7 +20,7 @@ app_vapid_private_key: "" app_vapid_public_key: "" app_smtp_server: "127.0.0.1" app_smtp_port: "25" -app_smtp_from_address: "exemple@evolix.org" +app_smtp_from_address: "example@somedomain.org" app_smtp_auth_method: "none" app_smtp_openssl_verify_mode: "none" app_es_enabled: "false"