cloud-init config files for nocloud datasource/driver
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.idea
files
ignition.d
opt/sbin
.gitignore
README.md
ignition-remote.json
ignition.yaml

README.md

MediaDepot Ignition

Features

  • Consistent UserID/GroupID across all containers so that permissions are always correct
  • A DNS service that resolves containers with a nice 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.

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