Skip to main content

Python client for Nginx Proxy Manager

Project description

npm-client

PyPI Version

Python client for Nginx Proxy Manager

Installation

pip install npm-client

Examples

Create class

from npm_client import NginxClient
npmClient = NginxClient( "NGINX_PROXY_MANAGER_DOMAIN", "NGINX_PROXY_MANAGER_USER", "NGINX_PROXY_MANAGER_PASSWORD" )

where:

  • NGINX_PROXY_MANAGER_DOMAIN: URL of Nginx Proxy Manager WebUi page
  • NGINX_PROXY_MANAGER_USER: Token of Nginx Proxy Manager WebUi
  • NGINX_PROXY_MANAGER_PASSWORD: Password of Nginx Proxy Manager WebUi

or using environment variables "NGINX_PROXY_MANAGER_DOMAIN" and "NGINX_PROXY_MANAGER_USER" and "NGINX_PROXY_MANAGER_PASSWORD":

from dotenv import load_dotenv
import os
from npm_client import NginxClient
load_dotenv()

def main():
    npmClient = NginxClient( 
        base_url=os.getenv('NGINX_PROXY_MANAGER_DOMAIN'), 
        login=os.getenv('NGINX_PROXY_MANAGER_USER'),
        password=os.getenv('NGINX_PROXY_MANAGER_PASSWORD')
    )

    print( npmClient.get_proxy_host_by_id(1) )
if __name__ == "__main__":
    main() 

Methods

# 
npmClient.get_certificates()

npmClient.get_certificate_by_name(certificate_name="home.homelab.lan")

npmClient.get_proxy_hosts()

npmClient.get_proxy_host_by_domian(domain="home.homelab.lan")

npmClient.get_proxy_host_by_id(id=1)

npmClient.create_proxy_host(
    domain_names=["router.homelab.lan", "router2.homelab.lan"],
    forward_scheme="http",
    forward_host="192.168.1.1",
    forward_port="8080",
    caching_enabled=True,
    allow_websocket_upgrade=True,
    ssl_forced=True,
    certificate_id=1,
)

npmClient.delete_proxy_host(id=1)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

npm_client-1.0.0.tar.gz (4.2 kB view details)

Uploaded Source

File details

Details for the file npm_client-1.0.0.tar.gz.

File metadata

  • Download URL: npm_client-1.0.0.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for npm_client-1.0.0.tar.gz
Algorithm Hash digest
SHA256 58cc4b4ad9d809c5c9bf83b0034ae3242fac0b46ab112c0f1a9a76759b598e19
MD5 eaa3f812c755a24ee81450bb788fe95f
BLAKE2b-256 4995124ae04fd4d5acabf05502e9223f5b419b7c560421d0fb1ef2eb5b9f9eaa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page