~jkenlooper/chillbox

Deployment scripts for websites running on Alpine Linux or Debian servers.

aba082d Fix permissions

8 days ago

e4521a7 vb 0.0.2-rc.2

9 days ago

#Chillbox

Keep a Changelog v1.1.0 badge GNU Affero General Public License v3.0 license

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/README.md.
  • 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.


#Contributing

Please contact Jake Hickenlooper or create an issue.

Any submitted changes to this project require the commits to be signed off with the git command option '--signoff'. This ensures that the committer has the rights to submit the changes under the project's license and agrees to the Developer Certificate of Origin.

Please don't upload toGitHub

#Testing and Development

Checkout the project source code at https://git.sr.ht/~jkenlooper/chillbox which includes all the files and further documentation.

#Maintenance

Where possible, an upkeep comment has been added to various parts of the source code. These are known areas that will require updates over time to reduce software rot. The upkeep comment follows this pattern to make it easier for commands like grep to find these comments.

Example UPKEEP comment has at least a 'due:' or 'label:' or 'interval:' value surrounded by double quotes (").

Example-> # UPKEEP due: "2022-12-14" label: "Llama Pie" interval: "+4 months"

Show only past due UPKEEP comments.

make upkeep