aboutsummaryrefslogtreecommitdiff
path: root/content/blog/999_my_server.md
blob: f29f9f46857f7b31fa93002b9e2e5bb6edf55a4d (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
Title: Making my server completely replacable
Category: Blog
Tags: /dev/diary, linux, ancible
Date: 2018-02-08
Status: Draft 

**This is mostly a draft so far, so maybe pad it a bit more 😉**

I have a virtual server running Arch Linux hosted somewhere in Germany which I want to use to host some personal services and toolchains. Currently this is done via LXD which I was a fan of for quite a while. I am using Zfs as a backend for these containers which means that I can do quick snapshots and deduplication between the base systems. But...I'm not really sure this is a nice way to do it anymore. I would like to run services in Containers just because it means that the host can be setup in a more clean way.

But right now there is a lot of manual configuration required because I'm struggling with the new way that LXD handles network taps. And while I'm gonna have to touch my configs anyways, I thought: why not go a bit further?

# Existing setup

```
 ☁ (icarus) ~> lxc list
+-------------+---------+----------------------+------+------------+-----------+
|    NAME     |  STATE  |         IPV4         | IPV6 |    TYPE    | SNAPSHOTS |
+-------------+---------+----------------------+------+------------+-----------+
| betakookie  | STOPPED |                      |      | PERSISTENT | 2         |
+-------------+---------+----------------------+------+------------+-----------+
| dcmerge     | RUNNING | 10.130.123.13 (eth0) |      | PERSISTENT | 0         |
+-------------+---------+----------------------+------+------------+-----------+
| dns         | STOPPED |                      |      | PERSISTENT | 1         |
+-------------+---------+----------------------+------+------------+-----------+
| gitlab      | RUNNING | 10.130.123.20 (eth0) |      | PERSISTENT | 2         |
+-------------+---------+----------------------+------+------------+-----------+
| hazelnot    | RUNNING | 10.130.123.12 (eth0) |      | PERSISTENT | 0         |
+-------------+---------+----------------------+------+------------+-----------+
| partkeepr   | STOPPED |                      |      | PERSISTENT | 3         |
+-------------+---------+----------------------+------+------------+-----------+
| spacekookie | RUNNING | 10.130.123.10 (eth0) |      | PERSISTENT | 2         |
+-------------+---------+----------------------+------+------------+-----------+
| stats       | RUNNING | 10.130.123.22 (eth0) |      | PERSISTENT | 0         |
+-------------+---------+----------------------+------+------------+-----------+
| turtl       | STOPPED |                      |      | PERSISTENT | 0         |
+-------------+---------+----------------------+------+------------+-----------+
| vpn-core    | STOPPED |                      |      | PERSISTENT | 0         |
+-------------+---------+----------------------+------+------------+-----------+
| wiki        | RUNNING | 10.130.123.23 (eth0) |      | PERSISTENT | 0         |
+-------------+---------+----------------------+------+------------+-----------+
```

Ultimately I want to run a few core services:

 - My website (Also available in early access on Github 😱)
 - A friend's static website
 - Gitlab
 - Bookstack (my wiki)
 - Matomo (previously Piwik)
 - Partkeepr (a tool for managing electronic components)
 - Turtl (a cool evernote clone)
 - My own Quassel core (instead of using my ex-girlfriend's one 😉)

And maybe some more that I haven't setup yet. Including a VPN between my server, my NAS and all of my other devices.


# Future setup idea

I have two servers running pretty much all the time:

 - My cloud server
 - My NAS at home

What I want to get over is having to manually configure containers and