aboutsummaryrefslogtreecommitdiffstats
path: root/readme.md
blob: 0e199b697a914dcfaa70ce4b0d2235caea797092 (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
# net_services

This is personal project about services on the network I provide for myself.

I want to handle as much of my data myself. For privacy and for the challenge. I also want to serve apps for my friends.

I set this up on a VPS with a static IP. I also bought a domain name `tvcloud.fr` to point to the VPS. Some services run on the VPS itself. Some others are run with Docker. Nginx is used as endpoint.

## How-to

1. Create a `.env`. See `example.env`.

1. Build and run the services.
	
    ```
    ./build.command
    docker compose up
    ```

## Handling data

Data of various types has to be handled in different ways.

* **Passwords**: A KeePassXC database shared with Syncthing.

* **Git repositories**: A remote server accesible over SSH for push. And also a web front-end (cgit).

* **Calendars, to-dos, journals, and contacts**: A Radicale server.  
    I could just synchronize the `.ics`/`.vcf` files, but a CalDAV/CarDAV server is compatible with mobile applications.

* **Remote storage**: SFTP for large files. Syncthing for moderately large data that is better synchronized than downloaded manually.

## Security

TODO (sensitive data in tmpfs)

### Firewalls

TODO (OVH, iptables, docker+iptables+reboot bug)