# ServNest system images generator This is the sources to build system images of ServNest using mkosi 22. 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, you can replace `` 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/` by running `mkosi --force --image build` from this repository (`--force` erases an already existing image). You need to copy `mkosi.nspawn` into `/etc/systemd/nspawn/.nspawn` to allow the container to use network without restrictions. You can then boot the container: ```shell machinectl start machinectl shell ``` 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//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 .