msgid "" msgstr "Content-Type: text/plain; charset=UTF-8\n" #. type: Title # #: index.en.md:1 #, markdown-text, no-wrap msgid "ServNest" msgstr "" #. type: Plain text #: index.en.md:4 #, markdown-text, no-wrap msgid "ServNest is software providing an HTTP service with HTML interface allowing users to manage 3 independent services:\n" msgstr "" #. type: Plain text #: index.en.md:8 #, markdown-text, no-wrap msgid "* Subdomain registration and delegation, in a public suffix registry\n* DNS zone hosting\n* Static HTTP site hosting (installed using SFTP)\n" msgstr "" #. type: Title ## #: index.en.md:9 #, markdown-text, no-wrap msgid "Documentation" msgstr "" #. type: Plain text #: index.en.md:13 #, markdown-text, no-wrap msgid "[User documentation](front/)\n: use an existing ServNest installation\n" msgstr "" #. type: Plain text #: index.en.md:16 #, markdown-text, no-wrap msgid "[Internals](back/)\n: understand, contribute or deploy a new ServNest installation\n" msgstr "" #. type: Title ## #: index.en.md:17 #, markdown-text, no-wrap msgid "Status" msgstr "" #. type: Plain text #: index.en.md:20 #, markdown-text, no-wrap msgid "ServNest is alpha software. Proper versioning, changelog and upgrade and migration instructions are still missing.\n" msgstr "" #. type: Title ## #: index.en.md:21 #, markdown-text, no-wrap msgid "Installation list" msgstr "" #. type: Plain text #: index.en.md:25 #, markdown-text, no-wrap msgid "[Niver](https://about.niv.re/)\n: administrated by the main developer\n" msgstr "" #. type: Title ## #: index.en.md:26 #, markdown-text, no-wrap msgid "Detailed features" msgstr "" #. type: Title ### #: index.en.md:28 #, markdown-text, no-wrap msgid "Public suffix registry (`reg`)" msgstr "" #. type: Plain text #: index.en.md:37 #, markdown-text, no-wrap msgid "* Register a subdomain of the registry\n* Set domain's nameservers\n* Set a DS record to enable DNSSEC\n* Set Glue records\n* Display records\n* Transfer domain to another account\n* Partial `CSYNC` and `CDS` support to synchronize from child zone\n" msgstr "" #. type: Title ### #: index.en.md:38 #, markdown-text, no-wrap msgid "Name server (`ns`)" msgstr "" #. type: Plain text #: index.en.md:45 #, markdown-text, no-wrap msgid "* Host a zone on the server\n* Plain zone file edition\n* Dedicated forms to set/unset `A`, `AAAA`, `NS`, `TXT`, `CAA`, `SRV`, `MX`, `SRV`, `SSHFP`, `TLSA`, `CNAME`, `DNAME` and `LOC` records\n* Display records or the full zone file\n* Keep records in sync with another domain (`CNAME` alternative for apex domains)\n" msgstr "" #. type: Title ### #: index.en.md:46 #, markdown-text, no-wrap msgid "Static HTTP site hosting (`ht`)" msgstr "" #. type: Plain text #: index.en.md:49 #, markdown-text, no-wrap msgid "Upload site's files to the server using SFTP. The way the site is accessed can then be choosed:\n" msgstr "" #. type: Plain text #: index.en.md:54 #, markdown-text, no-wrap msgid "* Dedicated domain name and Let's Encrypt certificate\n* Dedicated onion service (through Tor)\n* Subdomain of a shared root domain\n* HTTP subpath of a shared domain\n" msgstr "" #. type: Plain text #: index.en.md:56 #, markdown-text, no-wrap msgid "Some Apache configuration directives are available through `.htaccess`.\n" msgstr "" #. type: Title ## #: index.en.md:57 #, markdown-text, no-wrap msgid "Resources" msgstr "" #. type: Plain text #: index.en.md:62 #, markdown-text, no-wrap msgid "[ServNest website](https://servnest.niv.re/)\n: information about ServNest\n: [source code](https://code.antopie.org/servnest/docs/)\n" msgstr "" #. type: Plain text #: index.en.md:66 #, markdown-text, no-wrap msgid "[Matrix room](matrix:r/servnest:matrix.antopie.org) (`#servnest:matrix.antopie.org`)\n: english/french\n: discuss, get help and organise contribution\n" msgstr "" #. type: Plain text #: index.en.md:70 #, markdown-text, no-wrap msgid "[Issue tracker](https://code.antopie.org/servnest/servnest/issues/)\n: english\n: keep track of bugs and wanted features\n" msgstr "" #. type: Plain text #: index.en.md:74 #, markdown-text, no-wrap msgid "[ServNest source code](https://code.antopie.org/servnest/servnest/)\n: english\n: code\n" msgstr "" #. type: Title ### #: index.en.md:75 #, markdown-text, no-wrap msgid "License" msgstr "" #. type: Plain text #: index.en.md:78 #, markdown-text, no-wrap msgid "Code, configuration and documentation are published under the Cooperative Nonviolent Public License No Attributions, version 7 or any later version (CNPL-NAv7+). See the [Nonviolent Public Licenses](https://thufie.lain.haus/NPL.html).\n" msgstr "" #. type: Title ## #: index.en.md:79 #, markdown-text, no-wrap msgid "Direct contact details" msgstr "" #. type: Plain text #: index.en.md:82 #, markdown-text, no-wrap msgid "See [Miraty's contact details](https://miraty.niv.re/contact).\n" msgstr "" #. type: Title ## #: index.en.md:83 #, markdown-text, no-wrap msgid "Somehow similar projects" msgstr "" #. type: Title ### #: index.en.md:85 #, markdown-text, no-wrap msgid "DNS" msgstr "" #. type: Plain text #: index.en.md:89 #, markdown-text, no-wrap msgid "[DNSManager](https://github.com/KaneRoot/dnsmanager)\n: domain registry and hosting software powering [netlib.re](https://netlib.re/)\n" msgstr "" #. type: Plain text #: index.en.md:92 #, markdown-text, no-wrap msgid "[EU.org](https://nic.eu.org/)\n: domain registry\n" msgstr "" #. type: Plain text #: index.en.md:95 #, markdown-text, no-wrap msgid "[SERVFAIL](https://docs.servfail.network/)\n: domain hosting\n" msgstr "" #. type: Plain text #: index.en.md:98 #, markdown-text, no-wrap msgid "[DNS Witch](https://dns-witch.net.eu.org/)\n: user-friendly domain hosting based on EU.org\n" msgstr "" #. type: Plain text #: index.en.md:101 #, markdown-text, no-wrap msgid "[Njalla](https://njal.la/)\n: anonymous domain registrar\n" msgstr "" #. type: Title ### #: index.en.md:102 #, markdown-text, no-wrap msgid "Web hosting" msgstr "" #. type: Plain text #: index.en.md:105 #, markdown-text, no-wrap msgid "[Codeberg Pages](https://codeberg.page/)\n: static website hosting published through Git\n" msgstr "" #. type: Title # #: front/index.en.md:1 #, markdown-text, no-wrap msgid "ServNest user documentation" msgstr "" #. type: Plain text #: front/index.en.md:4 #, markdown-text, no-wrap msgid "* [Use ServNest](full-howto)\n* [How to create a static site](site-creation)\n" msgstr "" #. type: Title # #: front/full-howto.en.md:1 #, markdown-text, no-wrap msgid "Use ServNest" msgstr "" #. type: Title ## #: front/full-howto.en.md:3 #, markdown-text, no-wrap msgid "Introduction" msgstr "" #. type: Plain text #: front/full-howto.en.md:6 #, markdown-text, no-wrap msgid "This document describes the steps for the combined use of each service of a ServNest installation.\n" msgstr "" #. type: Plain text #: front/full-howto.en.md:12 #, markdown-text, no-wrap msgid "In short, it consists of:\n1. on the **Authentication** service: creating an account\n2. on the **Registry** service: registering a domain name in one of the available suffixes\n3. on the **Name servers** service: configuring a DNS zone for this domain\n4. on the **Web** service: uploading files using SFTP and making them accessible through the Web with the domain previously registered and configured\n" msgstr "" #. type: Title ## #: front/full-howto.en.md:13 #, markdown-text, no-wrap msgid "Prerequisites" msgstr "" #. type: Plain text #: front/full-howto.en.md:20 #, markdown-text, no-wrap msgid "* the address of an existing ServNest installation (see the list on the homepage)\n* a way to communicate with the chosen installation administrator, to get the account approved\n* a web browser (for example LibreWolf, Tor Browser or Firefox)\n* an SFTP client (for example Dolphin on KDE, GNOME Files or FileZilla)\n* files to be served on the site (typically in HTML format)\n" msgstr "" #. type: Title ## #: front/full-howto.en.md:21 #, markdown-text, no-wrap msgid "Step 1: account creation" msgstr "" #. type: Plain text #: front/full-howto.en.md:24 #, markdown-text, no-wrap msgid "Create an account and get it approved\n" msgstr "" #. type: Plain text #: front/full-howto.en.md:28 #, markdown-text, no-wrap msgid "1. From the chosen ServNest installation home page, go to the **Authentication** service, then use the page **Create account**\n2. Ask your installation administrator an approval key, according to the instructions on the link **About this installation** on the installation home page, and wait for their answer\n3. Use the answered key on the **Switch to an approved account** page\n" msgstr "" #. type: Title ## #: front/full-howto.en.md:29 #, markdown-text, no-wrap msgid "Step 2: domain registration" msgstr "" #. type: Plain text #: front/full-howto.en.md:32 #, markdown-text, no-wrap msgid "Choose a domain name\n" msgstr "" #. type: Plain text #: front/full-howto.en.md:35 #, markdown-text, no-wrap msgid "1. Go to the **Registry** service\n2. **Register domain**\n" msgstr "" #. type: Title ## #: front/full-howto.en.md:36 #, markdown-text, no-wrap msgid "Step 3: the DNS zone" msgstr "" #. type: Title ### #: front/full-howto.en.md:38 #, markdown-text, no-wrap msgid "Step 3.1: DNS zone creation" msgstr "" #. type: Plain text #: front/full-howto.en.md:41 #, markdown-text, no-wrap msgid "Authenticate the DNS zone creation by creating a specific DNS record in the parent zone (the registry), then actually create the zone\n" msgstr "" #. type: Plain text #: front/full-howto.en.md:46 #, markdown-text, no-wrap msgid "1. On the **Name servers** > **Add zone** page, copy the required NS record value (Don't submit the form yet)\n2. Paste the value in **Registry** > **NS records** and submit\n3. Submit the form on **Name servers** > **Add zone**\n4. Paste the value in **Registry** > **NS records** again, but this time select the **Delete** action, then submit\n" msgstr "" #. type: Title ### #: front/full-howto.en.md:47 #, markdown-text, no-wrap msgid "Step 3.2: delegation to the DNS zone" msgstr "" #. type: Plain text #: front/full-howto.en.md:50 #, markdown-text, no-wrap msgid "Tell the registry to delegate the domain name resolution to the servers on which we just created the zone\n" msgstr "" #. type: Plain text #: front/full-howto.en.md:53 #, markdown-text, no-wrap msgid "For each domain name listed in the **Name servers** section on the home page of the **Name servers** service:\n1. Copy-paste this domain name in **Registry** > **DNS records** then submit\n" msgstr "" #. type: Title ### #: front/full-howto.en.md:54 #, markdown-text, no-wrap msgid "Optional step 3.3: DNSSEC activation" msgstr "" #. type: Plain text #: front/full-howto.en.md:57 #, markdown-text, no-wrap msgid "Tell the registry the public key of the DNS zone in order to enable the DNSSEC trust delegation and thus the DNS zone records authentication\n" msgstr "" #. type: Plain text #: front/full-howto.en.md:60 #, markdown-text, no-wrap msgid "1. On **Name servers** > **Display zone**, select **DS records** then submit\n2. Transmit the display values to **Registry** > **DS records**\n" msgstr "" #. type: Title ## #: front/full-howto.en.md:61 #, markdown-text, no-wrap msgid "Step 4: the website" msgstr "" #. type: Title ### #: front/full-howto.en.md:63 #, markdown-text, no-wrap msgid "Step 4.1: SFTP upload" msgstr "" #. type: Plain text #: front/full-howto.en.md:69 #, markdown-text, no-wrap msgid "1. Transmit the values displayed on the **Web** service home page to the SFTP client\n2. If the SFTP asks to confirm the server's public key fingerprint, check that it matches one of the values display on the web page. If none of the values match, cancel the connection, then check the settings, change Internet connection or contact the administrator. (Connecting to an SFTP server without verifying it's authenticity can allow an attacker to takeover your account.)\n3. The SFTP space is empty by default. Create a directory named without spaces, accents or special characters (for example `site`)\n4. Copy-paste the site files inside this new directory\n" msgstr "" #. type: Title ### #: front/full-howto.en.md:70 #, markdown-text, no-wrap msgid "Step 4.2: HTTP access creation" msgstr "" #. type: Plain text #: front/full-howto.en.md:75 #, markdown-text, no-wrap msgid "1. In **Name servers** > **Synchronized records**, add an entry with the domain displayed on **Web** > **Dedicated domain with Let's Encrypt certificate access** as the **Source domain**\n2. In **Name servers** > **TXT records**, add for the **Subdomain** `_auth` the value displayed on **Web** > **Dedicated domain with Let's Encrypt certificate access**\n3. Submit the form **Dedicated domain with Let's Encrypt certificate access**\n" msgstr "" #. type: Title ## #: front/full-howto.en.md:76 #, markdown-text, no-wrap msgid "Conclusion" msgstr "" #. type: Plain text #: front/full-howto.en.md:78 #, markdown-text, no-wrap msgid "Accessing `https://domain.example/file` displays the file `/site/file` from the SFTP space.\n" msgstr "" #. type: Title # #: front/site-creation.en.md:1 #, markdown-text, no-wrap msgid "How to create a static site" msgstr "" #. type: Title ## #: front/site-creation.en.md:3 #, markdown-text, no-wrap msgid "Manually" msgstr "" #. type: Plain text #: front/site-creation.en.md:6 #, markdown-text, no-wrap msgid "A site can be created by handwriting HTML files.\n" msgstr "" #. type: Title ## #: front/site-creation.en.md:7 #, markdown-text, no-wrap msgid "Using a static sites generator" msgstr "" #. type: Plain text #: front/site-creation.en.md:10 #, markdown-text, no-wrap msgid "Static sites generator are tools that generate static HTML sites from another format, usually from Markdown.\n" msgstr "" #. type: Plain text #: front/site-creation.en.md:13 #, markdown-text, no-wrap msgid "[Zola](https://www.getzola.org/)\n: command line interface\n" msgstr "" #. type: Plain text #: front/site-creation.en.md:16 #, markdown-text, no-wrap msgid "[Hugo](https://gohugo.io/)\n: command line interface\n" msgstr "" #. type: Plain text #: front/site-creation.en.md:18 #, markdown-text, no-wrap msgid "[Publii](https://getpublii.com/)\n: desktop software using Electron\n" msgstr ""