Mobilizon: Unterschied zwischen den Versionen
Peh (Diskussion | Beiträge) (Download und Entpacken) |
Peh (Diskussion | Beiträge) |
||
Zeile 22: | Zeile 22: | ||
cd ~ | cd ~ | ||
tar xzf ~/tmp/mobilizon.tgz | tar xzf ~/tmp/mobilizon.tgz | ||
== Konfiguration == | |||
Die Datei ''config.exs'': | |||
# Mobilizon instance configuration | |||
import Config | |||
config :mobilizon, Mobilizon.Web.Endpoint, | |||
server: true, | |||
url: [host: "groups.hs-example.de"], | |||
http: [ | |||
ip: {127,0,0,1}, | |||
port: 37080 | |||
], | |||
secret_key_base: "XXXXXXXX" | |||
config :mobilizon, Mobilizon.Web.Auth.Guardian, | |||
secret_key: "YYYYYYYY" | |||
config :mobilizon, :instance, | |||
name: "Veranstaltungen", | |||
description: "Veranstaltungen Online", | |||
hostname: "groups.hs-example.de", | |||
registrations_open: false, | |||
demo: false, | |||
allow_relay: true, | |||
federating: true, | |||
email_from: "noreply@groups.hs-example.de", | |||
email_reply_to: "noreply@groups.hs-example.de" | |||
config :mobilizon, Mobilizon.Storage.Repo, | |||
adapter: Ecto.Adapters.Postgres, | |||
username: "xyz00_mobilizon", | |||
password: "******, | |||
database: "xyz00_mobilizon", | |||
hostname: "localhost", | |||
port: "5432", | |||
pool_size: 10 | |||
config :mobilizon, Mobilizon.Web.Upload.Uploader.Local, | |||
uploads: "/home/storage/xyz00/users/mobilizon/uploads" | |||
== Systemd-Service == | |||
cat ~/.config/systemd/user/mobilizon.service | |||
[Unit] | |||
Description=Mobilizon Service | |||
After=network.target postgresql.service | |||
[Service] | |||
Type=simple | |||
WorkingDirectory=%h/mobilizon | |||
ExecStart=%h/mobilizon/bin/mobilizon start | |||
Restart=always | |||
Environment=MIX_ENV=prod | |||
Environment=PATH=/usr/local/bin:/usr/bin:/bin | |||
Environment=HOME=%h | |||
Environment=MOBILIZON_CONFIG_PATH=%h/mobilizon/config.exs | |||
Environment=ERL_EPMD_ADDRESS=127.0.0.1 | |||
Environment=ERL_EPMD_PORT=37369 | |||
Environment=LANG=de_DE.UTF-8 | |||
PrivateTmp=true | |||
NoNewPrivileges=true | |||
[Install] | |||
WantedBy=default.target | |||
== Links == | == Links == |
Version vom 6. September 2023, 18:29 Uhr
Mobilizon ist eine Plattform, die am sog. "Fediverse" teilnimmt. Das Fediverse bezeichnet ein Netzwerk föderierter, voneinander unabhängiger sozialer Netzwerke. Dazu gehören insbesondere die Micro-Blogging Plattformen Mastodon, Pleroma und Misskey.
Mobilizon stellt im Fediverse Funktionen für die Bekanntmachung von Veranstaltungen bereit. Veranstalungen werden hier organisiert, Terlnehmende werden mobilisiert. Mobilizon bietet gute Alternativen zu Facebook-Gruppen und -Fanpages.
Installation
Der Betrieb von Mobilizon erfordert in der Regel einen Webspace auf einem eigenen Managed Server, weil mehrere Server-Dienste betrieben werden und weil Erweiterungen in der PostgreSQL-Datenbank installiert werden müssen.
Vorbereitung
Zur Vorbereitung wird im Hostsharing-Webspace mit HSAdmin ein Service-User (im Beispiel xyz00-mobilizon) angelegt. Der Service-User wird Domain-Admin für die Domain, unter der die Mobilizon-Instanz später erreichbar sein soll. Im folgenden nutzen wir die Domain groups.hs-example.de als Beispiel.
Die Software verwendet PostgreSQL als Datenbanksystem mit der PostGIS-Erweiterung. Als weiteren Vobereitungsschritt legen wir mit HSAdmin einen User in PostgreSQL an und verwenden den PostgreSQL-User als Eigentümer für die Mobilizon-Datenbank. Im Folgenden heißen PostgreSQL-User und PostgreSQL-Datenbank beides xyz00_mobilizon.
Damit die PostGIS-Funktionalität in der neuen Datenbank zur Verfügung steht, muss der Hostsharing-Service die Erweiterungen postgis, pg_trgm und unaccent in der neu angelegten Datenbank einspielen. Wir bitten den Service in einer E-Mail an service@hostsharing.net unter Angabe Namens der Datenbank um die Aktivierung der Erweiterungen.
Download und Entpacken der Software
mkdir ~/tmp cd ~/tmp wget https://joinmobilizon.org/latest-package -O mobilizon.tgz cd ~ tar xzf ~/tmp/mobilizon.tgz
Konfiguration
Die Datei config.exs:
# Mobilizon instance configuration import Config config :mobilizon, Mobilizon.Web.Endpoint, server: true, url: [host: "groups.hs-example.de"], http: [ ip: {127,0,0,1}, port: 37080 ], secret_key_base: "XXXXXXXX" config :mobilizon, Mobilizon.Web.Auth.Guardian, secret_key: "YYYYYYYY" config :mobilizon, :instance, name: "Veranstaltungen", description: "Veranstaltungen Online", hostname: "groups.hs-example.de", registrations_open: false, demo: false, allow_relay: true, federating: true, email_from: "noreply@groups.hs-example.de", email_reply_to: "noreply@groups.hs-example.de" config :mobilizon, Mobilizon.Storage.Repo, adapter: Ecto.Adapters.Postgres, username: "xyz00_mobilizon", password: "******, database: "xyz00_mobilizon", hostname: "localhost", port: "5432", pool_size: 10 config :mobilizon, Mobilizon.Web.Upload.Uploader.Local, uploads: "/home/storage/xyz00/users/mobilizon/uploads"
Systemd-Service
cat ~/.config/systemd/user/mobilizon.service
[Unit] Description=Mobilizon Service After=network.target postgresql.service [Service] Type=simple WorkingDirectory=%h/mobilizon ExecStart=%h/mobilizon/bin/mobilizon start Restart=always Environment=MIX_ENV=prod Environment=PATH=/usr/local/bin:/usr/bin:/bin Environment=HOME=%h Environment=MOBILIZON_CONFIG_PATH=%h/mobilizon/config.exs Environment=ERL_EPMD_ADDRESS=127.0.0.1 Environment=ERL_EPMD_PORT=37369 Environment=LANG=de_DE.UTF-8 PrivateTmp=true NoNewPrivileges=true [Install] WantedBy=default.target