Mobilizon: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(Kategorien)
Zeile 96: Zeile 96:
* [https://joinmobilizon.org/de/ Mobilizon Webseite JoinMobilizon]
* [https://joinmobilizon.org/de/ Mobilizon Webseite JoinMobilizon]
* [https://docs.joinmobilizon.org/administration/install/release/ originale Installationsanleitung]
* [https://docs.joinmobilizon.org/administration/install/release/ originale Installationsanleitung]
[[Kategorie:Installationsanleitungen]]
[[Kategorie:Fediverse]]
[[Kategorie:Activitypub]]

Version vom 6. September 2023, 18:31 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

Links