Če Ghost gostite na Managed VPS, objavljate članke, zbirate člane in pošiljate glasila z lastnega stroja, ki ga naše ekipe posodabljajo in podnevi in ponoči spremljajo. Ghost je prosta programska oprema pod licenco MIT. Ta vodnik sledi njegovi uradni dokumentaciji: Ghost-CLI ali Docker Compose, MySQL, HTTPS, e-pošta, varnostne kopije in posodobitve.
Avtor: Simon Vasconcelos Lee
Objavljeno 9. novembra 2026Čas branja: 13 minut
content, posodabljajte pa z ghost update ali docker compose pull: projekt posodobitve objavlja vsak teden.Ghost je profesionalna in prosta platforma za objavljanje, napisana za Node.js. Na enem mestu združuje, kar neodvisna publikacija pogosto sestavi iz več orodij.
Po dokumentaciji ima izdelek pri samostojnem gostovanju enake funkcije. Kar ga obdaja, pa je vaša skrb: pošiljanje glasil, spletna analitika, CDN in popolne varnostne kopije spletišča.
Ghost je objavljen pod licenco MIT. Dovoljuje uporabo, kopiranje, spreminjanje, združevanje, objavljanje, razpečevanje, podlicenciranje in prodajo programa, pod enim pogojem: v vsaki kopiji ostaneta navedba avtorskih pravic in besedilo licence. Ghost torej lahko poganjate v podjetju, ga prilagajate in na njem objavljate za svoje stranke, ne da bi morali kupiti licenco.
Licenca pokriva kodo. Ime in logotip pripadata družbi Ghost Foundation in spadata pod njen pravilnik o blagovni znamki: preberite ga, če okoli programa gradite ponudbo. Ghost je registrirana blagovna znamka družbe Ghost Foundation.
This publication is independent of and not affiliated with, authorized, sponsored, or approved by Ghost Foundation. V slovenščini: ta publikacija je neodvisna od družbe Ghost Foundation in ni povezana z njo, ni je pooblastila, sponzorirala ali odobrila.
Projekt dokumentira dve poti za produkcijo. Ghost-CLI je namestitev, ki jo uradno priporoča, Docker Compose pa je „preview“, ki jo opisuje kot povsem novo. Navaja tudi, da napreduje proti tej orodjarni Docker, ne pa k nadaljnjemu razvoju Ghost-CLI, in ponuja pomočnika za prehod z ene na drugo.
| Točka | Ghost-CLI | Docker Compose (preview) |
|---|---|---|
| Sistem | Ubuntu 22.04, 24.04 ali 26.04 | Strežnik Linux z Dockerjem 20.10.13 ali novejšim |
| Pomnilnik | Vsaj 1 GB | Projekt kot primer navaja strežnik z 2 GB in 1 procesorjem |
| Spletni strežnik in HTTPS | Nginx in potrdilo Let’s Encrypt, ki ju vzpostavi Ghost-CLI | Caddy, v vsebniku, ki podpira TLS |
| Podatkovna zbirka | MySQL 8.0 ali 8.4, nameščen na strežniku | MySQL v vsebniku |
| Spletna analitika | Ni združljiva | Na voljo, z računom Tinybird |
| Družabno omrežje (ActivityPub) | Storitev, ki jo gosti projekt, brezplačna v okviru omejitev rabe | Ista storitev privzeto ali vaša, samostojno gostovana |
Domeno usmerite na strežnik pred namestitvijo: potrdilo se vzpostavi med postavitvijo. Na VPS Simafri obiskovalci prihajajo na vrata 80 in 443, pod imenom domene strežnika, z zapisi A in AAAA. Naslov spletišča se zapiše v celoti, s protokolom, na primer https://example.com: naslov IP povzroča napake.
Poleg zgoraj navedenega pomnilnika projekt ne navaja diska ne obremenitve: velikost je odvisna od vašega prometa, slik in medijev. Na Managed VPS nam opišite svojo publikacijo in priporočimo vam ustrezno velikost.
Ghost-CLI se uporablja z uporabnikom, ki ni root in katerega ime ni ghost, ker to ime trči z orodjem. Ustvarite ga iz računa root, pri čemer user zamenjate z izbranim imenom:
adduser <user>
usermod -aG sudo <user>
su - <user>
Posodobite sistem, namestite Nginx (vsaj 1.9.5 za SSL) in MySQL. Vrstica ufw odpre HTTP in HTTPS, če je ta požarni zid aktiven:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nginx
sudo ufw allow 'Nginx Full'
sudo apt-get install mysql-server
Na novejših različicah Ubuntuja se račun root v MySQL overja prek vtiča, česar Ghost ne podpira. Dodelite mu geslo:
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'caching_sha2_password' BY '<your-new-root-password>';
FLUSH PRIVILEGES;
exit
Ghost zahteva Node.js 22: različice 20, 21, 23 in naslednje niso podprte. Projekt zahteva, da ga namestite za ves sistem, na ta način:
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=22
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt-get update
sudo apt-get install nodejs -y
sudo npm install ghost-cli@latest -g
Ghost se namesti v lastno mapo, z natančnim lastnikom in pravicami. sitename zamenjajte z imenom po svoji izbiri:
sudo mkdir -p /var/www/sitename
sudo chown <user>:<user> /var/www/sitename
sudo chmod 775 /var/www/sitename
cd /var/www/sitename
ghost install
Ukaz nato postavi svoja vprašanja, projekt pa priporoča, da na vsak predlagani korak odgovorite pritrdilno:
https://.localhost za gostitelja, root in zgoraj določeno geslo, nato ime zbirke, ki jo ustvari Ghost-CLI.Spletišče nato odgovarja, https://example.com/ghost pa vas povabi k ustvarjanju računa lastnika. Če je namestitev prekinjena, ghost setup nadaljuje nastavitev; če ne uspe, ghost uninstall počisti bolje kot izbris mape. ghost doctor kadar koli preveri sistem.
Projekt to metodo predstavlja kot „preview“: po njegovem mnenju je povsem nova. Prav ta omogoča samostojno gostovanje spletne analitike in ActivityPub.
Na strežniku z nameščenim Dockerjem prenesite uradno orodjarno v /opt/ghost in kopirajte njeni dve vzorčni datoteki:
git clone https://github.com/TryGhost/ghost-docker.git /opt/ghost && cd /opt/ghost
cp .env.example .env
cp caddy/Caddyfile.example caddy/Caddyfile
V datoteko .env vpišite te vrednosti:
DOMAIN: domena spletišča, na primer example.com.ADMIN_DOMAIN: ločena domena za skrbniški del, če želite.DATABASE_ROOT_PASSWORD in DATABASE_PASSWORD: dve gesli, ustvarjeni z openssl rand -hex 32. Določita se enkrat za vselej: ko je zbirka inicializirana, njuna sprememba pokvari povezavo.V caddy/Caddyfile odkomentirajte blok, ki ustreza vašemu primeru: preusmeritev z www na golo domeno ali obratno ali ločena skrbniška domena. Nato zaženite Ghost in dokončajte postavitev na /ghost:
docker compose pull
docker compose up -d
HTTP_PORT in HTTPS_PORT, če je Ghost za drugim obratnim posredniškim strežnikom. MySQL ostane v notranjem omrežju vsebnikov.data/ghost, zbirka pa v data/mysql, obe mesti nastavljivi v .env.docker compose up nato dodajte -f compose.yml -f compose.ipv6.yml.Analitika zahteva račun Tinybird, zunanjo storitev. V /opt/ghost se prijavite, uvedite njegovo konfiguracijo in pridobite žetone, ki jih prilepite v .env, razdelek „Tinybird configuration“:
docker compose run --rm tinybird-login
docker compose run --rm tinybird-sync
docker compose run --rm tinybird-deploy
docker compose run --rm tinybird-login get-tokens
ActivityPub deluje takoj s storitvijo, ki jo gosti projekt, brezplačno v okviru omejitev rabe, ki jih objavlja njegova dokumentacija. Za samostojno gostovanje lastne odkomentirajte ACTIVITYPUB_TARGET=activitypub:8080. Nato v .env vključite želeni profil ali profile in znova zaženite vsebnike:
COMPOSE_PROFILES=analytics,activitypub
docker compose pull
docker compose up -d
Za ActivityPub projekt zahteva, da znova ustvarite tudi Ghost in Caddy, z docker compose up -d --force-recreate ghost caddy.
Po kloniranju in nastavitvi bash scripts/migrate.sh kopira mapo content, uvozi zbirko v vsebnik MySQL in zažene Caddy namesto Nginxa. Ponudi ustavitev Nginxa, kar spletišče postavi brez povezave: odgovorite ne, če na strežniku teče še kakšno drugo spletišče. Ne izbriše nobenih podatkov. bash recovery_instructions.sh povrne prvotno spletišče, če migracijo prekinete.
Skrbniški del programa Ghost mora potekati prek HTTPS, projekt pa HTTPS priporoča za vse spletišče: brez njega uporabniška imena in gesla krožijo v nezaščiteni obliki. Z Docker Compose to opravi Caddy. Z Ghost-CLI potrdilo vzpostavi namestitev, naknadno pa to stori ukaz:
ghost setup ssl
Za spremembo naslova spletišča, nameščenega z Ghost-CLI, ghost config url https://example.com posodobi konfiguracijo, ghost restart pa jo uveljavi.
Projekt svetuje tudi ločeno skrbniško domeno, ki zmanjša površino napada. Pot ostane /ghost/. Pri Ghost-CLI se določi v config.production.json:
"admin": {
"url": "https://admin.example.com"
}
Pri Docker Compose vpišite ADMIN_DOMAIN, odkomentirajte njegov blok v Caddyfile in zaženite docker compose up -d --force-recreate ghost caddy. Tudi ta domena potrebuje svoja zapisa A in AAAA.
MySQL 8 je edina zbirka, ki jo projekt podpira v produkciji. Ghost-CLI se namesti z MySQL 8.0 ali 8.4, datoteka Compose pa vsebuje sliko MySQL 8.0.
ghost config database.client, v mapi spletišča, pokaže uporabljeno zbirko.Ghost razlikuje dve pošiljanji, ki ne potekata po isti poti. To je po namestitvi najpomembnejša točka za nastavitev.
| Pošiljanje | Primeri | Kaj ga nosi |
|---|---|---|
| Transakcijsko | Vabila ekipe, pozabljena gesla, registracije in povezave za prijavo članov, koda za prijavo z nove naprave | Konfiguracija mail programa Ghost, prek SMTP |
| Glasila | Članki, poslani vašim članom | API Mailgun, katerega ključi se vnesejo v nastavitvah „Email newsletter“ |
Dokumentacija to konfiguracijo uvršča med obvezne v produkciji. Ghost pošlje kodo po e-pošti tudi, ko zazna prijavo z nove naprave: ta rele nastavite, preden povabite svojo ekipo.
Na VPS Simafri pošiljanje poteka prek overjenega releja SMTP, na vratih 587: z naslovom poštnega računa, ki ga že imate, ali s Simafri Suite.
"mail": {
"transport": "SMTP",
"from": "'Acme Support' <support@example.com>",
"options": {
"host": "smtp.example.com",
"port": 587,
"secure": false,
"requireTLS": true,
"auth": {
"user": "support@example.com",
"pass": "1234567890"
}
}
}
mail__transport=SMTP
mail__options__host=smtp.example.com
mail__options__port=587
mail__options__secure=false
mail__options__requireTLS=true
mail__options__auth__user=support@example.com
mail__options__auth__pass=1234567890
mail__from="'Acme Support' <support@example.com>"
docker compose up -d --force-recreate ghost
secure in requireTLS: Ghost pošilja prek Nodemailerja, katerega dokumentacija na vratih 587 zahteva secure na false, povezava pa nato preide v STARTTLS. requireTLS zavrne pošiljanje, če ta prehod ne uspe. Vzorčna datoteka repozitorija navaja vrata 465 in secure=true: zamenjajte ti dve vrstici.from vsebuje pravi in prebran naslov, kar po navedbah projekta izboljša dostavljivost, nastavitev pa dopolnjujejo zapisi SPF, DKIM in DMARC domene pošiljanja.Rele SMTP ne pokriva glasil. Po dokumentaciji se množično pošiljanje ne izvaja prek SMTP, Mailgun pa je za zdaj edina storitev množičnega pošiljanja, ki jo Ghost podpira. Ustvarite svoj račun Mailgun in njegove ključe API vnesete v nastavitve programa Ghost.
Če člankov ne pošiljate po e-pošti, računa Mailgun ne potrebujete: te nastavitve prezrete. Če imate raje drugo orodje za glasila, projekt predlaga sinhronizacijo vaših članov vanj, na primer z orodjem Zapier ali njegovimi vodniki za integracijo.
Ghost ponuja tri ravni kopij in ne vsebujejo istega. Za natančno obnovo spletišča projekt zahteva neposredno varnostno kopijo zbirke in mape content.
| Metoda | Kaj vsebuje | Za kakšno rabo |
|---|---|---|
ghost backup (Ghost-CLI) | Zip: vsebine v JSON, člani v CSV, teme, slike, datoteke in mediji, poti in preusmeritve | Previdnostni ukrep pred posodobitvijo |
| Izvoz iz skrbniškega dela | Zip: vsebine in nastavitve, člani, statistika člankov, teme, poti in preusmeritve, po izbiri. Brez komentarjev, zgodovine dejavnosti članov in medijev | Selitev vsebine na drugo spletišče |
Zbirka in mapa content | Vsi podatki | Obnova po nesreči ali natančna kopija |
Izvoz najdete v „Settings“, „Advanced“, „Import/Export“, zavihek „Export“, gumb „All data“. Za popolno kopijo z Ghost-CLI sta račun MySQL in ime zbirke, ki ju je treba prenesti, v config.production.json:
mkdir -p ~/ghost-backups
mysqldump -u ghost_user -p ghost_production > ~/ghost-backups/ghost_backup.sql
cd /var/www/sitename
tar czf ~/ghost-backups/ghost_content_backup.tar.gz content/
Z Docker Compose uradna orodjarna hrani vsebino v data/ghost. Izpis povzema obliko, ki jo določa slika MySQL, geslo root pa je že v vsebniku. Hranite tudi kopijo datotek .env in Caddyfile.
cd /opt/ghost
mkdir -p ~/ghost-backups
docker compose exec -T db sh -c 'exec mysqldump -uroot -p"$MYSQL_ROOT_PASSWORD" ghost' > ~/ghost-backups/ghost_backup.sql
tar czf ~/ghost-backups/ghost_content_backup.tar.gz data/ghost
cd /var/www/sitename
ghost stop
mysql -u ghost_user -p ghost_production < ~/ghost-backups/ghost_backup.sql
tar xzf ~/ghost-backups/ghost_content_backup.tar.gz
sudo chown -R ghost:ghost content
ghost restart
cd /opt/ghost
docker compose stop ghost
docker compose exec -T db sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" ghost' < ~/ghost-backups/ghost_backup.sql
tar xzf ~/ghost-backups/ghost_content_backup.tar.gz
docker compose start ghost
Te datoteke kopirajte zunaj strežnika, z rsync ali scp, in obnovo preizkusite na preizkusnem stroju. Če začenjate z izvoza s plačljivimi člani, pred uvozom članov povežite isti račun Stripe.
Projekt posodobitve objavlja vsak teden in opozarja, da mora javni spletni strežnik ostati posodobljen. Preberite opombe k izdaji, nato zaženite ukaz svoje metode.
ghost check-update
ghost backup
ghost update
ghost update --rollback se vrne na prejšnjo različico, če posodobitev spodleti.content med posodobitvami ostane na mestu.ghost update [version] --force s svojo trenutno različico, ker so njegove binarne odvisnosti prevedene za določeno različico Node.js.cd /opt/ghost
git pull
docker compose pull
docker compose up -d
docker image prune
Zadnja, neobvezna vrstica odstrani stare slike. GHOST_VERSION v .env pustite zakomentiran: določitev različice blokira te ukaze za posodobitev.
Dokumentacija navaja več nastavitev za strežnik v produkciji:
mysql_secure_installation.Za obremenitev projekt pred Ghost postavlja CDN in plast predpomnilnika. Pojasnjuje, da gruče in sharding nista podprta: spletišče streže ena sama instanca, promet pa vpije predpomnilnik.
Samostojno gostovanje poleg aplikacije zahteva tudi vzdrževanje strežnika. Na Managed VPS naše ekipe prevzamejo strežnik in proaktivno spremljajo vašo instanco; Ghost ostaja vaša programska oprema, z vašimi nastavitvami in podatki.
| Tema | Naše ekipe | Vi |
|---|---|---|
| Strežnik | Posodobitve sistema in varnosti, vključno s posegi na strežniku | Trenutek, ki ustreza vaši dejavnosti |
| Nadzor | Strežnik pod nadzorom 24 ur na dan, 7 dni v tednu, s posegom brez čakanja na vaš klic | Vaše vsebine, člani in naročnine |
| Ghost | Proaktivno spremljanje: napake, upočasnitve in prostor na disku, z priporočenim popravkom | Namestitev, posodobitve, nastavitve, rele SMTP in račun Mailgun, ki jih uvedete vi ali vaš AI pomočnik |
| Varnostne kopije | Vsako noč, šifrirane in shranjene zunaj stroja; obnova je vključena | Zahteva za obnovo, ko jo potrebujete |
| Selitev | Selitev vašega sedanjega strežnika, brezplačno | Trenutek preklopa |
Če želite, da naše ekipe posežejo v samo aplikacijo, se ta storitev zaračuna po urah ali pavšalno, z oceno stroškov, sporočeno pred posegom.
Z Managed VPS Simafri naše ekipe strežnik vaše instance Ghost sproti posodabljajo, ga podnevi in ponoči nadzirajo ter posežejo brez čakanja na vaš klic; vašo instanco tudi proaktivno spremljajo in vam priporočajo koristne popravke, ki jih uvedete vi ali vaš AI pomočnik. Varnostne kopije so vsako noč šifrirane in shranjene zunaj stroja, njihova obnova je vključena, selitev vašega sedanjega strežnika pa je brezplačna.
Da. Ghost je pod licenco MIT: lahko ga uporabljate v podjetju in prilagajate, ob ohranitvi navedbe licence. Ostanejo storitve okoli njega: strežnik, rele e-pošte, Mailgun, če pošiljate glasila, Tinybird, če želite njegovo analitiko.
Projekt priporoča Ubuntu 22.04, 24.04 ali 26.04, Nginx, Node.js 22, MySQL 8.0 ali 8.4, systemd, vsaj 1 GB pomnilnika, domeno in uporabnika, ki ni root. Za Docker Compose kot primer navaja strežnik z 2 GB in 1 procesorjem.
Ghost-CLI je namestitev, ki jo projekt priporoča za produkcijo. Docker Compose je preview, edina, ki omogoča spletno analitiko in samostojno gostovani ActivityPub, projekt pa pravi, da napreduje proti tej orodjarni. Pomočnik omogoča prehod z Ghost-CLI na Docker Compose.
V produkciji je MySQL 8 edina podprta zbirka. Projekt priporoča ponovno namestitev na MySQL 8 iz SQLite in migracijo na MySQL 8 iz MariaDB. Njegova dokumentacija PostgreSQL ne predvideva.
Ne. SMTP služi transakcijskim sporočilom: vabilom, geslom, povezavam za prijavo članov. Glasila zahtevajo API Mailgun, edino podprto storitev množičnega pošiljanja. Brez pošiljanja člankov po e-pošti račun Mailgun ni potreben.
Za popolno obnovo varnostno kopirajte zbirko MySQL z mysqldump in mapo content s tar. Ukaz ghost backup pred posodobitvijo ustvari zip. Izvoz iz skrbniškega dela izpusti komentarje, zgodovino dejavnosti članov in medije.
Z Ghost-CLI v mapi spletišča zaženite ghost backup, nato ghost update, ob težavi pa ghost update --rollback. Z Docker Compose v /opt/ghost zaženite git pull, docker compose pull in docker compose up -d.
Managed VPS pokriva strežnik: sistem, varnost, nadzor in varnostne kopije. Naše ekipe proaktivno spremljajo tudi vašo instanco in vam priporočajo koristne popravke, ki jih uvedete vi. Poseg v aplikacijo se zaračuna po urah ali pavšalno.
Simafri
Pogovorimo se o vašem projektu
Povejte nam v nekaj besedah, kaj potrebujete: hitro se vam oglasimo.
Hvala! Vaše povpraševanje je bilo poslano. Kmalu vam bomo odgovorili.
Imate raje e-pošto? Pišite nam na support@simafri.com.