README ¶
Forschungsarbeitbörse
Die Forschungsarbeitbörse ist eine Open Source Webanwendung zur Veröffentlichung von Angeboten für Forschungs- und Doktorarbeiten. Mit einem Fokus auf einfache Zugänglichkeit und Administration ohne Registrierung und dabei minimalen Installationsanforderungen.
Installation
Installationsbeispiel Linux:
# Download oder Build des Binary
sudo install -m 0755 bin/forschungsarbeitboerse /usr/local/bin/
sudo adduser --system --disabled-password --home /var/lib/forschungsarbeitboerse --shell /bin/bash --gecos '' --group forschungsarbeitboerse
sudo install -m 0640 forschungsarbeitboerse.toml.example -o forschungsarbeitboerse -g forschungsarbeitboerse /var/lib/forschungsarbeitboerse/forschungsarbeitboerse.toml
# Anpassung der Beispielkonfiguration
# Konfiguration eines systemd Unit (siehe unten)
# Konfiguration eines Reverse Proxy (siehe unten)
Initialisierung der SQLite Datenbank:
sudo su - forschungsarbeitboerse
forschungsarbeitboerse -init-db
systemd Beispielkonfiguration und -installation:
cat <<SERVICE | sudo tee /etc/systemd/system/forschungsarbeitboerse.service
[Unit]
Description=forschungsarbeitboerse
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service
[Service]
Restart=on-failure
User=forschungsarbeitboerse
Group=forschungsarbeitboerse
WorkingDirectory=/var/lib/forschungsarbeitboerse
ExecStart=/usr/local/bin/forschungsarbeitboerse
NoNewPrivileges=true
PrivateTmp=true
PrivateDevices=true
ProtectSystem=full
[Install]
WantedBy=multi-user.target
SERVICE
sudo systemctl daemon-reload
sudo systemctl enable forschungsarbeitboerse
sudo systemctl start forschungsarbeitboerse
Caddy Reverse Proxy Beispielkonfiguration:
forschungsarbeitboerse.example.com {
encode gzip
log {
format json
output file /var/log/caddy/forschungsarbeitboerse.example.com.access.json
}
reverse_proxy /* 127.0.0.1:4444
}
Litestream Datenbank Replikation Beispielkonfiguration:
Mit Litestream ist eine kontinuierliche Replikation und Sicherung der Datenbank
einfach möglich. Eine Beispielkonfiguration für Cloudflare R2
findet sich in litestream.yml.example
.
Beispiel replicate
:
litestream replicate -config ./litestream.yml
Beispiel restore
:
litestream restore \
-config ./litestream.yml \
-replica s3 \
forschungsarbeitboerse.sqlite3
Nutzung
forschungsarbeitboerse -config forschungsarbeitboerse.toml
Konfiguration
Die Konfiguration erfolgt über eine einfache Textdatei forschungsarbeitboerse.toml
,
ein Template zum Download findet sich hier:
forschungsarbeitboerse.toml.example
Beispielkonfiguration mit allen Parametern:
# Die Root URL ihrer Installation, bspw. "https://forschungsarbeitboerse.example.com"
url = "http://127.0.0.1:4444"
# Socket IP Adresse und Port
addr = "127.0.0.1:4444"
# Ein individuelles 32 Byte Cookie Secret in hexadezimaler Notation;
# `forschungsarbeitboerse -gen-cookie-secret`
cookie_secret = ""
# SMTP Zugangsdaten zur Versendung der administrativen E-Mails
smtp_user = "example@example.com"
smtp_pass = "SECRET"
smtp_host = "mail.example.com"
smtp_port = "587"
smtp_mail_from = "noreply@example.com"
# E-Mail Adressen (RegExp, https://pkg.go.dev/regexp/syntax), für die
# Nutzer:innen das Angebot selbst freischalten dürfen; alle anderen
# Angebote erfordern eine Freischaltung durch die Administratoren
valid_mail_regexp = [".+@example.com"]
# E-Mail Adresse der Administratoren
admin_email = "admins@example.com"
# Auswahl Art der Arbeit
posting_categories = [
"Doktorarbeit",
"Forschungsarbeit",
]
# Auswahl Typ der Arbeit
posting_types = [
"experimentell",
"tierexperimentell",
"klinisch",
"statistisch",
"theoretisch",
]
# Im Menü angezeigter Titeltext
title_text = "Forschungsarbeitbörse"
# Auf der Startseite angezeigter Infotext (Markdown)
info_text = """
Auf der **Forschungs- und Doktorarbeitbörse** können Sie unkompliziert
und ohne Registrierung Angebote für wissenschaftliche Arbeiten finden
und einstellen. Die Freischaltung und Administration erfolgt über E-Mail.
"""
# Der Footer Text (Markdown)
footer_text = """
Kontakt & Hilfe: <forschungsarbeitboerse@example.com>
"""
Lizenz
Die Forschungsarbeitbörse ist unter den Bedingungen der Open Source Lizenz AGPL v3 frei und kostenlos nutzbar:
GNU Affero General Public License v3
Development
Requirements
- gcc
- git
- Go
>= 1.21
- Make
git clone https://github.com/forschungsarbeitboerse/forschungsarbeitboerse
cd forschungsarbeitboerse
Build
make
Live reload
Mit air kann die Anwendung live neu kompiliert und geladen werden:
make dev
Documentation ¶
There is no documentation for this package.