Skip to content

mediadepot/ignition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MediaDepot Ignition

Features

  • Consistent UserID/GroupID across all containers so that permissions are always correct
  • A DNS service that resolves containers with a nice (real) hostname *.depot.lan from other computers on your home network, and for container to container communication
  • A JBOD disk management system with minimal configuration, and fully transparent recovery/failure. MergerFS acts like a simple file proxy, and removed disks can be read on other computers with no additional tooling
  • Ensure that virtual/JBOD disk is correctly mounted before allowing dependent programs/containers to start up.
  • A lightweight status dashboard for checking system metrics
  • A lightweight docker management system (Portainer) with customized templates for popular media-center applications
  • Samba (SMB) shares automatically served from JBOD disk.
  • Hard Disk montoring that uses S.M.A.R.T disk status to notify you if disks become unhealthy.
  • NVIDIA driver installation (optional)
  • MOTD dropins.

Usage

  1. Download bootable CoreOS image from https://coreos.com/os/docs/latest/booting-with-iso.html

  2. Create bootable USB/CD with contents of CoreOS image

  3. Start server and boot from CoreOS USB/CD.

  4. Determine the OS installation disk

    sudo fdisk -l
    
    # note, the boot disk will probably be /dev/loop0
  5. Copy the ignition remote config bootstrap file to the file system

    curl -O https://mediadepot.github.io/ignition/ignition-remote.json
  6. Begin CoreOS installation on specified disk, NOTE: specified disk will be reformatted

    sudo coreos-install -d /dev/sda -C stable -i ignition-remote.json
  7. On installation completion, remove bootable USB/CD

  8. Restart server

  9. Wait for CoreOS to start and cloud-init process to complete.

  10. Go to http://admin.depot.lan to see Portainer dashboard and begin setup.

Ignition Customizations for other users:

  • passwd.users.*.sshAuthorizedKeys.*
  • Have atleast 1 data drive (> 1TB) formatted with ext4
    • if your data disk isn't formatted yet, you can do so during installation, using cfdisk tool, or using "disk" attribute in
  • storage.filesystem.*

#prerequsites:

  • node has a static IP, using DHCP or route reservation

References

CT Transpiler

CoreOS configuration

SystemD

MergerFS

docker run -it -v `pwd`:/mounted centos /bin/bash
curl -O -L https://github.com/trapexit/mergerfs/releases/download/2.25.1/mergerfs-2.25.1-1.el7.x86_64.rpm
rpm2cpio mergerfs-2.25.1-1.el7.x86_64.rpm | cpio -idmv
cp -r bin/ /mounted/files/
  • mount -o "lowerdir=/usr/sbin,upperdir=/opt/sbin,workdir=/opt/sbin.workdir" -t overlay overlay /usr/sbin

Samba

Rancher Config

Portainer

Notifications

Smartmontools

About

cloud-init config files for mediadepot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages