puppet-mastodon/README.md
2024-02-16 18:45:09 +02:00

99 lines
2.4 KiB
Markdown

# mastodon
This module install and manage Mastodon, Redis and PostgreSQL servers.
## Table of Contents
1. [Description](#description)
1. [Setup - The basics of getting started with mastodon](#setup)
* [What mastodon affects](#what-mastodon-affects)
* [Setup requirements](#setup-requirements)
* [Beginning with mastodon](#beginning-with-mastodon)
1. [Usage - Configuration options and additional functionality](#usage)
1. [Limitations - OS compatibility, etc.](#limitations)
1. [Development - Guide for contributing to the module](#development)
## Description
Mastodon https://joinmastodon.org/ is a decrentralized social network using the ActivityPub protocol to federate.
This module install and configure it with the required components (PostgreSQL and Redis).
## Setup
### What mastodon affects
This module will install PostgreSQL and Redis server.
### Setup Requirements
You will need a host name registered in DNS.
### Beginning with mastodon
You need to generate these secrets:
- mastodon::db_password
- mastodon::secret_key_base
- mastodon::otp_secret
- mastodon::vapid_private_key
- mastodon::vapid_public_key
## Usage
```yaml
classes:
- mastodon
mastodon::hostname: mastodon.example.org
mastodon::db_host: /var/run/postgresql
mastodon::db_port: 5432
mastodon::db_name: mastodon
mastodon::db_user: mastodon
mastodon::users:
- username: my_custom_admin
email: admin@example.org
confirmed: true
role: Owner
mastodon::config:
SINGLE_USER_MODE: false
REDIS_HOST: 127.0.0.1
SMTP_SERVER: 127.0.0.1
SMTP_PORT: 25
SMTP_AUTH_METHOD: none
SMTP_OPENSSL_VERIFY_MODE: none
SMTP_ENABLE_STARTTLS: auto
SMTP_FROM_ADDRESS: 'Mastodon <notifications@example.org>'
```
And some secrets in eyaml (you can do a first run that fails and
then run ```RAILS_ENV=production bundle exec rake mastodon:setup``` to create this secrets).
```yaml
mastodon::db_password: >
ENC[PKCS7,]
mastodon::secret_key_base: >
ENC[PKCS7,]
mastodon::otp_secret: >
ENC[PKCS7,]
mastodon::vapid_private_key: >
ENC[PKCS7,]
mastodon::vapid_public_key: >
ENC[PKCS7,]
```
## Updating your instance
The module deploys a script to do updates. But many updates required extra
steps that are not included in the script, so use it at your own risk.
This script requires a Github token with access to read public repositories.
## Limitations
Tested in Ubuntu
## Development
## Release Notes/Contributors/Etc.