It's Live, now here

It's Live, now here

Here is a family blog for sharing technical talks and experiences. Written in English. By multiple members. Covers many.

It has been a long time that I've thought about my own blog. Sometimes some thoughts or experiences I'd like to note down but don't know where to write. Now they have a home here.


Bug fixes and stability improvements.


  • (Aug 13) Migrate to new hosting provider
  • (Jul 17) Site is down due to hosting provider problem
  • (Mar 25) New comment system Waline, all comment migrated manually
  • (Mar 25) Upgrade to Ghost 4.0
  • (Mar 25) New Ghost theme


  • (Apr 28) Migrate database backend from SQLite to MariaDB
  • (Apr 28) New Ghost theme


  • (Aug 27) Upgraded to Ghost 2.0 and enjoyed the brand new editor


  • (Sep 14) Isso is set up (via docker) to provide comment service
  • (Jun 16) This blog is set up using containerized Ghost and features HTTP over SSL and HTTP/2 by Nginx reverse proxy

I used to set return 301 in Nginx virtual hosts to redirect HTTP to HTTPS. Ghost, however, actually will handle this redirect automatically based on the configured URL in config.js.

When Ghost is container-ized, HTTPS is provided and handled by Nginx and pass the traffic to Ghost via HTTP. The application URL still needs to be https:// while Nginx has to remain passing proxy to http://. This is confusing.

Besides, due to a bug in config.js, a line should be added when passing proxy to container-ized Ghost:

proxy_set_header X-Forwarded-Proto https;