aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: e737047ad5110c422a6fd3e28e8380440d89864c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# koszko.org server configuration

This is Guix system (container) configuration used for the system serving
https://koszko.org

# Use & installation

The command

```shell
make && sudo make start-container
```

causes the container to be run in a test enviroment, with some host directories
(e.g. `/var/www/koszko.org/html`) faked to contain sample files.
The command

```shell
make fake-client
```

spawns a shell in which `koszko.org` and some other domains resolve to the IP
address under which the container services are visible to the host.
The command

```shell
make enter-container
```

spawns a shell inside the previously-started container. Finally,

```shell
sudo make install
```

registers the container startup script as a Guix gc root and creates an
`/etc/init.d` SysV-style init script for starting it.
The container can then be started by systemd with

```shell
sudo systemctl daemon-reload # only needed once after installation
sudo systemctl start guix-container
```

or by the good old SysV init with

```shell
sudo service guix-container start
```

You can of course also use other systemd or SysV init commands to manage the
container service.

Feel free to look into the `Makefile` to see what other helpful targets are
available.

## Notes

After entering the server container, a sample email can be sent with

```shell
(echo "To: foo@bar";
   echo "Reply-To: my@email.com"
   echo "Subject: Hello!";
   echo "";
   echo "My Mail Content") | exim koszko@koszko.org
```

## Copying

The configuration as a whole is available under GPL-2.0-or-later.
Most of the code is Copyright (C) 2022-2023 Wojtek Kosior — this part is
additionally available under the terms of CC0-1.0.
This repository is [REUSE](https://reuse.software/)-compliant.
Please look at the SPDX identifiers to determine the licensing of particular
files or use the `reuse spdx` command to get a complete report.

The above only concerns the contents of this git repository.
The subrepos linked from here may be governed by different distribution terms.