ServNest system images generator
Find a file
2024-04-09 18:23:40 +02:00
mkosi.extra fix apache persmissions again 2024-04-09 18:23:40 +02:00
mkosi.images mkosi 20 → 22 2024-04-09 17:31:14 +02:00
.gitignore fix gitignore 2024-01-25 10:49:43 +01:00
LICENSE.md Set CNPLv7+ as license 2022-08-29 21:01:16 +02:00
mkosi.conf mkosi 20 → 22 2024-04-09 17:31:14 +02:00
mkosi.finalize.chroot mkosi 20 → 22 2024-04-09 17:31:14 +02:00
mkosi.nspawn Initial commit 2022-04-20 00:29:47 +02:00
mkosi.postinst.chroot mkosi 20 → 22 2024-04-09 17:31:14 +02:00
README.md mkosi 20 → 22 2024-04-09 17:31:14 +02:00

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 <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:

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.