Code Monkey home page Code Monkey logo

magpie's Introduction

magpie

magpie is a simple homelab setup.

Hostname Host OS Storage
pica Raspberry Pi 4 Raspberry Pi OS (Bullseye) 64GB microSD
cissa ROCK 4 A+ Armbian 22.08 (Bullseye) 32GB eMMC
cyanopica ROCK 4 A+ Armbian 22.08 (Bullseye) 32GB eMMC
urocissa ROCK 4 A+ Armbian 22.08 (Bullseye) 32GB eMMC + 1TB SATA 2.5โ€ณ SSD

Setup

I defer most of the homelab base system setup to a couple Ansible playbooks.

However, getting the boards to a minimal working state still requires some manual steps: downloading OS images, flashing microSD cards, creating required the files for remote access on RPi OS, and writing the image to the on-board eMMC on the ROCK 4s.

After that minimal working state is achieved, it's as simple as:

  1. Create an SSH key-pair, ssh-keygen -t ed25519 -f ~/.ssh/magpie_ed25519
  2. Run ansible-playbook bootstrap.yaml -t first-run
  3. Run ansible-playbook k3s.yaml

Writing the image to the on-board eMMC (ROCK 4 A+)

Use armbian-install and pick 'Boot from eMMC - system on eMMC'.

If that doesn't work, follow the directions in Radxa's wiki:

  1. wget $ARMBIAN_IMG_URL
  2. xzcat $ARMBIAN_IMG | dd of=/dev/mmcblk1 bs=1M

Other notes

The ROCK Pi 23 PoE HAT has a PWM controllable fan "supported" by Radxa. It's not straighforward to set it up using Armbian, so I didn't. Here's a related thread on the Armbian forums that should be a decent starting point.

magpie's People

Contributors

tlgs avatar

Stargazers

 avatar

Watchers

 avatar  avatar

magpie's Issues

Armbian / Raspberry Pi OS base layer

It would be preferable to have an uniform OS layer, but it seems Armbian doesn't reliabily boot on the Raspberry Pi.
The ROCK 4 A+ boards go with Armbian and the Raspberry Pi uses the stock Raspberry Pi OS Lite image.
Using Debian Bullseye flavor for both.

Some notes on the stock images:

  • Random number generation: Armbian uses haveged, RPi OS uses rng-tools-debian
  • NTP / SNTP: Armbian uses chrony, RPi OS uses systemd-timesyncd
  • RPi OS has a number of unrequired services running by default: avahi-daemon, triggerhappy, hciuart, ... I'm not touching these for now.

Drop nfs-server

Not using it at all. Using rsync seems much better for any type of file handling I'm doing at the moment.

If I decide to attach an external drive to the Pi in the future (and expunge my devices of all the media they currently carry), I might revisit this.
Even then, setting up a SAMBA share might be a better alternative...

Minimal proper documentation

Each stack should have a proper README with a section dedicated to each of its services:

  • core
    • traefik
    • portainer
    • cadvisor
  • dns
    • pihole
    • unbound
  • media
    • airsonic-advanced
    • nfs-server

Would probably be a good idea too to mention required networks, volumes, etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.