718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
|
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
|
-
+
-
+
|
$ sudo apt install systemd-container btrfs-tools
```
That command assumes the primary test environment for
this guide, Ubuntu 22.04 LTS with `systemd` 249. For best
results, `/var/lib/machines` should be a btrfs volume, because
[`$REASONS`][mcfad]. For CentOS Stream 9 and other Red Hattish
systems, you will have to make serveral adjustments, which we’ve
systems, you will have to make several adjustments, which we’ve
collected [below](#nspawn-centos) to keep these examples clear.
We’ll assume your Fossil repository stores sometning called
We’ll assume your Fossil repository stores something called
“`myproject`” within `~/museum/myproject/repo.fossil`, named according
to the reasons given [above](#repo-inside). We’ll make consistent use of
this naming scheme in the examples below so that you will be able to
replace the “`myproject`” element of the various file and path names.
The first configuration step is to convert the Docker container into
a “machine,” as `systemd` calls it. The easiest method is:
|
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
|
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
|
-
+
|
setting up [SCGI proxying via nginx][DNT], but with adjustment,
it’ll work with the other repository service methods we’ve
[documented][srv].
* The path in the host-side part of the `Bind` value must point at the
directory containing the `repo.fossil` file referenced in said
command so that `/jail/museum/repo.fossil` refers to your repo out
on the host for the reasons given [above](#repo-outside).
on the host for the reasons given [above](#bind-mount).
That being done, we also need a generic systemd unit file called
`/etc/systemd/system/fossil@.service`, containing:
----
```
|