10 KiB
10 KiB
Role : docker_mastodon
Services fournis
Installation d'un serveur mastodon sur serveur docker_host
Variables
docker_mastodon_fqdn: mastodon.example.com
docker_mastodon_data_dir: /data1
docker_mastodon_service_id: mastodon
docker_mastodon_image_version: x.y.z
docker_mastodon_local_domain: example.com
docker_mastodon_db_name: mastodondb
docker_mastodon_db_user: user_proprietaire_bdd
docker_mastodon_db_password: mdp_proprietaire_bdd
docker_mastodon_secret_key_base: inserer_le_secret_key_base_voir_premiere_installation
docker_mastodon_otp_secret: inserer_ici_otp_secret_voir_premiere_installation
docker_mastodon_vapid_private_key: inserer_ici_vapid_private_key_voir_premiere_installation
docker_mastodon_vapid_public_key: inserer_ici_vapid_public_key_voir_premiere_installation
docker_mastodon_mail_smtp_server: smtp.example.com
docker_mastodon_mail_smtp_port: 587
docker_mastodon_mail_from: nepasrepondre@example.com
docker_mastodon_oidc_enabled: true
docker_mastodon_oidc_display_name: "Libretic"
docker_mastodon_oidc_issuer: https://login.example.com/auth/realms/example-space
docker_mastodon_oidc_discovery: true
docker_mastodon_oidc_scopes: "openid,profile"
docker_mastodon_oidc_uid_field: uid
docker_mastodon_oidc_client_id: masto-oidc
docker_mastodon_oidc_redirect_uri: https://mastodon.example.com/auth/auth/openid_connect/callback
docker_mastodon_oidc_security_assume_email_is_verified: true
docker_mastodon_oidc_client_secret: oidc_client_secret
docker_mastodon_rp_cert: LE
docker_mastodon_rp_docker_host: machine.domaine.local
docker_mastodon_rp_access_policy: OpenAccessPolicy
docker_mastodon_rp_indexing: Empty
docker_mastodon_rp_waf: "On"
Option | Valeur par défaut | Description |
---|---|---|
docker_mastodon_fqdn | Nom de domaine pour lequel le service mastodon répond | |
docker_mastodon_data_dir | L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service | |
docker_mastodon_service_id | Le nom de service souhaité : conditionne le nommage des volumes et le routage par traefik | |
docker_mastodon_image_version | Version de mastodon et de l'image docker | |
docker_mastodon_local_domain | Domaine des utilisateurs permettant l'emploi d'adresses mastodon de la forme @user@domain (nécessite la mise en place de webfinger sur le domaine) | |
docker_mastodon_db_name | Nom de la base de données | |
docker_mastodon_db_user | Nom du proprietaire_de la base | |
docker_mastodon_db_password | MDP du proprietaire_de la base | |
docker_mastodon_secret_key_base | Valeur de secret_key_base généré pour la première installation | |
docker_mastodon_otp_secret | Valeur de otp_secret généré pour la première installation | |
docker_mastodon_vapid_private_key | Valeur de vapid_private_key généré pour la première installation | |
docker_mastodon_vapid_public_key | Valeur de vapid_public_key généré pour la première installation | |
docker_mastodon_mail_smtp_server | Serveur smtp par lequel mastodon envoie des emails | |
docker_mastodon_mail_smtp_port | 587 | Port d'envoi des emails |
docker_mastodon_mail_smtp_login | vide | |
docker_mastodon_mail_smtp_password | vide | |
docker_mastodon_mail_from | Adresse d'expéditeur par laquelle mastodon envoie des emails | |
docker_mastodon_oidc_enabled | false | Permet d'activer l'authentification par OpenID Connect |
docker_mastodon_oidc_display_name | Nom affiché pour la connection via OpenID Connect | |
docker_mastodon_oidc_issuer | Url "issuer" de la fédération OpenID Connect | |
docker_mastodon_oidc_discovery | true | |
docker_mastodon_oidc_scopes | openid,profile | Scopes récupérés via OpenID Connect |
docker_mastodon_oidc_uid_field | uid | Attribut utilisé pour constituer l'identifiant Mastodon |
docker_mastodon_oidc_client_id | Identifiant de client OpenID Connect de l'instance | |
docker_mastodon_oidc_client_secret | Secret de client OpenID Connect de l'instance | |
docker_mastodon_oidc_redirect_uri | cf. defaults | Url de redirection après une connection via OpenID Connect |
docker_mastodon_oidc_security_assume_email_is_verified | true | Indique à mastodon qu'il n'est pas nécessaire de valilder l'adresse email pour un utilisateur OpenID Connect |
docker_mastodon_rp_docker_host | Pour configure_reverse_proxy.yml: fqdn de la machine contenant le conteneur docker | |
docker_mastodon_rp_cert | LE | Type de certificat pour le reverse proxy (LE = letsencrypt) |
docker_mastodon_rp_access_policy | Modèle d'autorisation d'accès du reverse proxy | |
docker_mastodon_rp_indexing | Stratégie du reverse proxy vis à vis des robots | |
docker_mastodon_rp_waf | Activation websecurity du reverse proxy |
Première installation
- provisionner l'environnement une première fois en positionnant la variable docker_mastodon_gen_secrets à true ; le playbook va générer des valeurs à copier/coller dans les variables de playbook de l'environnement
ansible-playbook -i inventory/vms -i inventory/mastodon setup_mastodon.yml -e "{ docker_mastodon_gen_secrets: true }"
- pour le premier démarrage, ainsi que pour chaque montée de version, lancer le playbook avec la variable
docker_mastodon_initialize_data
positionnée àtrue
ansible-playbook -i inventory/vms -i inventory/mastodon setup_mastodon.yml -e "{ docker_mastodon_initialize_data: true }"
- enregistrer un premier utilisateur (éventuellement via une connexion OpenID Connect)
- lui donner le droit administrateur
docker exec -it mastodon_streaming_1 /bin/bash
mastodon@76beca2b858d:~$ RAILS_ENV=production bin/tootctl accounts modify <id_de_l_utilisateur> --role admin