better handling of home http server
[automated-distro-installer] / README
1 Multi-boot/distro btrfs provisioning
2
3 Some things are specific to my home network. Uses PXE, designed for bare
4 metal but also works for pxe booted VM.
5
6 Features people may find useful: installs encrypted arch, debian stable,
7 & debian testing all on the same btrfs filesystem, smartly utilizing
8 multiple disks, with scripts to automatically decrypt on reboots. The
9 partititioning and filesystem script is the biggest part and is at
10 fai/config/hooks/partition.DEFAULT. Other debian based distros should
11 work fine, and I'm planning to add Fedora support. Disks are grouped as
12 ssd or hdd and raided in raid 1 or raid 0 per configuration. The base
13 partitions are divided into boot, swap, and root, (only boot is
14 unencrypted). There are scripts to resize those partitions
15 post-provision and while the system is running.
16
17 The repo name fai is copied from a project of the same name which this
18 project uses for debian installs. It stands for "fully automated
19 installer."
20
21 It also fully automates configuration of an openwrt router after manual
22 initial installation.
23
24 Provisionining is done, I sync files using unison, then automate further
25 setup using a different set of scripts,
26 https://iankelling.org/git/?p=distro-setup;a=tree.
27
28 My network is a wndr3700v2 router with openwrt on it and a few pcs/laptops.
29
30 Since fai requires a debian server as the fai server, there are also
31 scripts to automate a debian install using pxe and preseeding, which can
32 be done from any distro.
33
34 Some of the scripts have dependencies for some simple obvious utility
35 scripts from https://iankelling.org/git, and of course there are some
36 hostnames that are specific to my network.
37
38 Main scripts meant to be called interactively:
39
40 arch-init-remote # install arch (after it's been booted into it's setup env)
41 chboot # Set grub to boot into a different distro (installed earlier)
42 dsfull # install & setup a new fai distro (if data partition already synced)
43 fai-revm # test fai on a fresh vm
44 faiserver-revm # create a vm which is a fai server
45 faiserver-uninstall
46 fresize # resize swap or boot partitions in a host
47 pxe-server # temporarily enable (usually) fai or arch boot server
48 wrt-setup-remote # setup my router
49
50 License stuff:
51 The license for the project is GPLv2 or later, mostly because fai is
52 and I periodically rebase off their example setup for debian. Also,
53 there is a modified encrypt.upstream, which is from the cryptsetup
54 package in arch, which is under the same license.