Compare commits

...

9 Commits

6 changed files with 51 additions and 15 deletions

View File

@ -1,15 +1,14 @@
namespace: finallycoffee namespace: finallycoffee
name: fediverse name: fediverse
version: 0.0.1 version: 0.1.1
readme: README.md readme: README.md
authors: authors:
- Johanna Dorothea Reichmann <transcaffeine@finallycoffee.eu> - transcaffeine <transcaffeine@finally.coffee>
description: Various ansible roles for deploying fediverse software description: Deploying fediverse software, mostly ActivityPub based
dependencies: dependencies:
"community.docker": "^1.10.0" "community.docker": "^3.0.0"
license: license_file: LICENSE.md
- CNPLv7+
build_ignore: build_ignore:
- '*.tar.gz' - '*.tar.gz'
repository: https://git.finallycoffee.eu/finallycoffee.eu/fediverse repository: https://git.finally.coffee/finallycoffee/fediverse
issues: https://git.finallycoffee.eu/finallycoffee.eu/fediverse/issues issues: https://codeberg.org/finallycoffee/ansible-collection-fediverse/issues

3
meta/runtime.yml Normal file
View File

@ -0,0 +1,3 @@
---
requires_ansible: ">=2.15"

View File

@ -1,8 +1,18 @@
# `finallycoffee.fediverse.gotosocial` ansible role # `finallycoffee.fediverse.gotosocial` ansible role
## Configuration ## Configuration
The server name can be set using `gotosocial_config_host`, with `gotosocial_config_account_domain` being available when webfinger delegation is used:
```yaml
gotosocial_config_host: gotosocial.example.org
gotosocial_config_account_domain: example.org
```
### Database
The database can be configured using the `gotosocial_config_db_[address|port|user|password|database]` variables. the `[...]_type` defaults to `postgres`.
### Built-in LetsEncrypt client ### Built-in LetsEncrypt client
To use the built-in letsencrypt client, set `gotosocial_config_letsencrypt_enabled: true`. To use the built-in letsencrypt client, set `gotosocial_config_letsencrypt_enabled: true`.
@ -22,3 +32,15 @@ but with multiple acme clients all performing HTTP-01 challenges, you need to ma
overwrite `gotosocial_container_ports` to fit your needs. overwrite `gotosocial_container_ports` to fit your needs.
### Advanced configuration ### Advanced configuration
#### OIDC
OIDC can be configured using `gotosocial_config_oidc_*` variables, disabled by default. A minimal configuration could look like this:
```yaml
gotosocial_config_oidc_enabled: true
gotosocial_config_oidc_idp_name: "My fancy name for the configured IdP"
gotosocial_config_oidc_issuer: http://issuer/url
gotosocial_config_oidc_client_id: my_client_id
gotosocial_config_oidc_client_secret: my_client_secret
```

View File

@ -1,7 +1,7 @@
--- ---
gotosocial_user: "gotosocial" gotosocial_user: "gotosocial"
gotosocial_version: 0.3.8 gotosocial_version: 0.16.0
gotosocial_base_path: "/opt/gotosocial" gotosocial_base_path: "/opt/gotosocial"
gotosocial_config_path: "{{ gotosocial_base_path }}/config" gotosocial_config_path: "{{ gotosocial_base_path }}/config"
gotosocial_template_path: "{{ gotosocial_base_path }}/templates" gotosocial_template_path: "{{ gotosocial_base_path }}/templates"
@ -40,10 +40,13 @@ gotosocial_config_web_asset_base_dir: "{{ gotosocial_asset_path }}"
# instance privacy # instance privacy
gotosocial_config_instance_expose_peers: false gotosocial_config_instance_expose_peers: false
gotosocial_config_expose_suspended: false gotosocial_config_instance_expose_suspended: false
gotosocial_config_instance_expose_public_timeline: false
gotosocial_config_instance_deliver_to_shared_inboxes: true
gotosocial_config_instance_inject_mastodon_version: false
# account config # account config
gotosocial_config_acounts_registration_open: true gotosocial_config_accounts_registration_open: true
gotosocial_config_accounts_approval_required: true gotosocial_config_accounts_approval_required: true
gotosocial_config_accounts_reason_required: true gotosocial_config_accounts_reason_required: true
@ -82,6 +85,8 @@ gotosocial_config_oidc_scopes:
- openid - openid
- email - email
- profile - profile
gotosocial_config_oidc_link_existing: false
gotosocial_config_oidc_admin_groups: []
# smtp config # smtp config
gotosocial_config_smtp_host: ~ gotosocial_config_smtp_host: ~
@ -89,6 +94,7 @@ gotosocial_config_smtp_port: ~
gotosocial_config_smtp_username: ~ gotosocial_config_smtp_username: ~
gotosocial_config_smtp_password: ~ gotosocial_config_smtp_password: ~
gotosocial_config_smtp_from: ~ gotosocial_config_smtp_from: ~
gotosocial_config_smtp_disclose_recipients: false
# syslog config # syslog config
gotosocial_config_syslog_enabled: false gotosocial_config_syslog_enabled: false

