ghost

I switched from WordPress to Ghost

Just for fun I took a decision to change my underlying web server/blog from WordPress to Ghost!

If it was a good decision time will tell but it felt that WordPress was a bit to heavy to work with fo my taste. Ghost feels right now, quicker and easier to work with for my current needs.

One part that is missing in Ghost at the moment, but I hope they added it soon, is the search functionality. Right now my blog is so small so it’s not hard to get an overview of all posts but for the future a search is a must.

The switch from WordPress to ghost into my infrastructure was easy since all my service are running as docker containers and my nginx front end, the most consuming part was to lift over all pages and posts from WordPress.

I used the Elementor Pro plug-in to WordPress for some pages but those pages were hardest to convert, so a lesson learned to myself is to only use internal UI components that the framework provides.

Since I have a quite small blog (single user) and just some additional pages I selected the default sqlite3 database that Ghost provides out of the box. I didn’t see the need to have an full SQL database instance running for small amount of data I have.

Here is how my final Ghost section looks like in the docker-compose.yml file:

  ghost:
    image: ghost:3-alpine
    restart: always
    ports:
      - 2368:2368
    environment:
      - url=https://widens.eu/
    volumes:
      - ./ghost-content:/var/lib/ghost/content

and my nginx configuration:

    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        add_header Front-End-Https on;
        proxy_pass http://ghost:2368/;
    }