Yourls ermöglicht euch, dass ihr URLs zu langen Webseiten verkürzen könnt. Hier zeige ich euch, wie ihr diesen Dienst mittels Docker und Traefik sehr schnell installieren könnt. Traefik dient uns hier als Reverse Proxy und stellt später den Dienst verschlüsselt per TLS bereit.

Wer Traefik noch nicht installiert hat, findet hier eine Anleitung, wie ihr dies schnell tun könnt.

1. Ordner anlegen

Zuerst legen wir uns passende Ordner-Strukturen an.

mkdir -p /opt/containers/yourls

2. Docker Compose anlegen

Nun legen wir die eigentliche Docker Datei an. Hierfür habe ich mir die offizielle Yourls Compose genommen und diese abgeändert für Traefik.

cd /opt/containers/yourls/
nano docker-compose.yml
version: '3.1'

services:

  yourls:
    image: yourls
    restart: unless-stopped
    environment:
      YOURLS_DB_HOST: yourls-db
      YOURLS_DB_PASS: password    ### Hier ein Passwort eingeben ###
      YOURLS_SITE: https://yourls.euredomain.de  ## Hier Domain anpassen ###
      YOURLS_USER: admin  ## Hier anpassen ##
      YOURLS_PASS: password ## Hier anpassen ##
    networks:
      - default
      - proxy
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.yourls.entrypoints=http"
      - "traefik.http.routers.yourls.rule=Host(`yourls.euredomain.de`)" ## Hier anpassen ##
      - "traefik.http.middlewares.yourls-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.yourls.middlewares=yourls-https-redirect"
      - "traefik.http.routers.yourls-secure.entrypoints=https"
      - "traefik.http.routers.yourls-secure.rule=Host(`yourls.euredomain.de`)" ## Hier anpassen ##
      - "traefik.http.routers.yourls-secure.tls=true"
      - "traefik.http.routers.yourls-secure.tls.certresolver=http"
      - "traefik.http.routers.yourls-secure.service=yourls"
      - "traefik.http.services.yourls.loadbalancer.server.port=80"
      - "traefik.docker.network=proxy"



  yourls-db:
    image: mysql:5.7
    restart: unless-stopped
    environment:
      MYSQL_DATABASE: yourls
      MYSQL_ROOT_PASSWORD: password ### Hier ein selbes Passwort eingeben ###
    networks:
      - default

networks:
  proxy:
    external: true

Notwendige Anpassungen:

  1. MySQL User Kennwort ändern
  2. YOURLS_Site anpassen
  3. YOURLS_USER anpassen
  4. 2x eure Domain bei Traefik anpassen (yourls.euredomain.de“)

Diese Docker Compose Datei funktioniert nur, wenn ich euch mittels meiner Anleitung hier Traefik installiert habt. Sonst heißen einige Traefik Variablen wohl anders. Diese müsst ihr dann dementsprechend bei euch anpassen.

3. Yourls starten

Nun könnt ihr wie gewohnt den Container starten:

docker-compose -f /opt/containers/yourls/docker-compose.yml up -d

Nun geht ihr auf folgende Webseite: yourls.euredomain.de/admin

Hier klickt ihr dann auf „Install YOURLS“.

Nach der Installation gelangt ihr zur Admin Seite.

Hier meldet ihr euch nun mit den Daten an, welche ihr im Docker Compose File angegeben habt.

Und jetzt seht ihr das Interface von YOURLS.

4. Quellen

https://hub.docker.com/_/yourls

Teile diesen Beitrag
Christian

Categories:

Ein Kommentar

  1. Seit YOURLS 1.7 führte automatische Passwortverschlüsselung ein, wodurch er die config.php schreibfähig haben will. Siehe auch https://github.com/YOURLS/YOURLS/wiki/Username-Passwords#faq

    Lösen lässt es sich in dem die config.php aus dem Container (Pfad: /var/www/html/user/config.php) herauskopiert wird.

    docker cp $(docker ps | grep yourls:latest | cut -f 1 -d ‚ ‚):/var/www/html/user/config.php config.php

    Dann chown 33:33 config.php (www-data:www-data), mit chmod 0666 config.php (zumindest temporär) schreibfähig gemacht wird und im Anschluss als binding wieder in den Container gebunden wird.

    volumes:
    – $(PWD)/config.php:/var/www/html/user/config.php:rw

    Dann hört das die Fehlermeldung auf. Ärgerlich ist das YOURLS das leider nicht auf der DockerHub Seite dokumentiert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.