Skip to content

feat: add Nginx Proxy Manager importer #66

Description

@RentnerKev

Summary

Provide a guided migration path from Nginx Proxy Manager to RentnerProxy.

The goal is to reduce the migration barrier for users with existing NPM
installations.

Import Goals

Import as much safely representable state as possible:

  • Proxy Hosts
  • Redirect Hosts
  • domains
  • upstream targets
  • enable/disable state
  • certificate associations where safely possible
  • Access Lists where they can be mapped to RentnerProxy Access Policies
  • relevant host settings that have a clear RentnerProxy equivalent

Important

Do NOT attempt to blindly translate arbitrary nginx Advanced Config into
Caddy configuration.

Unsupported configuration must be reported clearly as:

manual migration required

rather than silently ignored or incorrectly translated.

Import UX

Prefer:

  • preview before import
  • summary of supported items
  • warnings for unsupported items
  • import result
  • skipped items with reason
  • no partial silent data loss

Safety

  • do not overwrite existing RentnerProxy state without explicit confirmation
  • detect duplicate domains
  • validate imported certificates/private keys
  • preserve RentnerProxy invariants
  • transaction or safe staged import where appropriate

Acceptance Criteria

  • common NPM Proxy Hosts import
  • Redirect Hosts import
  • duplicate/conflict handling
  • preview works
  • unsupported settings reported
  • no arbitrary nginx config conversion
  • real migration fixture/tests
  • imported state works with Caddy after reconciliation

Priority

P1 / adoption feature

Dependencies and sequencing

Can proceed independently of #64 and #65. Map imported access lists to the established Access Policy model #28; report unsupported semantics rather than requiring new policy features. Coordinate import/certificate safety with #72 and the final user journey with #74. Feeds #75.

Alpha 4 prerequisite

Consume durable certificate operations #78 and host/certificate binding #81. The NPM importer, migration preview, conflict handling, and actual import remain Beta work.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: databaseDatabase schema, migrations, and persistence.area: proxyProxy host configuration and request forwarding.enhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions