Epicyon – Installation auf Arch Linux

=> Martin Döring, 1. Dezember 2022

Diese Notizen erläutern, wie ich den ActivityPub-Server Epicyon auf Arch-Linux installiert habe. Die Installation unterscheidet sich insbesondere in den Kommandos und den Paketnamen sehr von der Installation auf Debian-Systemen.

Zunächst sollte das System auf den allerneuesten Stand gebracht werden:

pacman -Sy archlinux-keyring && pacman -Syu

Jetzt Klonen wir das Git-Repository von Epicyon:

cd /opt
git clone https://gitlab.com/bashrc2/epicyon

Nun legen wir den User epicyon an. Da wir durch das Klonen schon ein Home-Directory haben, benötigen wir keine Option -m, die sonst dafür sorgt, dass es angelegt wird:

useradd -d /opt/epicyon -s /bin/bash -c "Epicyon" epicyon
chown -R epicyon:epicyon /opt/epicyon

Damit das Ganze funktionieren kann, werden nun eine ganze Menge Python-Pakete benötigt. Die Namen wurden so angepasst, dass sie statt für Debian für Arch Linux passend sind:

pacman -S python-socks imagemagick python-setuptools python-cryptography python-dateutil python-idna python-requests flake8 python-pyqrcode python-pypng bandit perl-image-exiftool certbot

Ein Paket muss händisch aus dem Arch User Repository (AUR) erzeugt werden, da es nicht in den üblichen Repositories enthalten ist

su - epicyon
cd /tmp
git clone https://aur.archlinux.org/python-django-timezone-field.git
cd python-django-timezone-field.git
makepkg-sir
exit

Nun kopieren wir den folgenden Text in ein Service-File, welches liegt unter: /etc/systemd/system/epicyon.service

Dabei ist YOUR_DOMAIN durch die eigene Domain zu ersetzen, unter welcher der Server laufen soll:

[Unit]
Description=epicyon
After=syslog.target
After=network.target

[Service]
Type=simple
User=epicyon
Group=epicyon
WorkingDirectory=/opt/epicyon
ExecStart=/usr/bin/python /opt/epicyon/epicyon.py --port 443 --proxy 7156 --domain YOUR_DOMAIN --registration open --log_login_failures
Environment=USER=epicyon
Environment=PYTHONUNBUFFERED=true
Restart=always
StandardError=syslog
CPUQuota=80%
ProtectHome=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
ProtectKernelLogs=true
ProtectHostname=true
ProtectClock=true
ProtectProc=invisible
ProcSubset=pid
PrivateTmp=true
PrivateUsers=true
PrivateDevices=true
PrivateIPC=true
MemoryDenyWriteExecute=true
NoNewPrivileges=true
LockPersonality=true
RestrictRealtime=true
RestrictSUIDSGID=true
RestrictNamespaces=true
SystemCallArchitectures=native

[Install]
WantedBy=multi-user.target 

Anschließend integrieren wir als User root den Service in das System:

systemctl daemon-reload
systemctl start epicyon.service
systemctl enable epicyon.service

Die Konfiguration eines Reverse-Proxy mit nginx und certbot erfolgt so, wie in der Original-Dokumentation weiter unten unter "Create a web server configuration":

https://epicyon.net/#install

——

=> Zurück | Datenschutzinformation

Proxy Information
Original URL
gemini://datenbrei.de/floss/2022-12-01-epicyon-installation-auf-arch-linux.gmi
Status Code
Success (20)
Meta
text/gemini;lang=de
Capsule Response Time
126.299887 milliseconds
Gemini-to-HTML Time
2.105009 milliseconds

This content has been proxied by September (3851b).