https://github.com/hashbang/shell-server
This repo represents the basic setup for a #! multi-user shell server.
Files in the /etc path are managed via etckeeper.
Our etckeeper repo can be found here: shell-etc
The default configuration for new users can be found here: dotfiles
docker run -d hashbang/shell-server
To set this up on a live server, perform the following:
-
Adjust partitions to match fstab.sample
To do this on a VPS (Super hacky but works):
- Go to the "Virtual Console" feature in your provider.
- Reboot to Grub bootloader screen
- Hit on first boot option
- Add
break=premount
to the end of the kernel line - to boot
- Copy rootfs files into ram
mkdir /mnt modprobe ext4 mount /dev/sda1 /mnt cp -R /mnt/* / umount /dev/sda1
- Shrink rootfs and create /home partition
e2fsck -f /dev/sda1 resize2fs /dev/sda1 20G echo "d 1 n p 1 +20G w n p 2 " | fdisk /dev/sda1
-
Reboot
-
Adjust fstab to match: fstab.sample
-
Reboot
-
Run setup script
ssh $INSTANCE_IP wget https://raw.githubusercontent.com/hashbang/hashbang/master/shellbox/setup.sh bash setup.sh
docker build -t hashbang/shell-server .
TODO