@@ -9,6 +9,7 @@ knowledge to achieve the above.
99You still need some basic understanding though, like what is an IP address or a port, how to run Ansible in a console,
1010how to edit Yaml files, etc.
1111
12+
1213## Hosting emails at home
1314
1415If you want to seriously host your emails at home, you will need the following:
@@ -25,69 +26,39 @@ Pros:
2526Cons:
2627
2728- Your internet connection and electric providers need to be stable.
28- - Might be cumbersome when you are moving
29+ - Might be cumbersome when you are moving.
30+ - This is not _ digital worker_ friendly.
31+
2932
3033## Hosting emails online
3134
3235Any serious hosting platform can provide a server, virtual or physical, with an externally accessible IP address. Some
3336providers, however, are blocking the port 25 (e.g. Google cloud).
3437
35- Be careful, using a VPS (Virtual Private Server) is no more secure than hosting at your home.
36-
3738Pros:
3839
39- - Does not rely on the reliability of your internet connection or your electricity provider
40- - You can move to another address easily .
40+ - Does not rely on the reliability of your internet connection or your electricity provider.
41+ - Easier to manage remotely, especially for _ digital workers _ .
4142
4243Cons:
4344
44- - You may not have control on the kernel installed. This is less secure than Homebox, which is by default configured to
45- run on AppArmor.
45+ - You may not have control on the kernel installed or the options available.
4646- You may not be able to use Full Disk Encryption. Although there are some security measures in places, it is still
4747 perfectly possible to extract data from your disk without your knowledge or consent.
48- - You will not have the choice on when and which security updates are applied. Most hosting providers have specific time
49- windows to update the kernel images they use, which may not be as soon as you need, or even appropriate to you.
5048
5149
5250# Pre-installation steps
5351
5452## Set up your domain name
5553
56- The first thing you need is a domain name and a DNS provider, there are many available. For instance, here is a
57- [ list of other DNS providers] ( https://github.com/AnalogJ/lexicon#providers ) you can use.
58-
59- The screenshots and examples in this tutorial are specific to [ Gandi] ( https://www.gandi.net/ ) , but the principles are
60- the same.
61-
62- Once you have chosen the domain name, it is necessary to configure the associated DNS servers, and the _ glue records_ .
63-
64- For instance, on Gandi, you will have to set up the glue records first and then the DNS servers used for your domain:
65-
66- ### Glue records
67-
68- Create at least one record that points to your static IP address.
54+ If you are not familiar with DNS, I recommend to use Gandi and to create an API key. The playbook will handle the DNS
55+ settings itself.
6956
70- ![ Glue records ] ( img/dns-setup/glue-records.png )
57+ Otherwise, here is a [ list of other DNS providers ] ( https://github.com/AnalogJ/lexicon#providers ) you can use.
7158
72- ### DNS servers
59+ In this case, it is necessary to configure the associated DNS servers, and the _ glue records _ .
7360
74- Add the DNS servers accordingly
75-
76- ![ DNS servers] ( img/dns-setup/dns-servers.png )
77-
78- ## Choose the hardware
79-
80- An old laptop should be enough to start, with the main advantage of being somewhat resilient to power failures. I also
81- suggest you to have a look on this Debian page: [ Cheap Serverbox Hardware] ( https://wiki.debian.org/FreedomBox/Hardware )
82- of the project freedombox, another excellent project.
83-
84- The preseed configuration (see next step) provides an option to use software RAID, so you can use this as well if you
85- prefer.
86-
87- !!! Warning
88- You still need to regularly back up your data, even if you are using RAID.
89-
90- ## Set-up your home network
61+ ## Home based: set-up your home network
9162
9263This is necessary only if you choose to use a home device to host your emails. If you are using an online server, you
9364can skip this section.
@@ -99,12 +70,11 @@ functionality if there is one. The other option is to redirect only the ports yo
9970
10071Initially, the following TCP ports are required:
10172
102- - To obtain your certificates from LetsEncrypt, the port 80 need to be exposed .
73+ - To obtain your certificates from LetsEncrypt, the port 53 in UDP and TCP mode .
10374- To test sending and receiving emails, your system should be accessible on the port 25 as well.
104- - To retrieve emails, your system should be accessible on ports 143, 993, 110, 995.
75+ - To retrieve emails, your system should be accessible on ports 993 and 995 if you are using POP3 .
10576- To send emails, your system should be accessible on ports 587 and/or 465.
106- - For Thunderbird automatic configuration, your system should be accessible on port 80.
107- - Once installed, SOGo and the webmail are accessible through https (port 443).
77+ - Once installed, SOGo is accessible through https (port 443).
10878
10979The next step is to link your domain name (e.g homebox.me) to your static IP address that has been assigned to you by
11080your ISP.
@@ -119,9 +89,6 @@ on Debian or Ubuntu:
11989$ sudo apt install ansible rsync
12090```
12191
122- Another package to install is ` python-netaddr ` , which is part of Debian too. It is required to guess your public IP
123- address during the installation phase. Once the playbook has been run, you can uninstall it.
124-
125- If you already have a Debian server (Stretch) installed, and you prefer to use it, it's fine, you can skip the next
92+ If you already have a Debian server (Bullseye) installed, and you prefer to use it, it's fine, you can skip the next
12693section and start the [ installation] ( installation.md ) directly. Otherwise, click on next to read the OS installation
12794page.
0 commit comments