dumpen

Dumpen

Dumpen är ett privat bildarkiv för appikoner och temabilder. Du laddar upp PNG-bilder (512 × 512 eller 1254 × 1254), en och en eller många i taget som ZIP. Dumpen känner själv igen app, tema och upplösning och sorterar in bilderna. Varje bild får en fast publik länk, och hela teman kan laddas ner som ZIP.

Alla bilder är publika via sin länk, /bilder/.... Allt annat, alltså galleriet, uppladdning och radering, kräver inloggning.

Kom igång

  1. Installera Docker. På Windows och Mac: Docker Desktop. På Linux: paketet docker.io (Debian/Ubuntu) eller motsvarande. Podman fungerar också.
  2. Skapa en mapp och en fil i den som heter docker-compose.yml. Klistra in innehållet nedan.
  3. Fyll i PUBLIC_URL (adressen du öppnar Dumpen på) och ett eget ADMIN_PASSWORD på minst 8 tecken.
  4. Starta i den mappen: docker compose up -d
  5. Öppna adressen och logga in med lösenordet.
services:
  dumpen:
    image: docker.io/driftaegis/dumpen:1
    restart: unless-stopped
    ports:
      - "8787:8787"
    environment:
      PUBLIC_URL: "http://localhost:8787"
      AUTH_MODE: "password"
      ADMIN_PASSWORD: "change-me-to-a-long-password"
      CF_ACCESS_TEAM_DOMAIN: ""
      CF_ACCESS_AUD: ""
      CLOUDFLARE_API_TOKEN: ""
      CLOUDFLARE_ACCOUNT_ID: ""
    volumes:
      - dumpen-data:/data

  tunnel:
    image: docker.io/cloudflare/cloudflared:latest
    profiles: ["tunnel"]
    restart: unless-stopped
    command: tunnel --no-autoupdate run
    environment:
      TUNNEL_TOKEN: ""
    depends_on:
      - dumpen

volumes:
  dumpen-data:

Inloggning: två sätt

Välj med AUTH_MODE.

password (standard): en inloggningssida med lösenordet i ADMIN_PASSWORD. Sessionen gäller i 30 dagar. Om du byter lösenord loggas alla ut.

cloudflare-access: Cloudflare Access sköter inloggningen, med e-postkod, Google eller annan identitetsleverantör. Dumpen kontrollerar den signerade Access-token själv, så den som tar sig förbi Access släpps ändå inte in. Det kräver ett Cloudflare-konto med en domän:

  1. Skapa en tunnel. Gå till Zero Trust → Networks → Tunnels, skapa en tunnel och peka ett publikt värdnamn mot http://dumpen:8787. Kopiera tunnelns token till TUNNEL_TOKEN.
  2. Skapa en Access-applikation. Gå till Zero Trust → Access → Applications, lägg till en self-hosted applikation för samma värdnamn och skapa en policy för vilka som får logga in.
  3. Fyll i compose-filen. Kopiera applikationens Application Audience (AUD) Tag till CF_ACCESS_AUD och teamdomänen (dittteam.cloudflareaccess.com) till CF_ACCESS_TEAM_DOMAIN. Sätt AUTH_MODE: "cloudflare-access" och PUBLIC_URL till det publika värdnamnet.
  4. Lägg till ett undantag för bilderna. Skapa en Access-applikation för <värdnamn>/bilder/* med policyn Bypass → Everyone. Har zonen Hotlink Protection påslaget behövs också en konfigurationsregel som stänger av det för /bilder/, annars visas bilderna inte på andra sidor, som App Launcher.
  5. Starta med tunneln: docker compose --profile tunnel up -d

Inställningar

Variabel Krävs Standard Betydelse
PUBLIC_URL Ja http://localhost:8787 Adressen Dumpen nås på. Bildlänkarna byggs från den, så ange den publika adressen om bilderna ska användas utanför ditt nätverk.
AUTH_MODE Nej password password eller cloudflare-access.
ADMIN_PASSWORD Med password – Minst 8 tecken, gärna betydligt längre.
CF_ACCESS_TEAM_DOMAIN Med cloudflare-access – T.ex. dittteam.cloudflareaccess.com.
CF_ACCESS_AUD Med cloudflare-access – Access-applikationens AUD-tagg.
CLOUDFLARE_API_TOKEN Nej – Bara för funktionen “Använd i App Launcher”, som sätter ett temas ikoner på dina Cloudflare Access-appar. Behörighet: Access: Apps and Policies: Edit.
CLOUDFLARE_ACCOUNT_ID Nej – Ditt Cloudflare-konto-id, för samma funktion.
TUNNEL_TOKEN (tjänsten tunnel) Nej – Token för Cloudflare Tunnel.
PORT Nej 8787 Porten inne i containern.

Inställningar från en fil i stället

Vill du inte ha värden som lösenord i compose-filen lägger du dem som NAMN=värde-rader i filen import.env i datavolymen (den som monteras på /data) och startar om containern. Vid starten sparas värdena i /data/settings.env, som bara containern kan läsa, och import.env raderas. För att ändra ett värde senare lägger du en ny import.env med bara den raden. En rad med NAMN= och inget värde tar bort inställningen. Värden som är ifyllda i compose-filen gäller före sparade värden.

Data, säkerhetskopiering och uppdatering

HTTPS

Containern talar vanlig HTTP på port 8787. Med cloudflare-access sköter tunneln HTTPS. Med password och åtkomst utifrån behövs en omvänd proxy med certifikat, till exempel Caddy, Traefik eller nginx. Sessionscookien får flaggan Secure automatiskt när sidan nås via HTTPS.

Teknisk översikt

Changelog

1.3.2

1.3.1

1.3.0

1.2.0

Licens

Dumpen har ingen angiven licens. Den medföljande komponenten pako har MIT-licens.