SimpleACME
Sign inCreate account →
Invoice Ninja · HTTPS GATEWAY GUIDE

Invoice Ninja certificates.
One DNS setup. Easier renewals.

Give your existing Invoice Ninja HTTP deployment a trusted HTTPS endpoint with SimpleACME and Traefik. Keep your normal DNS API credentials off the renewal host, avoid an HTTP challenge listener, and reuse the same challenge CNAME for later renewals.

Prepare your Invoice Ninja domain →Gateway integration for the browser/API endpoint. This is not a claim of a native Invoice Ninja ACME plugin or a complete application installation.
Invoice Ninja HTTPS architecture: clients connect to Traefik, SimpleACME handles delegated DNS-01, and the existing service uses a private HTTP endpoint
Invoice Ninja gateway architecture illustrated by SimpleACME. This is a diagram, not an application screenshot. Example backend port 8000 must be checked against your installed version.
Money, Budgeting & Management

Why put Invoice Ninja behind this certificate workflow?

Powerful tool to invoice clients online.

For a private Invoice Ninja deployment, maintaining public port-80 validation just for renewal can add routing work. A native DNS-01 client can avoid that listener but may need a supported DNS-provider integration and its credentials. SimpleACME is our preferred option when you want a permanent challenge delegation and one renewal workflow across different services.

Keep application access controls, backups and network policy in place. This guide adds an HTTPS endpoint to an existing service; it does not install Invoice Ninja, provision its database, or make an unauthenticated application safe to expose.

Configure Invoice Ninja step by step

  1. Check the existing Invoice Ninja endpoint

    Keep Invoice Ninja installed using its upstream deployment instructions. The linked source includes an example listener or published HTTP endpoint on port 8000. Confirm your own private endpoint from the gateway host before copying the router. The port is a documented example, not a universal default for every version or installation.

  2. Choose the HTTPS hostname

    Use a dedicated hostname such as invoice-ninja.example.com at the domain root. Make it resolve to your gateway for your clients, using private DNS if appropriate. Keep the application backend reachable only by the gateway and preserve the application’s authentication.

  3. Prepare the domain and permanent CNAME

    Add the intended hostname in SimpleACME. A single-domain demo can prepare DNS before payment and cannot send TXT updates. Copy the exact _acme-challenge owner and assigned CNAME target from the domain card into your authoritative public DNS, then use Check CNAME.

  4. Connect the certificate renewal client

    Activate the matching paid domain, then configure Traefik’s simpleacme certificate resolver using the subscriber Traefik guide. Preseed the ACME-DNS account file with that domain’s existing credentials. The public /register route is closed; the client must reuse its registration. Use staging first.

  5. Align Invoice Ninja with the HTTPS origin

    Use invoice-ninja.example.com as the public origin for this Invoice Ninja deployment. If your installed version exposes a public/base URL, allowed-host, callback or trusted-proxy setting, configure it using the linked project instructions. Trust forwarded headers only from the actual gateway. The gateway fragment below does not change Invoice Ninja configuration or install the application.

  6. Add the Invoice Ninja HTTPS router

    Merge the named router and service below into the file watched by your existing Traefik file provider. Replace the example hostname and documentation address 192.0.2.10 with the real hostname and private backend IP; use your actual published HTTP port. Keep existing routers and services.

  7. Verify the complete client journey

    After staging succeeds, select the production certificate authority in your resolver. Open https://invoice-ninja.example.com/ from an authorized client and check hostname, certificate chain and expiry. Test Invoice Ninja login, uploads, WebSockets, API requests and callbacks that your deployment uses. This route covers HTTP traffic; SSH, SMTP, media, discovery and other transports require their own configuration.

  8. Keep renewal and monitoring enabled

    Leave the challenge CNAME in place and keep Traefik running with persistent ACME storage and current paid domain access. Monitor DNS challenge activity in SimpleACME and the actual served certificate independently. A TXT change is an authorization event, not proof that Invoice Ninja renewed or installed a certificate.

Check the private Invoice Ninja backend

curl --head --connect-timeout 5 http://192.0.2.10:8000/

Run from the gateway network after replacing the documentation IP and port with your actual Invoice Ninja endpoint. Authentication responses and redirects can be expected; do not disable authentication to make a test return 200.

Invoice Ninja Traefik router example

# Merge these entries into the file watched by your existing Traefik file provider.
# Requires the simpleacme resolver and your pre-registered ACME-DNS account.
# Replace the hostname and 192.0.2.10 with your real hostname and private backend IP.
http:
  routers:
    invoice-ninja:
      rule: 'Host(`invoice-ninja.example.com`)'
      entryPoints: [websecure]
      service: invoice-ninja
      tls:
        certResolver: simpleacme
  services:
    invoice-ninja:
      loadBalancer:
        passHostHeader: true
        servers:
          - url: 'http://192.0.2.10:8000'
