3877
Comment: Initial rpi setup
|
← Revision 40 as of 2024-04-25 12:30:30 ⇥
6916
add some server specs
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
<<TableOfContents>> |
|
Line 3: | Line 5: |
These boxes are running at Vultr, Sydney datacentre for low latency | ||<rowbgcolor="lightblue"> Hostname || OS || Location || Notes || || [[/azusa]] || RPi OS 12.2 || Home || RPi 3B+, rebuilt with RPi OS Lite 64-bit on 2023-11-24 || || [[/illustrious]] || Ubuntu 20.04 LTS || Home || NUC with i3-7100U, rebuilt with Ubuntu on 2021-04-01 || || [[/vector]] || Raspbian 10 || Home || RPi 4B || || [[/roberta]] || Debian 11 || Vultr, Sydney || 1x vCPU, 1gb RAM || || [[/persica]] || Alma Linux 9.1 || Home || Cluster of 3x Dell Optiplex 9020 Micro desktops || || [[/kalina]] || Alma Linux 9.3 || Home || Rancher controller node for the persica cluster, a Lenovo M710q micro desktop || || [[/helian]] || RouterOS 7.x || Home || Mikrotik router, replacing the Unifi USG 3P || |
Line 5: | Line 14: |
* [[/arkroyal]] - Debian 9 * [[/nadeko]] - Docker host (based on Centos 7.4) * [[/i19]] - Debian 8 |
|
Line 9: | Line 15: |
These boxes are at Linode in Singapore, and need to be decommissioned | = Decommissioned = |
Line 11: | Line 17: |
* [[/shimakaze]] - Debian 8.8 | ||<rowbgcolor="lightblue"> Hostname || OS || Location || Notes || || [[/arkroyal]] || Debian 9 || Vultr, Sydney || Decommed 2022-06-09 || || [[/nadeko]] || Docker host (based on Centos 7.4) || Vultr, Sydney || Decommed 2019-11-15 || || [[/i19]] || Debian 8 || Vultr, Sydney || Decommed 2019-11-15, was apparently literally doing nothing? || || [[/shimakaze]] || Debian 8.8 || Linode, Singapore || Decommed 2019-11-15, took long enough || || [[/zas]] || Debian 10? || Home || Flakey RPi3+, no longer used || || [[/shirayuki]] || Debian? || OG Home || Decommed forever ago, only of historical interest || = Other devices = ||<rowbgcolor="lightblue"> Name || Description || Hardware || Notes || || [[/hk416]] || Macbook Air - M2 2022 || M2 8-core CPU, 8-core GPU, 16gb RAM, 256gb SSD || - || || amatsukaze || Macbook Pro - Retina, 13-inch, early 2015 || i5 2.9GHz, 16gb RAM, 256gb SSD || Provisioned 2015-07-04, wiped on 2022-08-13 in prep for trade-in || || ririchiyo || Macbook Air - 11" Mid-2011 || 1.6GHz Core i5-2467M, 4gb RAM, 128gb SSD, Intel HD3000 graphics, A1370 model code || Unused, not sure where the Magsafe1 power brick is || || kashima || Win10 workstation || i7-6700K, 16gb DDR4, Samsung 950 Pro M.2 256gb || Disposed of on Facebook Marketplace || || [[/wa-chan]] || Win10 workstation || Ryzen 5800X, 32gb DDR4-3200, Samsung 970 EVO Plus M.2 1tb, RTX-3070 || replaces kashima || || [[/suomi]] || Pop OS 20.10 workstation || Ryzen 3100, 16gb DDR4-3200, WD SN550 M.2 500gb, GTX-960 || For work-work || || [[/makarov]] || RPi OS buster Lite || RPi Zero W || Using it like an appliance || |
Line 76: | Line 99: |
= Workstation build = This is for a graphical desktop. 1. Run the install, use full disk encryption 1. Set keyboard shortcuts for new terminal and locking screen 1. Install Pragmata fonts, set in terminal 1. Add apt cache in `/etc/apt/apt.conf.d/10proxy` {{{ Acquire::http::Proxy "http://asval.thighhighs.top:3142/"; }}} 1. apt update, full-upgrade 1. apt install openssh-server 1. Make own key, set it up {{{ ssh-keygen -t rsa -b 4096 touch ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys }}} 1. Install Chrome 1. Login to Google 1. Login to Github 1. Login to 1Password 1. Mount NFS data share {{{ mkdir /mnt/nfsdata apt install nfs-client # add fstab entry iowa.thighhighs.top:/volume1/nfsdata /mnt/nfsdata nfs defaults 0 0 mount /mnt/nfsdata }}} 1. Add your pubkey to github 1. Install git and setup repo dir {{{ apt install git mkdir ~/git }}} 1. Setup vim config {{{ rm -rf ~/.vim git clone git@github.com:barneydesmond/dot-vim.git ~/.vim ln -s ~/.vim/vimrc ~/.vimrc git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim vim +PluginInstall +qall }}} 1. Setup bash config {{{ git clone git@github.com:barneydesmond/bashrcd.git ~/.bashrc.d rm -fv ~/.bash_profile ~/.bashrc ~/.profile ln -s ~/.bashrc.d/bash_profile ~/.bash_profile ln -s ~/.bashrc.d/bashrc ~/.bashrc ln -s ~/.bashrc.d/profile ~/.profile }}} 1. Setup funky shell {{{ sudo apt install -y python-setuptools git clone git@github.com:barneydesmond/powerline-shell.git ~/git/powerline-shell ls ~/git/powerline-shell/ python setup.py install --user }}} |
|
Line 78: | Line 161: |
== Provisioning == 1. Download the latest image, like Raspbian buster-lite, write it to SD card with balenaEtcher 1. Boot as normal, let it do the firstboot thing 1. Rename it: https://wiki.debian.org/HowTo/ChangeHostname or use raspi-config tool 1. Wifi as needed in raapi-config 1. Set locale and default system locale in raspi-config 1. Enable ssh {{{ systemctl enable --now ssh }}} 1. Fully update {{{ apt update and full-upgrade apt install vim reboot }}} 1. Change password for `pi` account 1. Install your ssh pubkeys 1. apt autoremove, autoclean 1. Install useful packages: {{{ apt install openjdk-8-jre-headless apt install haveged apt install lsof tcpdump netcat strace nmap }}} 1. Empty motd, don't care about that on SSH login {{{ > /etc/motd }}} === References === * https://community.ubnt.com/t5/UniFi-Routing-Switching/Step-By-Step-Tutorial-Guide-Raspberry-Pi-with-UniFi-Controller/td-p/2470231 |
Go look on [[/RaspberryPi#General_provisioning]] for those builds |
Line 110: | Line 164: |
== Unifi stuff == |
= Unifi stuff = |
Line 125: | Line 178: |
== Go lang stuff | = Go lang stuff = |
Contents
Live servers
Hostname |
OS |
Location |
Notes |
RPi OS 12.2 |
Home |
RPi 3B+, rebuilt with RPi OS Lite 64-bit on 2023-11-24 |
|
Ubuntu 20.04 LTS |
Home |
NUC with i3-7100U, rebuilt with Ubuntu on 2021-04-01 |
|
Raspbian 10 |
Home |
RPi 4B |
|
Debian 11 |
Vultr, Sydney |
1x vCPU, 1gb RAM |
|
Alma Linux 9.1 |
Home |
Cluster of 3x Dell Optiplex 9020 Micro desktops |
|
Alma Linux 9.3 |
Home |
Rancher controller node for the persica cluster, a Lenovo M710q micro desktop |
|
RouterOS 7.x |
Home |
Mikrotik router, replacing the Unifi USG 3P |
Decommissioned
Hostname |
OS |
Location |
Notes |
Debian 9 |
Vultr, Sydney |
Decommed 2022-06-09 |
|
Docker host (based on Centos 7.4) |
Vultr, Sydney |
Decommed 2019-11-15 |
|
Debian 8 |
Vultr, Sydney |
Decommed 2019-11-15, was apparently literally doing nothing? |
|
Debian 8.8 |
Linode, Singapore |
Decommed 2019-11-15, took long enough |
|
Debian 10? |
Home |
Flakey RPi3+, no longer used |
|
Debian? |
OG Home |
Decommed forever ago, only of historical interest |
Other devices
Name |
Description |
Hardware |
Notes |
Macbook Air - M2 2022 |
M2 8-core CPU, 8-core GPU, 16gb RAM, 256gb SSD |
- |
|
amatsukaze |
Macbook Pro - Retina, 13-inch, early 2015 |
i5 2.9GHz, 16gb RAM, 256gb SSD |
Provisioned 2015-07-04, wiped on 2022-08-13 in prep for trade-in |
ririchiyo |
Macbook Air - 11" Mid-2011 |
1.6GHz Core i5-2467M, 4gb RAM, 128gb SSD, Intel HD3000 graphics, A1370 model code |
Unused, not sure where the Magsafe1 power brick is |
kashima |
Win10 workstation |
i7-6700K, 16gb DDR4, Samsung 950 Pro M.2 256gb |
Disposed of on Facebook Marketplace |
Win10 workstation |
Ryzen 5800X, 32gb DDR4-3200, Samsung 970 EVO Plus M.2 1tb, RTX-3070 |
replaces kashima |
|
Pop OS 20.10 workstation |
Ryzen 3100, 16gb DDR4-3200, WD SN550 M.2 500gb, GTX-960 |
For work-work |
|
RPi OS buster Lite |
RPi Zero W |
Using it like an appliance |
Provisioning a new VPS
Assuming I'm using Vultr right now.
- Pick specs
- Sydney location, $5 VPS, Debian 9 should be good
Enable IPv6 and Auto Backups
- Tick all SSH keys
Generic firewall group
- Pick a good hostname and a leave the label as matching it
- Deploy Now
Once the installation gets far enough it'll have an IP address allocated. Grab it and go add the DNS entry for it at https://www.gandi.net/en
Go to the server's settings and set your Reverse DNS, foo.meidokon.net
- Configure backups: Weekly, Friday, 21:00 UTC
You should be pretty much sorted now.
Configuring the new VPS
Debian
- Get onto the box via the new IP or DNS
Install minimal set of packages
apt-get update apt-get install -y aptitude aptitude install -y git make aptitude install -y puppet-module-puppetlabs-stdlib
Clone the puppet code
cd /etc/puppet/ rmdir code git clone https://github.com/barneydesmond/personal-puppet.git code
Run puppet to conform the system:
make -C /etc/puppet/code full
Your system should now be good.
Redhat
- Get onto the box via the new IP or DNS
Install minimal set of packages
yum install -y git make yum install -y puppetlabs-stdlib
Clone the puppet code
cd /etc/puppet/ rmdir code git clone https://github.com/barneydesmond/personal-puppet.git code rmdir modules ln -s /etc/puppet/code/modules
Run puppet to conform the system:
make -C /etc/puppet/code full
Your system should now be good.
Workstation build
This is for a graphical desktop.
- Run the install, use full disk encryption
- Set keyboard shortcuts for new terminal and locking screen
- Install Pragmata fonts, set in terminal
Add apt cache in /etc/apt/apt.conf.d/10proxy
Acquire::http::Proxy "http://asval.thighhighs.top:3142/";
- apt update, full-upgrade
- apt install openssh-server
Make own key, set it up
ssh-keygen -t rsa -b 4096 touch ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- Install Chrome
- Login to Google
- Login to Github
- Login to 1Password
Mount NFS data share
mkdir /mnt/nfsdata apt install nfs-client # add fstab entry iowa.thighhighs.top:/volume1/nfsdata /mnt/nfsdata nfs defaults 0 0 mount /mnt/nfsdata
- Add your pubkey to github
Install git and setup repo dir
apt install git mkdir ~/git
Setup vim config
rm -rf ~/.vim git clone git@github.com:barneydesmond/dot-vim.git ~/.vim ln -s ~/.vim/vimrc ~/.vimrc git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim vim +PluginInstall +qall
Setup bash config
git clone git@github.com:barneydesmond/bashrcd.git ~/.bashrc.d rm -fv ~/.bash_profile ~/.bashrc ~/.profile ln -s ~/.bashrc.d/bash_profile ~/.bash_profile ln -s ~/.bashrc.d/bashrc ~/.bashrc ln -s ~/.bashrc.d/profile ~/.profile
Setup funky shell
sudo apt install -y python-setuptools git clone git@github.com:barneydesmond/powerline-shell.git ~/git/powerline-shell ls ~/git/powerline-shell/ python setup.py install --user
Raspberry Pi
Go look on /RaspberryPi#General_provisioning for those builds
Unifi stuff
Install Unifi repo
echo 'deb http://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/unifi.list sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ubnt.com/unifi/unifi-repo.gpg
Install packages
apt update apt install unifi
Faff with dhcpcd to ensure a static IP that's well-managed: https://raspberrypi.stackexchange.com/questions/37920/how-do-i-set-up-networking-wifi-static-ip-address/74428#74428
Go lang stuff
https://danbruder.com/blog/installing-golang-1-9-on-raspberry-pi-3b/
Go deps for termshark et al: https://medium.com/@simon_prickett/raspberry-pi-coding-in-go-traffic-lights-559bc761fa07
206 wget https://dl.google.com/go/go1.12.5.linux-armv6l.tar.gz 212 tar -C /usr/local -xzvf go1.12.5.linux-armv6l.tar.gz 215 cd /etc/profile.d/ 223 vim golang.sh # export and append to PATH 231 go version