app
Go to file
2021-11-24 19:09:37 +01:00
debug-stepper Add timing tests & fix caching 2021-07-13 10:28:06 +02:00
haproxy-sni Add screenshot of the SNI test script 2021-06-06 12:42:46 +02:00
.gitignore Add build script & ignore files 2021-11-20 21:43:12 +01:00
404.html Completely refactor certificates and implement renewal & cleanup 2021-11-20 15:30:58 +01:00
certificates.go Fix iterator issue causing 100% CPU load 2021-11-24 19:08:34 +01:00
domains.go Make ACME account persistent & fix issues with certificate resolution 2021-11-20 18:23:09 +01:00
go.mod Update everything & add Justfile 2021-11-20 15:31:10 +01:00
go.sum Update everything & add Justfile 2021-11-20 15:31:10 +01:00
handler.go Add clarification on cache & reduce default branch cache to 15 minutes 2021-11-24 19:09:37 +01:00
handler_test.go Add timing tests & fix caching 2021-07-13 10:28:06 +02:00
helpers.go Completely refactor certificates and implement renewal & cleanup 2021-11-20 15:30:58 +01:00
Justfile Add build script & ignore files 2021-11-20 21:43:12 +01:00
LICENSE Release under EUPL v. 1.2 2021-03-17 01:21:50 +01:00
main.go Fix timeout for HTTP-01, bug in HTTP challenge response & only count domains towards user limit after acquiring locks 2021-11-20 21:39:40 +01:00
README.md Make it possible to disable rate limits 2021-11-20 21:12:28 +01:00

Environment

  • HOST & PORT (default: [::] & 443): listen address.
  • PAGES_DOMAIN (default: codeberg.page): main domain for pages.
  • RAW_DOMAIN (default: raw.codeberg.org): domain for raw resources.
  • GITEA_ROOT (default: https://codeberg.org): root of the upstream Gitea instance.
  • REDIRECT_BROKEN_DNS (default: https://docs.codeberg.org/pages/custom-domains/): info page for setting up DNS, shown for invalid DNS setups.
  • REDIRECT_RAW_INFO (default: https://docs.codeberg.org/pages/raw-content/): info page for raw resources, shown if no resource is provided.
  • ACME_API (default: https://acme-v02.api.letsencrypt.org/directory): set this to https://acme.mock.director to use invalid certificates without any verification (great for debugging).
    ZeroSSL might be better in the future as it doesn't have rate limits and doesn't clash with the official Codeberg certificates (which are using Let's Encrypt), but I couldn't get it to work yet.
  • ACME_EMAIL (default: noreply@example.email): Set this to "true" to accept the Terms of Service of your ACME provider.
  • ACME_EAB_KID & ACME_EAB_HMAC (default: don't use EAB): EAB credentials, for example for ZeroSSL.
  • ACME_ACCEPT_TERMS (default: use self-signed certificate): Set this to "true" to accept the Terms of Service of your ACME provider.
  • ACME_USE_RATE_LIMITS (default: true): Set this to false to disable rate limits, e.g. with ZeroSSL.
  • ENABLE_HTTP_SERVER (default: false): Set this to true to enable the HTTP-01 challenge and redirect all other HTTP requests to HTTPS. Currently only works with port 80.
  • DNS_PROVIDER (default: use self-signed certificate): Code of the ACME DNS provider for the main domain wildcard.
    See https://go-acme.github.io/lego/dns/ for available values & additional environment variables.