Add dnsmasq and Talos setup documentation and configuration files
- Created `dnsmasq-setup.md` guide for setting up dnsmasq on hardware like Orange Pi Zero 3. - Added `talos-setup.md` guide for an alternate setup using Talos and bare Kubernetes. - Introduced configuration files for dnsmasq including `.not_logged_in_yet`, `bare-metal.yaml`, `boot.ipxe`, `dnsmasq.conf`, and `nginx.conf`. - Implemented `setup.sh` script for automating the installation and configuration of dnsmasq and nginx. - Updated example configuration in `config.example.yaml` to include Talos versioning. - Modified README to reflect changes in Wild-Cloud app commands.
This commit is contained in:
@@ -1,38 +1,10 @@
|
||||
# Setting Up Your Personal Cloud
|
||||
# Setting Up Your Wild Cloud
|
||||
|
||||
Welcome to your journey toward digital independence! This guide will walk you through setting up your own personal cloud infrastructure using Kubernetes, providing you with privacy, control, and flexibility.
|
||||
## Set up your cloud bootstrapper
|
||||
|
||||
## Hardware Recommendations
|
||||
See [Dnsmasq Setup](./guides/dnsmasq-setup.md).
|
||||
|
||||
For a pleasant experience, we recommend:
|
||||
|
||||
- A dedicated mini PC, NUC, or old laptop with at least:
|
||||
- 4 CPU cores
|
||||
- 8GB RAM (16GB recommended)
|
||||
- 128GB SSD (256GB or more recommended)
|
||||
- A stable internet connection
|
||||
- Optional: additional nodes for high availability
|
||||
|
||||
## Initial Setup
|
||||
|
||||
### 1. Prepare Environment Variables
|
||||
|
||||
First, create your environment configuration:
|
||||
|
||||
```bash
|
||||
# Copy the example file and edit with your details
|
||||
cp .env.example .env
|
||||
nano .env
|
||||
|
||||
# Then load the environment variables
|
||||
source load-env.sh
|
||||
```
|
||||
|
||||
Important variables to set in your `.env` file:
|
||||
|
||||
- `DOMAIN`: Your domain name (e.g., `cloud.example.com`)
|
||||
- `EMAIL`: Your email for Let's Encrypt certificates
|
||||
- `CLOUDFLARE_API_TOKEN`: If using Cloudflare for DNS
|
||||
## Set up Control Nodes
|
||||
|
||||
### 2. Install K3s (Lightweight Kubernetes)
|
||||
|
||||
@@ -48,7 +20,7 @@ sudo cat /etc/rancher/k3s/k3s.yaml > ~/.kube/config
|
||||
chmod 600 ~/.kube/config
|
||||
```
|
||||
|
||||
### 3. Install Infrastructure Components
|
||||
## Install Infrastructure Components
|
||||
|
||||
One command sets up your entire cloud infrastructure:
|
||||
|
||||
@@ -66,7 +38,7 @@ This installs and configures:
|
||||
- **ExternalDNS**: Updates DNS records automatically
|
||||
- **Kubernetes Dashboard**: Web UI for managing your cluster
|
||||
|
||||
## Adding Additional Nodes (Optional)
|
||||
## Set up worker nodes
|
||||
|
||||
For larger workloads or high availability, you can add more nodes:
|
||||
|
||||
|
48
docs/guides/armbian-setup.md
Normal file
48
docs/guides/armbian-setup.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Setting up Ambian on a pi
|
||||
|
||||
These are _raw_ notes. Instructions will need to be made friendly.
|
||||
|
||||
## Hardware requirements
|
||||
|
||||
- 32GB SD card
|
||||
- SD to USB adapter
|
||||
|
||||
## Creating OS boot on SD
|
||||
|
||||
### References
|
||||
|
||||
- See [Armbian OS getting started](https://docs.armbian.com/User-Guide_Getting-Started/)
|
||||
- See [Orange Pi Zero 3 setup](https://www.armbian.com/orange-pi-zero-3/)
|
||||
|
||||
### Steps
|
||||
|
||||
Prepare image:
|
||||
|
||||
- Download [OS image](https://www.armbian.com/download/).
|
||||
- Install [usbimager](https://gitlab.com/bztsrc/usbimager).
|
||||
- Insert SD card into USB adapter into ops computer.
|
||||
- Launch `USB Imager` and use it to write your downloaded image to the SD card. It might take an hour.
|
||||
- When written, copy infrastructure_setup/dnsmasq/.not_logged_in_yet to the sd's `root/` dir.
|
||||
|
||||
Boot:
|
||||
|
||||
- Put the SD card into the Pi and boot.
|
||||
- Set config options.
|
||||
- From your ops machine, ssh into the pi.
|
||||
- Run `armbian-install`
|
||||
- Select the option to put the boot loader on the sdcard
|
||||
|
||||
Configure:
|
||||
|
||||
```bash
|
||||
# Block all suspend, hibernate, and sleep actions.
|
||||
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
|
||||
```
|
||||
|
||||
Update:
|
||||
|
||||
```bash
|
||||
wget -qO - https://apt.armbian.com/armbian.key | gpg --dearmor | sudo tee /usr/share/keyrings/armbian.gpg >/dev/null
|
||||
sudo apt update
|
||||
sudo apt upgrade
|
||||
```
|
8
docs/guides/dnsmasq-setup.md
Normal file
8
docs/guides/dnsmasq-setup.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Dnsmasq setup
|
||||
|
||||
Steps:
|
||||
|
||||
- Get some hardware. A $30 _Orange Pi Zero 3_ is good enough.
|
||||
- See [Armbian Setup](./armbian-setup.md).
|
||||
- From your wildcloud root, run `install-dnsmasq`. This will create the required installation files and copy them all to your dnsmasq server into `/tmp/dnsmasq-setup`.
|
||||
- ssh into your dnsmasq server and run `/tmp/dnsmasq-setup/setup.sh`.
|
Reference in New Issue
Block a user