chore: improved quickstart for newbies
Some checks failed
railiance-tests / smoke (push) Has been cancelled
Some checks failed
railiance-tests / smoke (push) Has been cancelled
This commit is contained in:
129
QUICKSTART.md
129
QUICKSTART.md
@@ -1,6 +1,123 @@
|
||||
# Railiance Bootkit Quickstart
|
||||
Run:
|
||||
bin/railiance doctor
|
||||
bin/railiance gen-ssh-key
|
||||
bin/railiance cloudinit > user-data.yaml
|
||||
Then rent VM, seed with tools/seed_node.sh, and bootstrap with Ansible.
|
||||
# Railiance Newcomer Quickstart
|
||||
|
||||
Welcome to **Railiance** 🚂✨ — an opinionated Infrastructure‑as‑Code framework.
|
||||
This guide is written for newcomers who want to set up their very first Railiance host.
|
||||
|
||||
---
|
||||
|
||||
## 0. Get the code
|
||||
|
||||
Clone this repository locally and enter it:
|
||||
|
||||
```bash
|
||||
git clone https://<your-gitea-domain>/<org-or-user>/railiance-bootstrap.git
|
||||
cd railiance-bootstrap
|
||||
```
|
||||
|
||||
(Replace `<your-gitea-domain>` and `<org-or-user>` with your setup.)
|
||||
|
||||
---
|
||||
|
||||
## 1. Check your environment
|
||||
|
||||
Make sure you have these installed locally:
|
||||
|
||||
- Git
|
||||
- Ansible
|
||||
- Python 3
|
||||
- SSH client
|
||||
|
||||
Check with:
|
||||
|
||||
```bash
|
||||
bin/railiance doctor
|
||||
```
|
||||
|
||||
This command will confirm prerequisites.
|
||||
|
||||
---
|
||||
|
||||
## 2. Prepare your SSH key
|
||||
|
||||
If you don’t already have an SSH key:
|
||||
|
||||
```bash
|
||||
bin/railiance gen-ssh-key
|
||||
```
|
||||
|
||||
Upload the public key to your cloud provider or VM host.
|
||||
|
||||
---
|
||||
|
||||
## 3. Create your inventory
|
||||
|
||||
Copy the example inventory:
|
||||
|
||||
```bash
|
||||
cp ansible/hosts.ini.example ansible/hosts.ini
|
||||
```
|
||||
|
||||
Edit `ansible/hosts.ini` and add the IP or hostname of your Railiance host.
|
||||
|
||||
Test that Ansible can reach it:
|
||||
|
||||
```bash
|
||||
ansible -i ansible/hosts.ini all -m ping
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. Provision a new VM
|
||||
|
||||
Recommended host specs:
|
||||
- Ubuntu 24.04 LTS
|
||||
- 2 vCPU, 4–8 GB RAM
|
||||
- 60 GB SSD
|
||||
|
||||
When creating the VM, inject your SSH key and, if possible, apply the provided `cloudinit/user-data.yaml`.
|
||||
|
||||
---
|
||||
|
||||
## 5. Seed the host
|
||||
|
||||
Log in to the host and run the seed script:
|
||||
|
||||
```bash
|
||||
tools/seed_node.sh
|
||||
```
|
||||
|
||||
This will clone the repo on the host, set up housekeeping, and get ready for provisioning.
|
||||
|
||||
---
|
||||
|
||||
## 6. Bootstrap with Ansible
|
||||
|
||||
From your local machine:
|
||||
|
||||
```bash
|
||||
ansible-playbook -i ansible/hosts.ini ansible/bootstrap.yml
|
||||
```
|
||||
|
||||
This installs prerequisites and sets up a single‑node k3s cluster.
|
||||
|
||||
---
|
||||
|
||||
## 7. Verify
|
||||
|
||||
Run the smoke test:
|
||||
|
||||
```bash
|
||||
tests/smoke_kube.sh
|
||||
```
|
||||
|
||||
If successful, you now have a working Railiance host 🎉
|
||||
|
||||
---
|
||||
|
||||
## Next steps
|
||||
|
||||
- Explore `ansible/` playbooks for services (e.g., uptime-kuma, postgres).
|
||||
- Read `docs/README.md` for philosophy and design.
|
||||
- Join the community and contribute improvements!
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user