Update readme and index

This commit is contained in:
Brian Picciano 2023-05-20 15:03:11 +02:00
parent 9c2bd4e49a
commit 7d4f754eec
3 changed files with 73 additions and 7 deletions

View File

@ -7,6 +7,78 @@ their DNS server.
[Demo which may or may not be live](https://domiply.mediocregopher.com) [Demo which may or may not be live](https://domiply.mediocregopher.com)
## Build
Domiply uses nix flakes for building and setting up the development environment.
In order to create a release binary:
```
nix build
```
A statically compiled binary will be placed in the `result` directory.
## Configuration
Domiply is configured via command-line arguments or environment variables:
```
--http-domain <HTTP_DOMAIN>
[env: DOMIPLY_HTTP_DOMAIN=]
--http-listen-addr <HTTP_LISTEN_ADDR>
[env: DOMIPLY_HTTP_LISTEN_ADDR=] [default: [::]:3030]
--https-listen-addr <HTTPS_LISTEN_ADDR>
E.g. '[::]:443', if given then SSL certs will automatically be retrieved for all domains using LetsEncrypt [env: DOMIPLY_HTTPS_LISTEN_ADDR=]
--passphrase <PASSPHRASE>
[env: DOMIPLY_PASSPHRASE=]
--origin-store-git-dir-path <ORIGIN_STORE_GIT_DIR_PATH>
[env: DOMIPLY_ORIGIN_STORE_GIT_DIR_PATH=]
--domain-checker-target-a <DOMAIN_CHECKER_TARGET_A>
[env: DOMIPLY_DOMAIN_CHECKER_TARGET_A=]
--domain-checker-resolver-addr <DOMAIN_CHECKER_RESOLVER_ADDR>
[env: DOMIPLY_DOMAIN_CHECKER_RESOLVER_ADDR=] [default: 1.1.1.1:53]
--domain-config-store-dir-path <DOMAIN_CONFIG_STORE_DIR_PATH>
[env: DOMIPLY_DOMAIN_CONFIG_STORE_DIR_PATH=]
--domain-acme-store-dir-path <DOMAIN_ACME_STORE_DIR_PATH>
[env: DOMIPLY_DOMAIN_ACME_STORE_DIR_PATH=]
--domain-acme-contact-email <DOMAIN_ACME_CONTACT_EMAIL>
[env: DOMIPLY_DOMAIN_ACME_CONTACT_EMAIL=]
-h, --help
Print help
-V, --version
Print version
```
### HTTPS Support
Domiply will automatically handle setting up HTTPS via LetsEncrypt for both the
domiply frontend site and all domains which it has been configured to serve.
By default HTTPS is not enabled, but can be easily enabled by setting the
following arguments:
```
--https-listen-addr='[::]:443'
--domain-acme-contact-email='foo@example.com'
--domain-acme-store-dir-path='/some/secure/directory'
```
The contact email can be anything, it doesn't have to be real. The store
directory will have all SSL private keys written to it, and so should be
secured as best as possible.
## Development ## Development
Domiply uses nix flakes for building and setting up the development environment. Domiply uses nix flakes for building and setting up the development environment.
@ -19,12 +91,6 @@ nix develop
Within the shell which opens you can do `cargo run` to start a local instance. Within the shell which opens you can do `cargo run` to start a local instance.
In order to create a release binary:
```
nix build
```
## Roadmap ## Roadmap
Check out the `src/service/http_tpl/index.html` file for the current roadmap. Check out the `src/service/http_tpl/index.html` file for the current roadmap.

1
TODO
View File

@ -1,3 +1,4 @@
- list existing domains
- logging - logging
- expect statements (pretend it's "expected", not "expect") - expect statements (pretend it's "expected", not "expect")
- map_unexpected annotation string - map_unexpected annotation string

View File

@ -48,7 +48,6 @@ planned but not yet implemented:</p>
<ul> <ul>
<li>Support for AAAA and CNAME records</li> <li>Support for AAAA and CNAME records</li>
<li>HTTPS support, with automatic certificate syncing via Let's Encrypt.</li>
<li> <li>
Support for more backends than just git repositories, including: Support for more backends than just git repositories, including:
<ul> <ul>