# Hetzner

This server hosts the studio files and is used for expermintal builds.

For used ports, see the Caddyfile

To update caddy

```
    cp Caddyfile /etc/caddy/
    # If caddy was running via a console instead of as a service, do `caddy stop` now
    systemctl reload caddy
```

Debug logs with: `journalctl -u caddy --no-pager | less +G`

In case of weird errors: wipe /var/lib/caddy/.local/share/caddy


## Services


### studio + theme sync

The studio server, handling those requests.

`npm run server:studio`

Additionally, this runs syncthing to make a backup of all theme files.

### LOD-server

A server scraping other websites.

`npm run server:ldjson`

### Error report server

A simple server logging everything it receives

`npm run server:errorreport`

### geo-ip

Provides geolocation based on

    ```
    git clone https://source.mapcomplete.org/MapComplete/geoip-server.git
    cd geoip-server
    mkdir data
    # Drop the databases from https://lite.ip2location.com/ in the data dir; #IP-COUNTRY-with latitude/longitude; from https://lite.ip2location.com/database/db5-ip-country-region-city-latitude-longitude
    nohup npm run start >> data/log.txt &
    ```
