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.
- Logga in i Azure Portal och skapa ett Storage Account (Välj Standard LRS för lägsta kostnad).
- Gå till File shares under Data storage i vänstermenyn och klicka på + File share.
- Döp den till exempelvis
ghost-dataoch 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.
- Skapa en ny Web App i Azure.
- Välj Docker Container under Publish och Linux under Operating System.
- 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.
- Gå in på din nya Web App i Azure-portalen och klicka på Configuration -> fliken Path mappings.
- 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-datasom du skapade i Steg 1. - Mount path:
/var/lib/ghost/content(Detta är den exakta mappen inuti Ghost-containern där allt sparas).
- Name:
- 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.