Files
wild-cloud/docs/SETUP.md
Paul Payne 02a282899b 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.
2025-06-08 16:32:45 -07:00

2.6 KiB

Setting Up Your Wild Cloud

Set up your cloud bootstrapper

See Dnsmasq Setup.

Set up Control Nodes

2. Install K3s (Lightweight Kubernetes)

K3s provides a fully-compliant Kubernetes distribution in a small footprint:

# Install K3s without the default load balancer (we'll use MetalLB)
curl -sfL https://get.k3s.io | sh -s - --write-kubeconfig-mode=644 --disable servicelb --disable metallb

# Set up kubectl configuration
mkdir -p ~/.kube
sudo cat /etc/rancher/k3s/k3s.yaml > ~/.kube/config
chmod 600 ~/.kube/config

Install Infrastructure Components

One command sets up your entire cloud infrastructure:

./infrastructure_setup/setup-all.sh

This installs and configures:

  • MetalLB: Provides IP addresses for services
  • LongHorn: Provides distributed block storage on the cluster
  • Traefik: Handles ingress (routing) with automatic HTTPS
  • cert-manager: Manages TLS certificates automatically
  • CoreDNS: Provides internal DNS resolution
  • ExternalDNS: Updates DNS records automatically
  • Kubernetes Dashboard: Web UI for managing your cluster

Set up worker nodes

For larger workloads or high availability, you can add more nodes:

# On your master node, get the node token
NODE_TOKEN=`sudo cat /var/lib/rancher/k3s/server/node-token`
MASTER_IP=192.168.8.222
# On each new node, join the cluster

curl -sfL https://get.k3s.io | K3S_URL=https://$MASTER_IP:6443 K3S_TOKEN=$NODE_TOKEN sh -

Next Steps

Now that your infrastructure is set up, you can:

  1. Deploy Applications: See Applications Guide for deploying services and applications
  2. Access Dashboard: Visit https://dashboard.internal.yourdomain.com and use the token from ./bin/dashboard-token
  3. Validate Setup: Run ./infrastructure_setup/validate_setup.sh to ensure everything is working

Validation and Troubleshooting

Run the validation script to ensure everything is working correctly:

./infrastructure_setup/validate_setup.sh

This script checks:

  • All infrastructure components
  • DNS resolution
  • Service connectivity
  • Certificate issuance
  • Network configuration

If issues are found, the script provides specific remediation steps.

What's Next?

Now that your personal cloud is running, consider:

  • Setting up backups with Velero
  • Adding monitoring with Prometheus and Grafana
  • Deploying applications like Nextcloud, Home Assistant, or Gitea
  • Exploring the Kubernetes Dashboard to monitor your services

Welcome to your personal cloud journey! You now have the foundation for hosting your own services and taking control of your digital life.