2023-01-29 20:09:00 +00:00
# ServNest
2021-03-04 00:02:50 +00:00
2023-10-29 13:12:28 +00:00
ServNest (formerly Niver) is software allowing users to manage 3 independent services:
2021-03-04 00:02:50 +00:00
2022-10-12 22:39:59 +00:00
* Public suffix registry
2023-01-29 20:09:00 +00:00
* Domain name server
2022-10-12 22:39:59 +00:00
* Static HTTP site hosting
2021-03-04 00:02:50 +00:00
2022-11-20 00:24:54 +00:00
## Status
2023-10-29 13:12:28 +00:00
ServNest is alpha software.
Proper versioning, changelog and upgrade/migration instructions are still missing.
[https://niver.niv.re/ ](Niver ) is an installation administrated by the main developer.
2022-11-20 00:24:54 +00:00
2023-01-29 20:09:00 +00:00
## Detailed services features
2022-10-12 22:39:59 +00:00
### Public suffix registry (`reg`)
* Register a subdomain of the registry
* Set domain's nameservers
* Set a DS record to enable DNSSEC
* Set Glue records
2023-05-02 15:34:40 +00:00
* Display records
2023-01-29 20:09:00 +00:00
* Transfer domain to another account
2023-10-29 13:12:28 +00:00
* Partial `CSYNC` and `CDS` support to synchronize from child zone
2022-10-12 22:39:59 +00:00
2023-01-29 20:09:00 +00:00
### Name server (`ns`)
2022-10-12 22:39:59 +00:00
* Host a zone on the server
2023-06-15 01:35:42 +00:00
* Plain zone file edition
2022-10-12 22:39:59 +00:00
* Dedicated forms to set/unset `A` , `AAAA` , `NS` , `TXT` , `CAA` , `SRV` , `MX` , `SRV` , `SSHFP` , `TLSA` , `CNAME` , `DNAME` and `LOC` records
2023-05-02 15:34:40 +00:00
* Display records or the full zone file
2023-10-29 13:12:28 +00:00
* Keep records in sync with another domain (`CNAME` alternative for apex domains)
2022-10-12 22:39:59 +00:00
2023-01-29 20:09:00 +00:00
### Static HTTP site hosting (`ht`)
Upload site's files to the server using SFTP. The way the site is accessed can then be choosed:
2022-10-12 22:39:59 +00:00
2023-01-29 20:09:00 +00:00
* Dedicated domain name and Let's Encrypt certificate
* Dedicated onion service (through Tor)
* Subdomain of a shared root domain
* HTTP subpath of a shared domain
2022-10-12 22:39:59 +00:00
2023-05-02 15:34:40 +00:00
Some Apache configuration directives are available through `.htaccess` .
2023-04-23 14:36:41 +00:00
2022-10-12 22:39:59 +00:00
## Software used
[PHP ](https://www.php.net/ )
: main language
[SQLite ](https://www.sqlite.org/index.html )
: accounts data storage
[Knot DNS ](https://www.knot-dns.cz/ )
: DNS server for both registry and DNS hosting
[sudo ](https://www.sudo.ws/ ) 1.9.10+
: execute actions that match a regex as privileged or specific users
2022-11-23 21:21:34 +00:00
[SFTPGo ](https://github.com/drakkan/sftpgo )
2022-10-12 22:39:59 +00:00
: upload sites files using SFTP
2023-04-09 22:50:42 +00:00
[Apache HTTP Server ](https://httpd.apache.org/ )
: static HTTP server, with content negotiation and `.htaccess` dynamic configuration
2022-10-12 22:39:59 +00:00
[nginx ](https://nginx.org/ )
2023-04-23 14:36:41 +00:00
: HTTP reverse proxy for Apache; terminates TLS and enforces security headers
2022-10-12 22:39:59 +00:00
Tor
: [Onion services ](https://community.torproject.org/onion-services/ )
[Certbot ](https://certbot.eff.org/ )
: get [Let's Encrypt ](https://letsencrypt.org/ ) certificates for TLS
2023-09-01 00:20:09 +00:00
Cronie (or another cron daemon)
: periodically run script to sync registry records with child zones and pseudo-CNAMEs at apex
2023-05-02 15:34:40 +00:00
[GNU Core Utilities ](https://www.gnu.org/software/coreutils/ ) or [BusyBox ](https://www.busybox.net/ )
2022-10-12 22:39:59 +00:00
: manipulate the filesystem through sudo
## Installation
2023-10-29 13:12:28 +00:00
Manual installation instructions can be found in [`DOCS/installation.md` ](DOCS/installation.md ).
2023-05-02 15:34:40 +00:00
[servnest-mkosi ](https://code.antopie.org/servnest/servnest-mkosi ) can automatically build a system image for ServNest and has configuration files and scripts.
2022-10-12 22:39:59 +00:00
2023-10-29 13:12:28 +00:00
## Resources
[Matrix room ](matrix:r/servnest:matrix.antopie.org ) (`#servnest:matrix.antopie.org`)
: english/french
: discuss, get help and organise contribution
[Issue tracker ](https://code.antopie.org/servnest/servnest/issues )
: english
: keep track of bugs et wanted features
2022-10-12 22:39:59 +00:00
2023-10-29 13:12:28 +00:00
[Git repository ](https://code.antopie.org/servnest/servnest )
: english
: code, administration documentation
2022-10-12 22:39:59 +00:00
## Direct contact details
2023-10-29 13:12:28 +00:00
Find them on [https://miraty.antopie.org/ ](my site ).
2022-08-29 17:19:13 +00:00
## License
2023-01-29 20:09:00 +00:00
ServNest is ethical libre software: you can use, redistribute or modify it under the terms of the CNPL-NAv7+ as found in LICENSE.md or at < https: / / git . pixie . town / thufie / npl-builder > .
2023-01-07 22:12:53 +00:00
2023-10-29 13:12:28 +00:00
## Somehow similar projects
[DNSManager ](https://github.com/KaneRoot/dnsmanager ):
: domain registry powering [netlib.re ](https://netlib.re/ )
[EU.org ](https://nic.eu.org/ )
: domain registry
[DNS Witch ](https://dns-witch.net.eu.org/ )
: user-friendly domain hosting based on EU.org
[Codeberg Pages ](https://codeberg.page/ )
: static website hosting published through Git
2023-01-07 22:12:53 +00:00
2023-10-29 13:12:28 +00:00
[Njalla ](https://njal.la/ )
: anonymous domain registrar