Download Invoice Ninja router fragment ↓

The fragment assumes a websecure entrypoint and a simpleacme resolver already configured by the subscriber Traefik guide. Merge entries into the watched dynamic file rather than overwriting other applications. Replace the sample hostname with the exact paid hostname; keep credentials and certificate storage private.

Verify the trusted HTTPS endpoint

curl --head --resolve invoice-ninja.example.com:443:192.0.2.20 https://invoice-ninja.example.com/

Replace the second documentation address with the gateway IP and use this after a trusted production certificate is installed. Staging certificates are intentionally untrusted. Do not hide trust or hostname errors when validating the production setup.

Compare ACME validation for Invoice Ninja

RequirementSimpleACME + gatewayHTTP-01Native DNS-01
Inbound HTTP solely for validationNot neededPort 80 challenge must be reachableNot needed
Normal DNS-provider API credential on renewal hostNot needed; separate challenge credentialsNot neededUsually a provider credential or authenticated integration
DNS host API compatibilityRequires the challenge CNAME, not a native DNS APIIndependent of DNS APIDepends on the selected DNS client/plugin
Wildcard validationDNS-01 with appropriate paid coverage and client configurationNot supportedSupported by suitable clients
Recurring DNS configurationKeep one CNAME per challenge ownerMaintain challenge routingMaintain credential scope and integration
Application integrationReuse the gateway across HTTP services; configure each app originMaintain responder/routing and certificate deploymentMaintain ACME client and certificate deployment
Price and dependencyYearly SimpleACME subscription; gateway and service availabilityCan be free with an existing client/CAProvider and client dependent

Our recommendation for Invoice Ninja: choose SimpleACME when private-service validation, fewer DNS credentials and a reusable gateway matter most. HTTP-01 remains a valid choice for an already-public responder; narrowly scoped native DNS automation can also suit an existing deployment.

Client guides and application sources

Traefik full configuration · Certbot hooks · Certbot Docker · win-acme PowerShell · AI setup assistant. Complete subscriber assets require active paid access. For native certificate imports, use the application’s deployment documentation and a suitable certificate-deployment hook.

Source review: 2026-11-08. Product versions and deployment packaging change; verify the actual listener and application settings before applying the example.

Software summary from Awesome-Selfhosted’s Invoice Ninja record, licensed CC BY-SA 3.0. Gateway instructions and illustration by SimpleACME. No vendor affiliation is claimed.

Invoice Ninja certificate FAQ

Does SimpleACME issue the Invoice Ninja certificate?

SimpleACME publishes the delegated DNS-01 TXT challenge. In this guide Traefik requests, renews, stores and serves the certificate. The portal does not issue certificates or receive your certificate private key.

Does Invoice Ninja need a native SimpleACME plugin?

This guide uses an HTTPS gateway in front of an existing Invoice Ninja HTTP deployment. It does not require a native Invoice Ninja ACME plugin. Keep the application’s public URL, trusted proxy and callback configuration aligned with the gateway.

Do I give Invoice Ninja or Traefik my DNS API key?

This delegated workflow uses the assigned SimpleACME challenge credentials rather than a normal DNS-provider API token. You still need authorized DNS access for the initial challenge CNAME, and must protect the challenge credentials.

Can Invoice Ninja remain private?

Yes. The gateway needs to be reachable by authorized clients, but a public inbound HTTP-01 listener is unnecessary. The challenge DNS must resolve publicly; the ACME client needs outbound access to the certificate authority and SimpleACME.

Does the example port work for every Invoice Ninja installation?

No. Port 8000 is an endpoint found in the linked upstream deployment or documentation example. Confirm your installed service’s actual listener, published port and protocol before applying the router. Development and packaged deployments can differ.

Can I use a wildcard for Invoice Ninja?

Use a suitable paid wildcard domain and DNS-01 client configuration if several service hostnames share a domain. *.example.com matches first-level names such as app.example.com; it does not by itself cover example.com or deeper names.

Does this install a certificate inside Invoice Ninja?

The example terminates TLS at Traefik and uses a private HTTP backend. It does not import a certificate into the application or encrypt that backend hop. Native TLS, end-to-end encryption and non-HTTP transports require the project’s certificate deployment instructions.

Will certificate renewal continue automatically?

Keep Traefik running with persistent ACME storage, the permanent CNAME, network access and an enabled paid domain. Monitor both renewal errors and the certificate served to clients. Existing certificates remain valid until expiry; a challenge update alone does not prove successful renewal.

More Invoice Ninja setup resources

Search all service guides → · Find your DNS host’s CNAME guide →

ONE CNAME. A REPEATABLE WORKFLOW.

Your next certificate. A little less complicated.

Keep your DNS provider and your ACME client.
Prepare your domain before activating paid updates.

Create your account →Explore the integrations