While I was looking for setting up a blogging website I came across ghost. It was a interesting journey on the setup and I wanted to share the same with you.
nginx-proxy - handling requests and reverse proxy for application
acme-companion - handling ssl certs creation and renew
ghost - application or blog portal/admin
mysql - self managed database
mysql-backup - for auto s3 backup every day
You can create a dir and put these 2 files in it or you can just put them under the root dir.
docker compose up -d # deploy using compose in detached mode
docker compose down compose.yaml # remove all resources created as part of the compose file
docker logs ghost # check container logs
Domain Mapping
Create an EIP, Attach the EIP to instance.
Take the EIP and create a record in Route53 for your domain.
Visit the domain and verify the portal and admin is available at https://${DOMAIN_NAME} and https://${DOMAIN_NAME}/ghost.
Enable Comment Section
login to admin portal
settings -> access
edit and select the commenting section to all members and save.
Verify the Database Backup.
Happy Reading. Please feel free to leave your feedbacks and show some love which will inspire me to write more. You can find the code in github below.