From f9c7a9e2f4f4dea5daea9889ecbc17095bc5f2f0 Mon Sep 17 00:00:00 2001 From: Paul Payne Date: Sun, 12 Oct 2025 00:36:17 +0000 Subject: [PATCH] Adds docs. --- docs/DEVELOPER.md | 50 --------------------- docs/WILD_CENTRAL_PACKAGING.md | 79 ++++++++++++++++++++++++++++++++++ docs/manual-setup.md | 17 ++++++++ 3 files changed, 96 insertions(+), 50 deletions(-) create mode 100644 docs/WILD_CENTRAL_PACKAGING.md create mode 100644 docs/manual-setup.md diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md index 8cc35ad..fad9668 100644 --- a/docs/DEVELOPER.md +++ b/docs/DEVELOPER.md @@ -1,53 +1,3 @@ -# Developer Guide - -This guide covers development, testing, and local building of Wild Cloud Central. - -## Development Setup - -### Prerequisites - -- Go 1.21+ -- Docker (for testing) -- make - -```bash -sudo apt update -sudo apt install make direnv -echo 'eval "$(direnv hook bash)"' >> $HOME/.bashrc -source $HOME/.bashrc - -# Node.js and pnpm setup -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash -source $HOME/.bashrc -nvm install --lts - -curl -fsSL https://get.pnpm.io/install.sh | sh - -source $HOME/.bashrc -pnpm install -g @anthropic-ai/claude-code - -# Golang setup -wget https://go.dev/dl/go1.24.5.linux-arm64.tar.gz -sudo tar -C /usr/local -xzf ./go1.24.5.linux-arm64.tar.gz -echo 'export PATH="$PATH:$HOME/go/bin:/usr/local/go/bin"' >> $HOME/.bashrc -source $HOME/.bashrc -rm ./go1.24.5.linux-arm64.tar.gz -go install -v github.com/go-delve/delve/cmd/dlv@latest - -# Python setup -curl -LsSf https://astral.sh/uv/install.sh | sh -source $HOME/.local/bin/env -uv sync - -# Runtime dependencies -./scripts/install-wild-cloud-dependencies.sh - -# App -cd app && pnpm install && cd .. -# Daemon -cd daemon && go mod tidy && cd .. -# CLI -cd cli && go mod tidy && cd .. -``` ### Building Locally diff --git a/docs/WILD_CENTRAL_PACKAGING.md b/docs/WILD_CENTRAL_PACKAGING.md new file mode 100644 index 0000000..5f6b95b --- /dev/null +++ b/docs/WILD_CENTRAL_PACKAGING.md @@ -0,0 +1,79 @@ +# Packaging Wild Central + +## Desired Experience + +This is the desired experience for installing Wild Cloud Central on a fresh Debian/Ubuntu system: + +### APT Repository (Recommended) + +```bash +# Download and install GPG key +curl -fsSL https://mywildcloud.org/apt/wild-cloud-central.gpg | sudo tee /usr/share/keyrings/wild-cloud-central-archive-keyring.gpg > /dev/null + +# Add repository (modern .sources format) +sudo tee /etc/apt/sources.list.d/wild-cloud-central.sources << 'EOF' +Types: deb +URIs: https://mywildcloud.org/apt +Suites: stable +Components: main +Signed-By: /usr/share/keyrings/wild-cloud-central-archive-keyring.gpg +EOF + +# Update and install +sudo apt update +sudo apt install wild-cloud-central +``` + +### Manual Installation + +Download the latest `.deb` package from the [releases page](https://github.com/wildcloud/wild-central/releases) and install: + +```bash +sudo dpkg -i wild-cloud-central_*.deb +sudo apt-get install -f # Fix any dependency issues +``` + +## Quick Start + +1. **Configure the service** (optional): + + ```bash + sudo cp /etc/wild-cloud-central/config.yaml.example /etc/wild-cloud-central/config.yaml + sudo nano /etc/wild-cloud-central/config.yaml + ``` + +2. **Start the service**: + + ```bash + sudo systemctl enable wild-cloud-central + sudo systemctl start wild-cloud-central + ``` + +3. **Access the web interface**: + Open http://your-server-ip in your browser + +## Developer tooling + +Makefile commands for packaging: + +Package targets (create .deb packages): + +make package - Create .deb package for current arch +make package-arm64 - Create arm64 .deb package +make package-amd64 - Create amd64 .deb package +make package-all - Create all .deb packages + +Repository targets: + +make repo - Build APT repository from packages +make deploy-repo - Deploy repository to server + +Directory structure: + +build/ - Intermediate build artifacts +dist/bin/ - Final binaries for distribution +dist/packages/ - OS packages (.deb files) +dist/repositories/ - APT repository for deployment + +Example workflows: +make clean && make repo - Full release build diff --git a/docs/manual-setup.md b/docs/manual-setup.md new file mode 100644 index 0000000..4c6f04c --- /dev/null +++ b/docs/manual-setup.md @@ -0,0 +1,17 @@ +# Manual Setup of Wild Cloud Central + +If you want to set up from source (not using the debian package). + +```bash +# Prerequisites +sudo apt update +sudo apt install dnsmasq + +# Disable systemd-resolved +sudo systemctl disable systemd-resolved +sudo systemctl stop systemd-resolved + +# Enable dnsmasq +sudo systemctl enable dnsmasq +sudo systemctl start dnsmasq +```