First version of the matrix ansible playbook inventory
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
**/.env
|
||||
**/vault.yml
|
||||
2
matrix/additional-containers/.env.example
Normal file
2
matrix/additional-containers/.env.example
Normal file
@@ -0,0 +1,2 @@
|
||||
TAILSCALE_OAUTH_KEY=
|
||||
TAILSCALE_TAGS=
|
||||
54
matrix/additional-containers/docker-compose.yml
Normal file
54
matrix/additional-containers/docker-compose.yml
Normal file
@@ -0,0 +1,54 @@
|
||||
---
|
||||
services:
|
||||
ts-matrix:
|
||||
image: tailscale/tailscale:latest
|
||||
container_name: ts-matrix
|
||||
hostname: matrix
|
||||
environment:
|
||||
- TS_AUTHKEY=${TAILSCALE_OAUTH_KEY}
|
||||
- TS_EXTRA_ARGS=--advertise-tags=${TAILSCALE_TAGS}
|
||||
- TS_STATE_DIR=/var/lib/tailscale
|
||||
- TS_SOCKET=/var/run/tailscale/tailscaled.sock
|
||||
volumes:
|
||||
- ts-matrix-state:/var/lib/tailscale
|
||||
- /dev/net/tun:/dev/net/tun
|
||||
- ${PWD}/ts-matrix/tailscale-socket:/var/run/tailscale
|
||||
cap_add:
|
||||
- net_admin
|
||||
- sys_module
|
||||
restart: unless-stopped
|
||||
|
||||
traefik:
|
||||
image: "traefik:v3.0"
|
||||
restart: always
|
||||
container_name: "traefik"
|
||||
networks:
|
||||
- traefik
|
||||
command:
|
||||
- "--api.insecure=true"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.network=traefik"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--entrypoints.web-secure.address=:443"
|
||||
- "--entrypoints.matrix-federation.address=:8448"
|
||||
- "--entrypoints.matrix-internal-matrix-client-api.address=:8008"
|
||||
- "--certificatesresolvers.default.tailscale=true"
|
||||
ports:
|
||||
- "443:443"
|
||||
- "8448:8448"
|
||||
volumes:
|
||||
# - "./letsencrypt:/letsencrypt"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
- ${PWD}/ts-matrix/tailscale-socket:/var/run/tailscale
|
||||
depends_on:
|
||||
- ts-matrix
|
||||
|
||||
networks:
|
||||
traefik:
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
ts-matrix-state:
|
||||
driver: local
|
||||
postgres-data:
|
||||
driver: local
|
||||
@@ -0,0 +1,74 @@
|
||||
---
|
||||
# The bare domain name which represents your Matrix identity.
|
||||
# Matrix user ids for your server will be of the form (`@user:<matrix-domain>`).
|
||||
#
|
||||
# Note: this playbook does not touch the server referenced here.
|
||||
# Installation happens on another server ("matrix.<matrix-domain>").
|
||||
#
|
||||
# If you've deployed using the wrong domain, you'll have to run the Uninstalling step,
|
||||
# because you can't change the Domain after deployment.
|
||||
#
|
||||
# Example value: example.com
|
||||
matrix_domain: "{{ vault_matrix_domain }}"
|
||||
|
||||
# The Matrix homeserver software to install.
|
||||
# See:
|
||||
# - `roles/custom/matrix-base/defaults/main.yml` for valid options
|
||||
# - the `docs/configuring-playbook-IMPLEMENTATION_NAME.md` documentation page, if one is available for your implementation choice
|
||||
matrix_homeserver_implementation: synapse
|
||||
|
||||
# A secret used as a base, for generating various other secrets.
|
||||
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).
|
||||
matrix_homeserver_generic_secret_key: "{{ vault_matrix_homeserver_generic_secret_key }}"
|
||||
|
||||
# By default, the playbook manages its own Traefik (https://doc.traefik.io/traefik/) reverse-proxy server.
|
||||
# It will retrieve SSL certificates for you on-demand and forward requests to all other components.
|
||||
# For alternatives, see `docs/configuring-playbook-own-webserver.md`.
|
||||
matrix_playbook_reverse_proxy_type: other-traefik-container
|
||||
|
||||
# Uncomment and adjust if your Traefik container is on another network
|
||||
matrix_playbook_reverse_proxy_container_network: traefik
|
||||
|
||||
# Adjust to point to your Traefik container
|
||||
matrix_playbook_reverse_proxy_hostname: traefik
|
||||
|
||||
devture_traefik_certs_dumper_ssl_dir_path: "/path/to/your/traefiks/acme.json/directory"
|
||||
|
||||
# Uncomment and tweak the variable below if the name of your federation entrypoint is different
|
||||
# than the default value (matrix-federation).
|
||||
# matrix_federation_traefik_entrypoint_name: matrix-federation
|
||||
|
||||
# This is something which is provided to Let's Encrypt when retrieving SSL certificates for domains.
|
||||
#
|
||||
# In case SSL renewal fails at some point, you'll also get an email notification there.
|
||||
#
|
||||
# If you decide to use another method for managing SSL certificates (different than the default Let's Encrypt),
|
||||
# you won't be required to define this variable (see `docs/configuring-playbook-ssl-certificates.md`).
|
||||
#
|
||||
# Example value: someone@example.com
|
||||
devture_traefik_config_certificatesResolvers_acme_email: ''
|
||||
|
||||
# A Postgres password to use for the superuser Postgres user (called `matrix` by default).
|
||||
#
|
||||
# The playbook creates additional Postgres users and databases (one for each enabled service)
|
||||
# using this superuser account.
|
||||
devture_postgres_connection_password: "{{ vault_devture_postgres_connection_password }}"
|
||||
|
||||
# By default, we configure Coturn's external IP address using the value specified for `ansible_host` in your `inventory/hosts` file.
|
||||
# If this value is an external IP address, you can skip this section.
|
||||
#
|
||||
# If `ansible_host` is not the server's external IP address, you have 2 choices:
|
||||
# 1. Uncomment the line below, to allow IP address auto-detection to happen (more on this below)
|
||||
# 2. Uncomment and adjust the line below to specify an IP address manually
|
||||
#
|
||||
# By default, auto-detection will be attempted using the `https://ifconfig.co/json` API.
|
||||
# Default values for this are specified in `matrix_coturn_turn_external_ip_address_auto_detection_*` variables in the Coturn role
|
||||
# (see `roles/custom/matrix-coturn/defaults/main.yml`).
|
||||
#
|
||||
# If your server has multiple IP addresses, you may define them in another variable which allows a list of addresses.
|
||||
# Example: `matrix_coturn_turn_external_ip_addresses: ['1.2.3.4', '4.5.6.7']`
|
||||
#
|
||||
# matrix_coturn_turn_external_ip_address: ''
|
||||
|
||||
# No coturn needed for my own personal server
|
||||
matrix_coturn_enabled: false
|
||||
@@ -0,0 +1,3 @@
|
||||
vault_matrix_domain:
|
||||
vault_matrix_homeserver_generic_secret_key:
|
||||
vault_devture_postgres_connection_password:
|
||||
4
matrix/ansible-playbook-config/inventory/hosts.yml
Normal file
4
matrix/ansible-playbook-config/inventory/hosts.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
matrix_servers:
|
||||
matrix.<domain>:
|
||||
ansible_host:
|
||||
ansible_ssh_user: root
|
||||
Reference in New Issue
Block a user