servnest-mkosi/README.md

35 lines
1.7 KiB
Markdown

# ServNest system images generator
This is the sources to build system images of ServNest using mkosi. You can then use them with systemd-nspawn.
This repository also contains configuration files and installation scripts inside `install` that may also be useful without mkosi.
## Usage
This generator allows to build images for both Arch Linux and Debian Testing, you can replace `<sysid>` by either `arch` or `debian` in the following examples. Note that mkosi may require tools that are not available on your distribution.
First:
- Put your SSH public key in `root/.ssh/authorized_keys`
- Put a SFTPGo binary as `usr/local/bin/sftpgo`
You can generate a new image in `/var/lib/machines/servnest-<sysid>` by running `mkosi --force -d <sysid>` from this repository (`--force` erases an already existing image).
You need to copy `mkosi.nspawn` into `/etc/systemd/nspawn/servnest-<sysid>.nspawn` to allow the container to use network without restrictions.
You can then boot the container:
```shell
machinectl start servnest-<sysid>
machinectl shell servnest-<sysid>
```
The full explanation of the structure in this repository can be found on the mkosi manpage. Here is a summary of what mkosi will do in this repository:
1. Load configuration from `mkosi.default` and `mkosi.default.d/<sysid>/mkosi.default`
2. Install packages according to configuration
3. Copy this repository to the container root
4. Run `mkosi.postinst`, which runs specific scripts inside `install`, which do configuration (depending on the distribution)
## License
ServNest system images generator is ethical libre software: you can use, redistribute or modify it under the terms of the CNPL-NAv7+ as found in LICENSE.md or at <https://git.pixie.town/thufie/npl-builder>.