ServNest system images generator
Go to file
Miraty 2c11085e5e Better installation script sftpgo.sh 2024-02-10 19:00:59 +01:00
mkosi.extra Better installation script sftpgo.sh 2024-02-10 19:00:59 +01:00
mkosi.images update for mkosi 20 2024-01-25 10:53:45 +01: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
README.md Add DNS challenge hooks for Certbot 2024-01-30 20:24:22 +01:00
mkosi.conf systemd-resolved → knot-resolver 2024-01-27 15:04:34 +01:00
mkosi.finalize systemd-resolved → knot-resolver 2024-01-27 15:04:34 +01:00
mkosi.nspawn Initial commit 2022-04-20 00:29:47 +02:00
mkosi.postinst /etc/tor/torrc permissions 2023-11-04 16:21:15 +01:00

README.md

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:

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.