services: Add spacestate->Mastodon service

This commit is contained in:
polyfloyd 2022-12-21 18:58:17 +01:00
parent 75b1fd6946
commit 37c374d0c4
6 changed files with 78 additions and 0 deletions

View file

@ -24,3 +24,9 @@
name: spacestated
state: restarted
daemon_reload: true
- name: restart mastodon-spacestate
systemd:
name: mastodon-spacestate
state: restarted
daemon_reload: true

View file

@ -10,3 +10,6 @@
- tags: services_spacestated
import_tasks: spacestated.yaml
- tags: services_mastodon_spacestate
import_tasks: mastodon_spacestate.yaml

View file

@ -0,0 +1,39 @@
---
- name: Install dependencies
apt:
name:
- python3-mastodon
- python3-paho-mqtt
- name: Clone source
git:
repo: https://github.com/bitlair/mastodon-spacestate.git
version: main
dest: /var/lib/mastodon-spacestate
accept_hostkey: yes
notify: restart mastodon-spacestate
- name: Install config
template:
src: mastodon-spacestate-config.py
dest: /var/lib/mastodon-spacestate/config.py
owner: root
group: root
mode: 0655
notify: restart mastodon-spacestate
- name: Install service file
template:
src: mastodon-spacestate.service
dest: /etc/systemd/system/mastodon-spacestate.service
owner: root
group: root
mode: 0644
notify: restart mastodon-spacestate
- name: Start mastodon-spacestate
systemd:
name: mastodon-spacestate
state: started
enabled: yes
daemon_reload: true

View file

@ -19,6 +19,7 @@
version: main
dest: /var/lib/spacestated/spacestated
accept_hostkey: yes
notify: restart spacestated
- name: Install service file
template:

View file

@ -0,0 +1,14 @@
mqtt_server = 'mqtt.bitlair.nl'
mqtt_port = 1883
spacestate_topic = 'bitlair/state'
open_string = 'open'
closed_string = 'closed'
spacestate_profile_key = 'Spacestate'
open_profile_field = 'Open! @ {}'
closed_profile_field = 'Closed @ {}'
profile_fields = [('Website', 'https://bitlair.nl/')]
access_token = '{{ mastodon_spacestate_access_token }}'
homeserver = 'https://hsnl.social'

View file

@ -0,0 +1,15 @@
# Managed by Ansible
[Unit]
Description=Bitlair Spacestate propagation to Mastodon
After=network.target
[Service]
Type=simple
Restart=on-failure
RestartSec=10s
ExecStart=/var/lib/mastodon-spacestate/mastodon-spacestate.py
DynamicUser=true
[Install]
WantedBy=multi-user.target