Met 1 commando je eigen SSL-beveiligde Ghost blog opstarten

Met 1 gechainde command kan je een zo een nieuw ghost blog starten. Vereisten? Docker en een domein dat naar je server wijst en een router met ports forwarded. Meer niet!

Met 1 commando je eigen SSL-beveiligde Ghost blog opstarten

Nou ja, het is een setje commando's en er zijn wat vereisten vooraf waar je aan moet voldoen. Maar als je die hebt, kun je dit kopiëren, kleine aanpassingen doen, plakken en uitvoeren.

De vereisten

  • Je moet een computer hebben, die verbonden is aan het internet
  • Er moet linux op draaien [1]
  • Er moet docker op geïnstalleerd zijn
  • Je router moet je even goed instellen qua port forwarding
  • Je hebt een terminal draaien en voldoende rechten
  • Je hebt een domeinnaam in bezit en die laat je verwijzen naar je eigen ip-adres

Als je dit allemaal voor elkaar hebt (of bijvoorbeeld een Synology server hebt met versie 5.2 of hoger), plak je de volgende code, nadat je die gepersonaliseerd hebt, in de terminal:

docker run -d --name nginx -p 8080:80 -p 4433:443 -v /path/to/docker/nginx/certs:/etc/nginx/certs:ro -v /path/to/docker/nginx/vhost:/etc/nginx/vhost.d:rw -v /var/run/docker.sock:/tmp/docker.sock:ro -v /path/to/docker/nginx/htpasswd:/etc/nginx/htpasswd:rw -v /path/to/docker/nginx/html:/usr/share/nginx/html:rw --restart=always jwilder/nginx-proxy

docker run --name nginx-letsencrypt -d \
    -v path/to/docker/nginx/certs:/etc/nginx/certs:rw \
    -v /var/run/docker.sock:/var/run/docker.sock:ro \
    --volumes-from nginx \
    jrcs/letsencrypt-nginx-proxy-companion

docker run --name jouwghostblog -d -p 99:2368 \
-e VIRTUAL_HOST=www.jouwdomeinnaam.nl,jouwdomeinnaam.nl -e VIRTUAL_PORT=99 -e \
LETSENCRYPT_HOST=www.jouwdomeinnaam.nl,jouwdomeinnaam.nl \
-e LETSENCRYPT_EMAIL=jouw-emailadres.com \
-e url=https://jouwdomeinnaam.nl \
-e NODE_ENV=production \
-v /path/to/docker/ghost/jouwghostblog:/var/lib/ghost/content \
--restart=always \
ghost:alpine

En that's it. Verander dus even de gewenste poorten, misschien wil je bij de nginx container -p 80:80 en -p 443:443 hebben, dat kan (behalve bij Synology, gebruik dan de instellingen in de code hierboven qua poorten. Verander www.jouwdomeinnaam.nl naar je eigen domein-naam, en vul je e-mailadres even in voor letsencrypt.

Binnen luttele seconden heb je een ssl-beveiligd ghost blog klaar staan en kan je gaan schrijven.

Dus nog 1 keer in de herhaling:

  1. Koop een domeinnaam
  2. Heb een computer die aan het internet verbonden is (dit kan ook je Synology NAS zijn bijvoorbeeld)
  3. Draai een linux versie als besturingssysteem (dit heb je wanneer je Synology gebruikt) [2]
  4. Installeer Docker (dit is er al wanneer je Synology versie 5.2 of hoger draait)
  5. Zorg dat je bij de terminal kan met voldoende rechten (SSH met een applicatie als Putty wanneer je de Synology gebruikt - zet wel even SSH aan bij je Synology)
  6. Stuur op je router de juiste poorten door naar je computer (80 en 443) of Synology (poorten aangepast forwarden - Synology hangt daar namelijk hardcoded zijn eigen webserver aan vast)
  7. Plak de bovenstaande gepersonaliseerde code, en gaan met die banaan.

  1. Nou ja, het kan denk ik ook met Windows, alleen plak je de code dan in de command prompt. ↩︎

  2. Kan dus ook via de command prompt in Windows ↩︎