Files
MiniServer/README.md
T

40 lines
1.7 KiB
Markdown

Installs the bare necessities to turn a newly minted Arch Linux server into something useful.
```
wget -qO- https://gitea.young.computer/david/MiniServer/raw/branch/main/install.sh | bash
```
## Keep your server up to date
```
update
```
This pulls the latest MiniServer into `~/.local/share/MiniServer`, then runs each step in `updates.d/` in order: the Arch keyring and system packages (plus any packages newly added to `packages.conf`), AUR packages, pm2, Cockpit, sibling projects, the firewall, cache cleanup, and a reboot check. If a step fails, the others still run and the failed ones are listed at the end.
## Refresh
```
refresh
```
Re-runs `install.sh` to pick up anything new in the installer (services, config). Run `update` afterwards.
## Sibling projects
A sibling project is another git repository that builds on MiniServer. To install one:
```
sibling
```
It asks for the repository's git URL, clones it into `~/.local/share/siblings/`, and runs the project's `install.sh` (if it has one). After that, every `update` pulls each sibling and runs its `update.sh` (if it has one).
Use `sibling list` to see what's installed and `sibling remove {name}` to uninstall one.
To make your own repository work as a sibling project, see [skills/sibling-project-format.md](skills/sibling-project-format.md).
## Firewall
firewalld blocks incoming connections except for the services and ports listed in [firewall.conf](firewall.conf) and in each sibling project's own `firewall.conf`. Each `update` opens anything newly listed, and closes ports MiniServer opened that nothing lists any more, for example after `sibling remove`. Rules you add yourself with `firewall-cmd` are left alone.