View File

@ -20,8 +20,11 @@ gotosocial_default_config:
db-tls-ca-cert: "{{ gotosocial_config_db_tls_ca_cert }}" db-tls-ca-cert: "{{ gotosocial_config_db_tls_ca_cert }}"
web-template-base-dir: "{{ gotosocial_config_web_template_base_dir }}" web-template-base-dir: "{{ gotosocial_config_web_template_base_dir }}"
web-asset-base-dir: "{{ gotosocial_config_web_asset_base_dir }}" web-asset-base-dir: "{{ gotosocial_config_web_asset_base_dir }}"
instance-expose-peer: "{{ gotosocial_config_instance_expose_peers }}" instance-expose-peers: "{{ gotosocial_config_instance_expose_peers }}"
instance-expose-suspended: "{{ gotosocial_config_expose_suspended }}" instance-expose-suspended: "{{ gotosocial_config_instance_expose_suspended }}"
instance-expose-public-timeline: "{{ gotosocial_config_instance_expose_public_timeline }}"
instance-deliver-to-shared-inboxes: "{{ gotosocial_config_instance_deliver_to_shared_inboxes }}"
instance-inject-mastodon-version: "{{ gotosocial_config_instance_inject_mastodon_version }}"
accounts-registration-open: "{{ gotosocial_config_acounts_registration_open }}" accounts-registration-open: "{{ gotosocial_config_acounts_registration_open }}"
accounts-approval-required: "{{ gotosocial_config_accounts_approval_required }}" accounts-approval-required: "{{ gotosocial_config_accounts_approval_required }}"
accounts-reason-required: "{{ gotosocial_config_accounts_reason_required }}" accounts-reason-required: "{{ gotosocial_config_accounts_reason_required }}"
@ -48,11 +51,14 @@ gotosocial_default_config:
oidc-client-id: "{{ gotosocial_config_oidc_client_id }}" oidc-client-id: "{{ gotosocial_config_oidc_client_id }}"
oidc-client-secret: "{{ gotosocial_config_oidc_client_secret }}" oidc-client-secret: "{{ gotosocial_config_oidc_client_secret }}"
oidc-scopes: "{{ gotosocial_config_oidc_scopes }}" oidc-scopes: "{{ gotosocial_config_oidc_scopes }}"
oidc-link-existing: "{{ gotosocial_config_oidc_link_existing }}"
oidc-admin-groups: "{{ gotosocial_config_oidc_admin_groups }}"
smtp-host: "{{ gotosocial_config_smtp_host }}" smtp-host: "{{ gotosocial_config_smtp_host }}"
smtp-port: "{{ gotosocial_config_smtp_port }}" smtp-port: "{{ gotosocial_config_smtp_port }}"
smtp-username: "{{ gotosocial_config_smtp_username }}" smtp-username: "{{ gotosocial_config_smtp_username }}"
smtp-password: "{{ gotosocial_config_smtp_password }}" smtp-password: "{{ gotosocial_config_smtp_password }}"
smtp-from: "{{ gotosocial_config_smtp_from }}" smtp-from: "{{ gotosocial_config_smtp_from }}"
smtp-disclose-recipients: "{{ gotosocial_config_smtp_disclose_recipients }}"
syslog-enabled: "{{ gotosocial_config_syslog_enabled }}" syslog-enabled: "{{ gotosocial_config_syslog_enabled }}"
syslog-protocol: "{{ gotosocial_config_syslog_protocol }}" syslog-protocol: "{{ gotosocial_config_syslog_protocol }}"
syslog-address: "{{ gotosocial_config_syslog_address }}" syslog-address: "{{ gotosocial_config_syslog_address }}"

View File

@ -4,7 +4,7 @@ mastodon_user: mastodon
mastodon_base_path: /opt/mastodon mastodon_base_path: /opt/mastodon
mastodon_domain: ~ mastodon_domain: ~
mastodon_web_domain: ~ mastodon_web_domain: ~
mastodon_version: 3.5.1 mastodon_version: 4.1.5
mastodon_git_upstream_url: "https://github.com/mastodon/mastodon.git" mastodon_git_upstream_url: "https://github.com/mastodon/mastodon.git"
mastodon_data_path: "{{ mastodon_base_path }}/data" mastodon_data_path: "{{ mastodon_base_path }}/data"