## Summary - Add `docs/how-to/restart-indri.md` with safe shutdown and startup procedures - Add `docs/reference/services/automounter.md` documenting the SMB share automounter app - Update indri reference card with GUI applications section - Update how-to and reference indexes ## Test plan - [ ] Review restart-indri.md for accuracy - [ ] Verify AutoMounter details are correct - [ ] Perform the actual restart using this guide 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/108
3.2 KiB
| title | tags | ||
|---|---|---|---|
| restart-indri |
|
Restart Indri
How to safely shut down and restart indri, the primary BlumeOps server.
Prerequisites
- SSH access to indri
- Tailscale connected
Shutdown Procedure
1. Stop Kubernetes Gracefully
Minikube runs on the Docker driver, so stopping it cleanly ensures pods terminate gracefully and persistent volumes are properly unmounted.
ssh indri 'minikube stop'
This may take a minute as pods receive termination signals. You can verify it stopped:
ssh indri 'minikube status'
2. Stop Native Services (Optional)
Native services managed by launchd will stop automatically during macOS shutdown. However, if you want to stop them explicitly first:
# Forgejo (managed by brew services)
ssh indri 'brew services stop forgejo'
# LaunchAgent services
ssh indri 'launchctl unload ~/Library/LaunchAgents/mcquack.eblume.zot.plist'
ssh indri 'launchctl unload ~/Library/LaunchAgents/mcquack.eblume.alloy.plist'
ssh indri 'launchctl unload ~/Library/LaunchAgents/mcquack.eblume.borgmatic.plist'
3. Quit GUI Applications
These apps don't autostart and should be quit cleanly before reboot:
- Docker Desktop - Quit from menubar or:
ssh indri 'osascript -e "quit app \"Docker\""' - Amphetamine - Quit from menubar (prevents sleep; will need restart)
- AutoMounter - Quit from menubar (mounts sifaka SMB shares)
4. Reboot
ssh indri 'sudo shutdown -r now'
Or if you're at the console, use the Apple menu.
Startup Procedure
After indri boots, several things need manual attention.
1. Start GUI Applications
These must be started manually after reboot. Log in to indri (via Screen Sharing or physically) and launch:
| App | Purpose | Launch Method |
|---|---|---|
| Docker Desktop | Container runtime for minikube | Spotlight or /Applications/Docker.app |
| Amphetamine | Prevents sleep | Spotlight or App Store apps |
| AutoMounter | Mounts sifaka SMB shares to /Volumes/ |
Spotlight or App Store apps |
Wait for Docker Desktop to fully start (whale icon in menubar stops animating).
2. Verify Sifaka Mounts
AutoMounter should automatically mount the sifaka shares. Verify:
ssh indri 'ls /Volumes/'
You should see: allisonflix, backups, music, photos, torrents (or similar).
If mounts are missing, open AutoMounter and trigger a reconnect.
3. Start Minikube
ssh indri 'minikube start'
This starts the Kubernetes cluster inside Docker. It may take a few minutes as all pods come up.
Monitor pod startup:
kubectl --context=minikube-indri get pods -A -w
4. Verify Native Services
LaunchAgent services should start automatically. Check them:
ssh indri 'launchctl list | grep mcquack'
ssh indri 'brew services list | grep forgejo'
If any are missing, Ansible can restore them:
mise run provision-indri
5. Run Health Check
Once everything is up, verify all services:
mise run services-check
All checks should pass. If any fail, see troubleshooting.
Related
- indri - Server specifications
- troubleshooting - Diagnose issues
- cluster - Kubernetes details
- sifaka - NAS storage