jobb

Jobb

Jobb söker jobb åt dig på StudentConsulting. Varje månad skickas tio ansökningar till jobb som matchar din profil där (Matcha jobb), och varje ansökan kontrolleras i ditt konto. Månadens tio jobb samlas i en textfil med jobb-ID, typ av jobb, stad och omfattning. Filen kan du ladda ner eller få mejlad, till exempel som underlag för din aktivitetsrapport.

Allt körs i containern, inklusive webbläsaren som söker jobben. Du behöver inget Cloudflare-konto.

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. Byt ADMIN_PASSWORD till ett eget lösenord på minst 8 tecken.
  4. Starta i den mappen: docker compose up -d. Första gången laddas imagen ner, och den är stor eftersom webbläsaren ingår.
  5. Öppna http://localhost:8787 och logga in.
  6. Fyll i inställningarna. Under System anger du e-post och lösenord för ditt StudentConsulting-konto och slår på autosubmit. Därefter söker Jobb automatiskt den 10:e varje månad, och du kan starta en körning för hand under den 1:a–14:e.
services:
  jobb:
    image: docker.io/driftaegis/jobb:1
    restart: unless-stopped
    ports:
      - "8787:8787"
    shm_size: "1gb"
    environment:
      PUBLIC_URL: "http://localhost:8787"
      AUTH_MODE: "password"
      ADMIN_PASSWORD: "change-me-to-a-long-password"
      CF_ACCESS_TEAM_DOMAIN: ""
      CF_ACCESS_AUD: ""
      BROWSER_MODE: "bundled"
      CLOUDFLARE_API_TOKEN: ""
      CLOUDFLARE_ACCOUNT_ID: ""
      SMTP_HOST: ""
      SMTP_PORT: "587"
      SMTP_USER: ""
      SMTP_PASSWORD: ""
    volumes:
      - jobb-data:/data

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

volumes:
  jobb-data:

Så fungerar månaden

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, och Jobb kontrollerar den signerade Access-token själv. 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://jobb:8787. Kopiera tunnelns token till TUNNEL_TOKEN.
  2. Skapa en Access-applikation. Gå till Zero Trust → Access → Applications och lägg till en self-hosted applikation för värdnamnet, med en policy för vilka som får logga in.
  3. Fyll i compose-filen. Kopiera Application Audience (AUD) Tag till CF_ACCESS_AUD och teamdomänen till CF_ACCESS_TEAM_DOMAIN, och sätt AUTH_MODE: "cloudflare-access".
  4. Starta med tunneln: docker compose --profile tunnel up -d

Webbläsaren: två sätt

Välj med BROWSER_MODE.

Inställningar

Variabler i compose-filen:

Variabel Krävs Standard Betydelse
PUBLIC_URL Nej http://localhost:8787 Adressen du öppnar Jobb på. Används i e-post.
AUTH_MODE Nej password password eller cloudflare-access.
ADMIN_PASSWORD Med password – Minst 8 tecken, gärna betydligt längre.
CF_ACCESS_TEAM_DOMAIN, CF_ACCESS_AUD Med cloudflare-access – Se ovan.
BROWSER_MODE Nej bundled bundled eller cloudflare.
CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID Med cloudflare – Se ovan.
SMTP_HOST För e-post – Utgående e-postserver, t.ex. din e-postleverantörs SMTP.
SMTP_PORT Nej 587 587 (STARTTLS) eller 465 (TLS).
SMTP_USER, SMTP_PASSWORD För e-post – Inloggning till SMTP-servern. Många leverantörer kräver ett appspecifikt lösenord.
JOBB_CONFIG_KEY Nej skapas automatiskt Nyckel som krypterar inställningarna i databasen. Skapas första gången och sparas i /data/config-key.
PORT Nej 8787 Porten inne i containern.

Inställningar som görs under System i webbläsaren, och sparas krypterat:

Värden som du sätter som miljövariabler (STUDENTCONSULTING_EMAIL, STUDENTCONSULTING_PASSWORD, STUDENTCONSULTING_AUTOSUBMIT, NOTIFY_EMAIL_TO, NOTIFY_EMAIL_FROM, NOTIFY_EMAIL_MODE) går före det som sparas i System.

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

Teknisk översikt

Changelog

1.1.2

1.1.1

1.1.0

1.0.0

Licens

MIT.