Clone this wiki locally
Welcome to the c4-bootstrap wiki!
A quick and lightweight configuration tool to build servers (cloud or real) to a consistent install level, provided by channel4.com.
c4-bootstrap is designed to help you deploy repeatable physical or cloud servers using git as version control. When you build systems by hand there are normally three main stages. You start by installing the base packages, you then copy your files to the server and finally you tweak your config files.
To replicate this we've developed the lightweight configuration package which consists of scripts/pre.d which installs your base packages, the files/ directory which mimics the root of your server (For ease of use you should consider files/ as a mirror image of your / directory) and is copied onto the system after pre.d is run then the scripts/post.d which you can use to configure your system.
We also provide a script called repack.sh, which enables you to pull changes you've made on your system back into the git repo to store for a later date. One thing you should note that if you install extra packages on your system via a package manager such as apt-get you need to update your install scripts in scripts/pre.d so that when you rebuild a system all the requirements are there.
The main c4-bootstrap project is designed to be the basis for many sub projects that are far more complex. The core scripts can be reused and tracked by forking this project and we do accept pull requests for new features and bug fixes! If you have an interesting system build using c4-bootstrap please let us know and we'll list them on the wiki.