36 lines
1.9 KiB
Markdown
36 lines
1.9 KiB
Markdown
# ServNest system images generator
|
|
|
|
This is the sources to build system images of ServNest using mkosi 20. You can then use them with systemd-nspawn.
|
|
|
|
This repository also contains configuration files and installation scripts inside `install` that may also be useful for the manual installation process, without mkosi.
|
|
|
|
## Usage
|
|
|
|
This generator allows to build images for both Arch Linux and Debian Testing, you can replace `<sysid>` by either `sn-arch` or `sn-debian` in the following examples. Note that mkosi may require tools that are not available on your distribution.
|
|
|
|
First:
|
|
- Put the ServNest source code inside `mkosi.extra/srv/servnest/core/`
|
|
- Put a SFTPGo binary compiled as bundle in `mkosi.extra/usr/local/bin/sftpgo` (`mkosi.extra/root/sftpgo.sh` is provided for this purpose)
|
|
- Put your SSH public key in `mkosi.extra/root/.ssh/authorized_keys`
|
|
|
|
You can generate a new image in `/var/lib/machines/<sysid>` by running `mkosi --force --image <sysid> build` from this repository (`--force` erases an already existing image).
|
|
|
|
You need to copy `mkosi.nspawn` into `/etc/systemd/nspawn/<sysid>.nspawn` to allow the container to use network without restrictions.
|
|
|
|
You can then boot the container:
|
|
```shell
|
|
machinectl start <sysid>
|
|
machinectl shell <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>.
|