Die selbst gehostete Open-Source Linktree-Alternative LinkStack ist eine hochgradig anpassbare Link-Sharing-Plattform mit einer intuitiven, einfach zu bedienenden Benutzeroberfläche. Sie wird stetig weiterentwickelt und bietet mehr Funktionen als die Alternative.
LinkStack bietet Ihnen eine Website ähnlich wie Linktree. Viele Social-Media-Plattformen erlauben es Ihnen nur, einen Link hinzuzufügen. Mit LinkStack können Sie einfach auf Ihre LinkStack-Seite verlinken und alle Links, die Sie wollen, auf einer Seite anzeigen lassen. Sie können alle Ihre Links auf Ihrer Social-Media-Plattform oder wichtige Links einfach zugänglich machen und auf Ihrem eigenen Webserver hosten. Auf dieser Website können sich andere Nutzer registrieren und ihre eigenen Links erstellen.
1. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu )
- Traefik V3 Installation, Konfiguration und CrowdSec-Security
2. Verzeichnisse anlegen
Dazu nutzen wir folgenden Befehl
mkdir -p /opt/containers/linkstack/compose cd /opt/containers/linkstack/
3. Docker Compose File anlegen
Dazu erstellen wir die Datei mit folgendem Befehl
nano compose/docker-compose.yml
(docker-compose.yml) Füge folgendes ein:
services: linkstack: container_name: 'linkstack' hostname: 'linkstack' image: 'linkstackorg/linkstack:latest' environment: TZ: 'Europe/Berlin' SERVER_ADMIN: 'admin@example.com' HTTP_SERVER_NAME: 'domain.de' HTTPS_SERVER_NAME: 'domain.de' LOG_LEVEL: 'info' PHP_MEMORY_LIMIT: '256M' UPLOAD_MAX_FILESIZE: '8M' volumes: - '/opt/containers/linkstack/httpdocs:/htdocs' restart: unless-stopped networks: - proxy labels: - "traefik.enable=true" - "traefik.http.routers.linkstack.entrypoints=websecure" - "traefik.http.routers.linkstack.rule=(Host(`domain.de`))" - "traefik.http.routers.linkstack.tls=true" - "traefik.http.routers.linkstack.tls.certresolver=http_resolver" - "traefik.http.routers.linkstack.service=linkstack" - "traefik.http.services.linkstack.loadbalancer.server.port=80" - "traefik.docker.network=proxy" - "traefik.http.routers.linkstack.middlewares=default@file,linkstack-head" - "traefik.http.middlewares.linkstack-head.headers.customrequestheaders.X-Forwarded-Proto=https" - "traefik.http.middlewares.linkstack-head.headers.customResponseHeaders.X-Robots-Tag=none" - "traefik.http.middlewares.linkstack-head.headers.customResponseHeaders.Strict-Transport-Security=max-age=63072000" - "traefik.http.middlewares.linkstack-head.headers.stsSeconds=31536000" - "traefik.http.middlewares.linkstack-head.headers.accesscontrolalloworiginlist=*" networks: proxy: external: true
Notwendige Anpassungen:
- jegliche “domain.de” durch eure Domain ersetzen
- ggf. “linkstack-ui” anpasen solltet ihr einen anderen Namen wünschen
- Email anpassen
Nun erstellen wir die env Datei.
nano compose/.env
(.env) Füge folgendes ein:
COMPOSE_PROJECT_NAME=linkstack
4. Runterladen, entpacken und Anpassen des Archives
Um den Container starten zu können, müssen wir das aktuelle Paket laden und eine kleine Anpassung mit den folgenden Befehlen vornehmen
wget https://github.com/linkstackorg/linkstack/releases/latest/download/linkstack.zip apt update && apt install unzip -y unzip linkstack.zip mv linkstack/ httpdocs/ chown -R 100:101 httpdocs/ nano httpdocs/.env
Dort FORCE_HTTPS=false durch FORCE_HTTPS=true ersetzen.
5. Linkstack starten und installieren
Endlich geht’s los!
docker compose -f compose/docker-compose.yml up -d
Nach dem Start des Containers öffnen wir unsere Linkstack-Instanz https://domain.de, wo wir mit der Sprachauswahl begrüßt werden.
Dort wählen wir einfach DE aus, drücken auf “Nächste” und
kommen wir zur Abhängigskeitsprüfung, bestätigen dies ebenfalls mit “Nächste”
Da wir diesen Container ohne Mysql Datenbank erstellt haben, wählen wir hier SQLite aus und bestätigen mit “Nächste”.
Als nächstes legen wir einen Benutzer mit E-Mail-Adresse, Webseite und Namen an.
Schließlich haben wir noch die Möglichkeit, die Registrierung zu aktivieren oder einen Anwendungsnamen zu wählen,
Nach Abschluss der Konfiguration gelangt man auf die Login-Seite und nach dem Einloggen auf das Dashboard von Linkstack.
Auf der linken Seite befindet sich die Administration, wo alle Benutzer und Einstellungen eingesehen werden können. Unter “Links” befindet sich das eigentliche Herzstück der Software. Das Erstellen der Links. Ich werde nicht weiter darauf eingehen, da ich denke, dass dies selbsterklärend ist.
Bei Fragen stehe ich Ihnen in den Kommentaren gerne zur Verfügung.