The Challenge
My blog, previously hosted on AWS Lightsail instance using an (PaaS) stack, encountered a significant setback. A routine update rendered the system virtually unusable, preventing even basic SSH access to the EC2 instance. This unexpected problem prompted me to reconsider my hosting approach.
The Solution: Introducing Jökull
Leveraging my existing research on the Jökulll project, I embarked on a streamlined infrastructure rebuild. Over the course of a few evenings, I developed a more focused and manageable solution.
Architecture Highlights
The new infrastructure leverages:
- Golang CLI powered by Dagger.io SDK
- Ansible for infrastructure provisioning
- Docker Compose for application deployment
- Caddy as a reverse proxy
- Ghost CMS for content management
- MySQL database for content storage
Deployment Process
The entire setup is now managed through a single Golang CLI tool (Jökull) that:
- Provisions the AWS Lightsail EC2 instance
- Configures the server environment
- Deploys a Docker Compose stack
- Sets up Caddy as a reverse proxy
- Configures Ghost CMS and SQL database
Why This Approach?
By simplifying the infrastructure and using custom tooling, I've achieved:
- Reduced complexity
- Improved deployment control
- Easier maintenance
- More transparent infrastructure management
- It was fun putting it together
Learn More
Want to dive deeper into the Jokull project? Check out the project details for a comprehensive understanding of this lightweight infrastructure management approach.