Deployment scripts for websites running on Alpine Linux or Debian servers.
Goals
-
Infrastructure has minimal cost
-
Minimize attack surface by using less software
-
Faultless deployments from a local machine are secure
-
Server maintenance shouldn’t be hard
-
Well written documentation
Overview
Tech stack is: Alpine Linux or Debian, Python, and POSIX compatible shell scripts.
The Chillbox project contains multiple pieces:
-
A Python package (chillbox) that is installed as a CLI script. This script is used to secure and render the local files needed to work with multiple servers. Documentation can be found at docs/.
-
Shell scripts and template files (chillbox-server) that are compatible with Alpine Linux and Debian.
-
An opinionated website deployment setup (chillbox-init.sh).
Why?
Chillbox is designed for Web Developers that want to develop websites.
Hosting a website is becoming more and more complex. Complexity can come with a cost in a number of areas and some of those are not easily simplified. A Web Developer that needs to create and maintain a website should always be able to do that on their local machine and also deploy it to a server they manage. The tools needed to do that should be understood and simple enough to maintain. The complicated bits with their website should be their actual custom website code, not the infrastructure that it requires.
The goals of keeping things simple and free from vendor lock-in are important because it is more maintainable this way in the long run. Not every website needs to be able to scale out automatically when it gets a traffic spike. Having that capability comes with a high cost. A server can handle a lot of traffic (depending on the custom website code) and can be scaled up and down manually as needed. A company that does need to automatically scale out would probably also have their own infrastructure team that manages and maintains that.
See the Chillbox Server Feature Roadmap for a list of implemented and upcoming features.