From c7195f8a61aaa9bf6462f49e8a3aeda23acba9b9 Mon Sep 17 00:00:00 2001 From: "Community Hass.io Add-ons Bot" Date: Wed, 17 Apr 2019 18:32:08 +0000 Subject: [PATCH] :tada: Release of add-on Nginx Proxy Manager 0.1.0 --- README.md | 25 ++++++++++++++++++ nginxproxymanager/CHANGELOG.md | 1 + nginxproxymanager/README.md | 46 +++++++++++++++++++++++++++++++++ nginxproxymanager/config.json | 37 ++++++++++++++++++++++++++ nginxproxymanager/icon.png | Bin 0 -> 10076 bytes nginxproxymanager/logo.png | Bin 0 -> 4895 bytes 6 files changed, 109 insertions(+) create mode 100644 nginxproxymanager/CHANGELOG.md create mode 100644 nginxproxymanager/README.md create mode 100644 nginxproxymanager/config.json create mode 100644 nginxproxymanager/icon.png create mode 100644 nginxproxymanager/logo.png diff --git a/README.md b/README.md index 04e0a3f9..293efd33 100644 --- a/README.md +++ b/README.md @@ -285,6 +285,20 @@ A secure and decentralized communication platform. [:books: Matrix add-on documentation][addon-doc-matrix] +### ✓ [Nginx Proxy Manager][addon-nginxproxymanager] + +![Latest Version][nginxproxymanager-version-shield] +![Supports armhf Architecture][nginxproxymanager-armhf-shield] +![Supports armv7 Architecture][nginxproxymanager-armv7-shield] +![Supports aarch64 Architecture][nginxproxymanager-aarch64-shield] +![Supports amd64 Architecture][nginxproxymanager-amd64-shield] +![Supports i386 Architecture][nginxproxymanager-i386-shield] +![Docker Pulls][nginxproxymanager-pulls-shield] + +Manage Nginx proxy hosts with a simple, powerful interface + +[:books: Nginx Proxy Manager add-on documentation][addon-doc-nginxproxymanager] + ### ✓ [Node-RED][addon-node-red] ![Latest Version][node-red-version-shield] @@ -576,6 +590,7 @@ on the correct GitHub repository matching the add-on. - [Open an issue for the add-on: Lutron Certificate][lutron-cert-issue] - [Open an issue for the add-on: MQTT Server & Web client][mqtt-issue] - [Open an issue for the add-on: Matrix][matrix-issue] +- [Open an issue for the add-on: Nginx Proxy Manager][nginxproxymanager-issue] - [Open an issue for the add-on: Node-RED][node-red-issue] - [Open an issue for the add-on: Phlex][phlex-issue] - [Open an issue for the add-on: Pi-hole][pi-hole-issue] @@ -823,6 +838,16 @@ SOFTWARE. [matrix-armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg [matrix-armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg [matrix-i386-shield]: https://img.shields.io/badge/i386-yes-green.svg +[addon-nginxproxymanager]: https://github.com/hassio-addons/addon-nginx-proxy-manager/tree/v0.1.0 +[addon-doc-nginxproxymanager]: https://github.com/hassio-addons/addon-nginx-proxy-manager/blob/v0.1.0/README.md +[nginxproxymanager-issue]: https://github.com/hassio-addons/addon-nginx-proxy-manager/issues +[nginxproxymanager-version-shield]: https://img.shields.io/badge/version-v0.1.0-blue.svg +[nginxproxymanager-pulls-shield]: https://img.shields.io/docker/pulls/hassioaddons/nginxproxymanager-armhf.svg +[nginxproxymanager-aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg +[nginxproxymanager-amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg +[nginxproxymanager-armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg +[nginxproxymanager-armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg +[nginxproxymanager-i386-shield]: https://img.shields.io/badge/i386-yes-green.svg [addon-node-red]: https://github.com/hassio-addons/addon-node-red/tree/v3.0.1 [addon-doc-node-red]: https://github.com/hassio-addons/addon-node-red/blob/v3.0.1/README.md [node-red-issue]: https://github.com/hassio-addons/addon-node-red/issues diff --git a/nginxproxymanager/CHANGELOG.md b/nginxproxymanager/CHANGELOG.md new file mode 100644 index 00000000..e28b3fc7 --- /dev/null +++ b/nginxproxymanager/CHANGELOG.md @@ -0,0 +1 @@ +🎉 Initial add-on release! \ No newline at end of file diff --git a/nginxproxymanager/README.md b/nginxproxymanager/README.md new file mode 100644 index 00000000..d049f59d --- /dev/null +++ b/nginxproxymanager/README.md @@ -0,0 +1,46 @@ +# Community Hass.io Add-ons: Nginx Proxy Manager + +[![Release][release-shield]][release] ![Project Stage][project-stage-shield] ![Project Maintenance][maintenance-shield] + +[![Discord][discord-shield]][discord] [![Community Forum][forum-shield]][forum] + +[![Buy me a coffee][buymeacoffee-shield]][buymeacoffee] + +[![Support my work on Patreon][patreon-shield]][patreon] + +Manage Nginx proxy hosts with a simple, powerful interface. + +## About + +This add-on enables you to easily forward incoming connections to anywhere, +including free SSL, without having to know too much about Nginx +or Let’s Encrypt. + +Forward your domain to your Home Assistant, Hass.io add-ons, or websites running +at home or anywhere else, straight from a simple, powerful interface. + +Want to protect the website with a username/password? Well, it can do that too! +Enable authentication and create a list of usernames/password that can access +that specific application. + +For the power users, you can customize the behavior of each host in the +Nginx proxy manager by providing additional Nginx directives. + +[Click here for the full documentation][docs] + +![Nginx Proxy Manager screenshot][screenshot] + +[buymeacoffee-shield]: https://www.buymeacoffee.com/assets/img/guidelines/download-assets-sm-2.svg +[buymeacoffee]: https://www.buymeacoffee.com/frenck +[discord-shield]: https://img.shields.io/discord/478094546522079232.svg +[discord]: https://discord.me/hassioaddons +[docs]: https://github.com/hassio-addons/addon-nginx-proxy-manager/blob/v0.1.0/README.md +[forum-shield]: https://img.shields.io/badge/community-forum-brightgreen.svg +[forum]: https://community.home-assistant.io/t/community-hass-io-add-on-nginx-proxy-manager/111830?u=frenck +[maintenance-shield]: https://img.shields.io/maintenance/yes/2019.svg +[patreon-shield]: https://www.frenck.nl/images/patreon.png +[patreon]: https://www.patreon.com/frenck +[project-stage-shield]: https://img.shields.io/badge/project%20stage-experimental-yellow.svg +[release-shield]: https://img.shields.io/badge/version-v0.1.0-blue.svg +[release]: https://github.com/hassio-addons/addon-nginx-proxy-manager/tree/v0.1.0 +[screenshot]: https://github.com/hassio-addons/addon-nginx-proxy-manager/raw/master/images/screenshot.gif \ No newline at end of file diff --git a/nginxproxymanager/config.json b/nginxproxymanager/config.json new file mode 100644 index 00000000..66edd229 --- /dev/null +++ b/nginxproxymanager/config.json @@ -0,0 +1,37 @@ +{ + "name": "Nginx Proxy Manager", + "version": "0.1.0", + "slug": "nginxproxymanager", + "description": "Manage Nginx proxy hosts with a simple, powerful interface", + "url": "https://github.com/hassio-addons/addon-nginx-proxy-manager", + "webui": "http://[HOST]:[PORT:81]", + "startup": "application", + "arch": [ + "aarch64", + "amd64", + "armhf", + "armv7", + "i386" + ], + "ports": { + "80": 80, + "81": 81, + "443": 443 + }, + "ports_description": { + "80": "HTTP Entrance port", + "81": "Proxy management web interface", + "443": "HTTPS/SSL Entrance port" + }, + "boot": "auto", + "hassio_api": true, + "hassio_role": "default", + "map": [ + "ssl:rw" + ], + "options": {}, + "schema": { + "log_level": "match(^(trace|debug|info|notice|warning|error|fatal)$)?" + }, + "image": "hassioaddons/nginxproxymanager-{arch}" +} \ No newline at end of file diff --git a/nginxproxymanager/icon.png b/nginxproxymanager/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c3c19c33b8f7dc46ba0f200cc6acb4e479eb5358 GIT binary patch literal 10076 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 z zGH`0W0*f&Uug-`;cvvh7A_;i5Y-!!n!li2$fFC2kPshcf-UsNKXl3kX`guoODrN@F z1NgsDr1w^_mgl)utQISE76+O>PR7IC7Tn%u#@C0l@O=;E`$Yb37dnXaC90OMx&K%K zXhAY+cVysrVLFa&OGO1q)vgSj-Ia>kHF3y_kHQ=8#NpRraab4`j|y_}cRedT#wE6A*WGP(Xe@3HGw zaA&6lcS+d#|6l()d|kGfs(2dkLK00RwCJnS(N*F=SGf~irA~B~xzJxZ9}i2iaCMu4 z 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 RcWM9t002ovPDHLkV1j@4Ys~-v literal 0 HcmV?d00001