{"id":46166755,"url":"https://github.com/soulseekkor/nginxpanel","last_synced_at":"2026-03-02T13:03:11.923Z","repository":{"id":242382706,"uuid":"636507081","full_name":"SoulSeekkor/NginxPanel","owner":"SoulSeekkor","description":"Blazor reverse proxy front-end for managing Nginx and ACME.sh on Debian 12/13.","archived":false,"fork":false,"pushed_at":"2025-11-12T18:44:16.000Z","size":2593,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-11-12T20:29:03.719Z","etag":null,"topics":["acme","nginx","reverse-proxy"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SoulSeekkor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-05-05T02:17:23.000Z","updated_at":"2025-11-12T18:44:20.000Z","dependencies_parsed_at":"2024-06-12T01:30:04.614Z","dependency_job_id":"eb798beb-c4ac-42b2-8bf2-d279f7723946","html_url":"https://github.com/SoulSeekkor/NginxPanel","commit_stats":null,"previous_names":["soulseekkor/nginxpanel"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/SoulSeekkor/NginxPanel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoulSeekkor%2FNginxPanel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoulSeekkor%2FNginxPanel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoulSeekkor%2FNginxPanel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoulSeekkor%2FNginxPanel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SoulSeekkor","download_url":"https://codeload.github.com/SoulSeekkor/NginxPanel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoulSeekkor%2FNginxPanel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30003477,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T12:19:43.414Z","status":"ssl_error","status_checked_at":"2026-03-02T12:19:02.215Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acme","nginx","reverse-proxy"],"created_at":"2026-03-02T13:03:09.958Z","updated_at":"2026-03-02T13:03:11.902Z","avatar_url":"https://github.com/SoulSeekkor.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NginxPanel\n\nUPDATE 10-1-2025: Updated to switch to Debian and new Nginx package repo, please use a fresh install going forward!\n\n## Table of Contents\n\n* [Introduction](#introduction)\n* [Requirements](#requirements)\n* [Important](#important)\n* [Install](#install)\n* [Running as a service](#running-as-a-service)\n* [Configuration settings](#configuration-settings)\n* [Reporting issues](#reporting-issues)\n* [Submitting fixes or additions](#submitting-fixes-or-additions)\n\n## Introduction\n\nNginxPanel is a **front-end** for Debian 12/13 *only* (for now). This currently requires it to be ran with passwordless sudo when in a VM or on hardware as it must control services.  The best option is running this within an LXC container, it will detect this automatically and not require sudo.\n\n## Requirements\n\n* Debian 12/13 (may work on other versions)\n* .NET 10\n\n*Optional:*\n\n* *OpenSSL for PFX Export (Only when installing certificates)*\n* *LXD/Incus/Proxmox for Deployment*\n\n### Important\n\n This is currently in a very **beta** state!  Some things may not function at all yet!\n\n## Install\n\n1. Install .NET 10:\n\n    ```bash\n    wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb\n    sudo dpkg -i packages-microsoft-prod.deb\n    rm packages-microsoft-prod.deb\n    sudo apt-get update \u0026\u0026 sudo apt-get install -y aspnetcore-runtime-10.0\n    ```\n\n2. Download publish.tar from releases page.\n\n    ```bash\n    wget \u003curl to asset on releases page\u003e\n    ```\n\n3. Extract to folder:\n\n    ```bash\n    mkdir -p /opt/nginxpanel \u0026\u0026 tar -xvf publish.tar -C /opt/nginxpanel\n    ```\n\n4. Give execute rights:\n\n    ```bash\n    chmod +x /opt/nginxpanel/NginxPanel\n    ```\n\n5. Run binary (must run from the same folder so the working directory is correct):\n\n    ```bash\n    cd /opt/nginxpanel\n    /opt/nginxpanel/NginxPanel\n    ```\n\n6. On first launch the self-signed PFX and app.config files will be generated in /etc/nginxpanel, modify the config to customize port and PFX/password.\n7. Nginx can be installed from the application itself, it will give you the option of using the package manager, stable, or mainline versions.\n8. ACME.sh can (and should) be installed from the application itself.\n\n## Running as a service\n\nRun the following command and paste the systemd content to create a service for this application (modify paths as needed):\n\n1. Command to create service:\n\n    ```bash\n    systemctl edit --force --full nginxpanel\n    ```\n\n2. Service file content:\n\n    ```bash\n    [Unit]\n    Description=NginxPanel Service\n    Wants=network-online.target\n    After=network-online.target\n\n    [Service]\n    WorkingDirectory=/opt/nginxpanel\n    ExecStart=/opt/nginxpanel/NginxPanel\n    Restart=always\n    RestartSec=10\n    User=root\n\n    [Install]\n    WantedBy=multi-user.target\n    ```\n\n## Configuration settings\n\nYou can find the generated config file after first run at /etc/nginxpanel/app.conf.\n\u003e NOTE: This file is currently loaded AND resaved upon each run, so unmatched settings/comments will be removed! (This behavior will change at a later date.)\n\n* Port: Port that the application will listen on.\n\n* PFXPath: Full path to where the **self-signed PFX** or **preferred PFX** certificate lives. Auto-generated on first start if none exists.\n\n* PFXPassword: Password for the specificed PFX certificate. Randomly generated on first start for new self-signed certificates.\n\n* DisableAuthWarningOnStart: Used for disabling the toast on startup about not having any authentication settings specified yet (if you wish to run this with no auth).\n\n* Username: Username to use for login (login is not case sensitive).\n\n* Password: Password for your application, 15 characters or more is best (do not reuse your passwords).\n\n* DUOEnabled: Used for turning on DUO push 2FA, must also specify other DUO settings.\n\n* DUOClientID/DUOSecretKey/DUOAPIHostname: Values from the DUO admin portal when you create a new web SDK application.\n\n* DUOUsername: Optional if basic auth username has been set and you are okay with that, otherwise this is required (or can be used as an override).\n\n\u003e [!IMPORTANT]\n\u003e In order for DUO to function correctly, your instance must be DNS resolvable as the DUO redirect will be to the hostname of the instance NOT the IP!\n\n## Reporting issues\n\nIssues can be reported via the [Github issue tracker](https://github.com/SoulSeekkor/NginxPanel/issues).\n\nPlease take the time to review existing issues before submitting your own to prevent duplicates.\n\n## Submitting fixes or additions\n\nFixes are submitted as pull requests via Github.\n\n\u003e **License: GNU GPLv3** read [here](https://www.gnu.org/licenses/agpl-3.0.en.html).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoulseekkor%2Fnginxpanel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoulseekkor%2Fnginxpanel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoulseekkor%2Fnginxpanel/lists"}