Snabbt, billigt och skottsäkert: Så kör du Ghost som en Azure Web App

Snabbt, billigt och skottsäkert: Så kör du Ghost som en Azure Web App

Att starta en blogg är enkelt, men att bygga en plattform som är snabb, säker och billig i drift kräver lite eftertanke. Efter att ha utvärderat olika alternativ landade mitt val på Ghost, kört som en container i en Azure Web App, med all data lagrad på ett externt Azure File Share.

Här är en komplett guide till hur du sätter upp denna moderna, skalbara och helt anonyma blogg-arkitektur från grunden.

Varför den här setupen?

Många väljer att köra Ghost på färdiga plattformar, men genom att rulla din egen container i Azure får du full kontroll:

  • Stateless design: Genom att separera Ghost-appen från själva datan (bilderna och databasen) kan appen starta om eller uppdateras utan att du riskerar att förlora ett enda tecken.
  • Ekonomiskt: Genom att använda SQLite och Azure Files kostar driften bara några kronor i månaden för lagringen, plus din Web App-plan.
  • Integritet: Kombinerat med Cloudflare döljs din server helt för omvärlden.

Steg 1: Skapa lagringen (Azure Files)

Eftersom en Web App i Azure har ett tillfälligt filsystem, måste vi montera en permanent disk där din SQLite-databas (ghost.db), dina teman och dina bilder överlever.

  1. Logga in i Azure Portal och skapa ett Storage Account (Välj Standard LRS för lägsta kostnad).
  2. Gå till File shares under Data storage i vänstermenyn och klicka på + File share.
  3. Döp den till exempelvis ghost-data och slutför.

Steg 2: Sätt upp din Azure Web App

Nu ska vi rulla ut själva Ghost-plattformen med hjälp av Docker.

  1. Skapa en ny Web App i Azure.
  2. Välj Docker Container under Publish och Linux under Operating System.
  3. Gå till fliken Docker i konfigurationen:
    • Options: Single Container
    • Image Source: Docker Hub
    • Access Type: Public
    • Image and tag: ghost:latest (eller en specifik version om du föredrar det).

Steg 3: Montera disken (Path Mapping)

Det här är det hemliga steget som knyter ihop appen med din lagring.

  1. Gå in på din nya Web App i Azure-portalen och klicka på Configuration -> fliken Path mappings.
  2. Klicka på + New Azure Storage Mount och fyll i:
    • Name: ghost-storage
    • Storage type: Azure Files
    • Storage container or Share name: Välj din ghost-data som du skapade i Steg 1.
    • Mount path: /var/lib/ghost/content (Detta är den exakta mappen inuti Ghost-containern där allt sparas).
  3. Spara och starta om din Web App.

Steg 4: Starta din blogg!

När Web Appen startar om kommer den att upptäcka att din monterade Azure-mapp är tom. Ghost kommer då automatiskt att bygga upp databasen och alla nödvändiga mappar åt dig.

Efter 1–2 minuter kan du surfa in på din Azure-adress: [https://din-webbapp.azurewebsites.net/ghost](https://din-webbapp.azurewebsites.net/ghost)

Här möts du av Ghosts installationsskärm där du skapar ditt administratörskonto.

Nästa steg

Nu har du en fullt fungerande Ghost-blogg i molnet! I nästa inlägg kommer vi att titta på hur vi kopplar på en extern domän via Cloudflare för att få gratis SSL, snabbare laddtider och maximal anonymitet.