Skip to content

[pull] develop from NginxProxyManager:develop #31

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 380 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
380 commits
Select commit Hold shift + click to select a range
dfe2588
Refactor API Schema and validation
jc21 Oct 9, 2024
6f7963e
version is obsolete now
mokkin Oct 9, 2024
4572b20
Openapi Schema improvements
jc21 Oct 10, 2024
7c97516
Fix schema issue with cors
jc21 Oct 10, 2024
c39d543
Fix CVE-2024-46256 and CVE-2024-46257
jc21 Oct 11, 2024
d21403c
Move docker login in pipeline
jc21 Oct 11, 2024
aacb230
Merge pull request #4049 from NginxProxyManager/cve-fixes
jc21 Oct 11, 2024
e525b54
Merge pull request #4018 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Oct 11, 2024
304899e
Bump elliptic from 6.5.4 to 6.5.7 in /frontend
dependabot[bot] Oct 11, 2024
b046bb3
Merge pull request #4044 from mokkin/patch-1
jc21 Oct 11, 2024
4e035f2
Update deps in docs
jc21 Oct 11, 2024
e0352ec
Merge pull request #4016 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Oct 11, 2024
d2d104b
Merge pull request #4020 from RafaelSchridi/develop
jc21 Oct 11, 2024
a08d18b
Remove broken script
jc21 Oct 11, 2024
42a5bb6
Merge pull request #3988 from vggscqq/patch-1
jc21 Oct 11, 2024
02a7b43
Merge pull request #3991 from nlynzaad/develop_mysql2
jc21 Oct 11, 2024
6c67224
Merge pull request #4051 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Oct 11, 2024
3a2617e
Bump braces from 3.0.2 to 3.0.3 in /test
dependabot[bot] Oct 11, 2024
f71de74
Bump express from 4.19.2 to 4.20.0 in /backend
dependabot[bot] Oct 11, 2024
0bfa6c9
Merge pull request #3973 from ddshd/proxy-add-set
jc21 Oct 11, 2024
ac47eab
Merge pull request #3942 from cqhtyi/patch-1
jc21 Oct 11, 2024
2e72f25
Merge pull request #3910 from rafaelncarvalho/patch-1
jc21 Oct 11, 2024
d7a7fa3
Merge pull request #3907 from rockenstein-AG/develop
jc21 Oct 11, 2024
9813071
Merge pull request #3864 from ROSEBikesGmbH/egobude-add-edge-dns-by-a…
jc21 Oct 11, 2024
c9d97af
Merge pull request #4052 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Oct 11, 2024
78f3e72
Merge pull request #4015 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Oct 11, 2024
e7e4003
Merge pull request #4053 from NginxProxyManager/master
jc21 Oct 11, 2024
5aeb99b
Version bump
jc21 Oct 11, 2024
b01817b
Adds squid to dev/CI stacks
jc21 Oct 13, 2024
f2bb8f2
Squid ci fixes
jc21 Oct 13, 2024
81b8918
Squid ci fixes
jc21 Oct 13, 2024
7322d35
Fix CI
jc21 Oct 13, 2024
e5aa880
fixed wedos password description
Hadatko Oct 14, 2024
3b89d5f
Merge pull request #4068 from Hadatko/fixWedosParamDescription
jc21 Oct 15, 2024
351ba8d
More tests for certificates, fixed schema problems
jc21 Oct 14, 2024
f48e1b4
Updated swagger cypress package,
jc21 Oct 15, 2024
929ac3b
Adds env var to set certbot acme server
jc21 Oct 16, 2024
5bdc058
Fix issues with certbot command when using LE_SERVER
jc21 Oct 16, 2024
fe2d889
Cypress test for http and dns cert provision
jc21 Oct 16, 2024
e677bfa
Merge pull request #4073 from NginxProxyManager/develop
jc21 Oct 16, 2024
d96a398
Fix forward_scheme validation in Redirection Host
Nephiel Oct 16, 2024
fa2c814
Fix schema validation in Default Site
Nephiel Oct 16, 2024
8497022
Merge pull request #4076 from Nephiel/4074-fix-1
jc21 Oct 16, 2024
edbed1a
Adds tests for settings endpoints
jc21 Oct 16, 2024
2f9e062
bump version
jc21 Oct 16, 2024
5084cb7
Merge pull request #4077 from NginxProxyManager/develop
jc21 Oct 16, 2024
d499e2b
Push PR and github branch builds to separate docker image
jc21 Oct 17, 2024
96c58b2
normalize indentations in certbot-dns-plugins.json
Guiorgy Oct 17, 2024
d92421d
doc(site) - default credentials change
ttodua Oct 18, 2024
68a9baf
minor
ttodua Oct 18, 2024
0cf6b9c
Merge pull request #4084 from ttodua/patch-1
jc21 Oct 22, 2024
ee41bb5
Merge pull request #4078 from Guiorgy/patch-1
jc21 Oct 22, 2024
d7e0558
http2 directive
dreik Oct 23, 2024
dad8d0c
Update _access.conf
chrismaffey Oct 24, 2024
d17c85e
Merge pull request #4107 from chrismaffey/patch-1
jc21 Oct 24, 2024
2e9a4f1
Update put.json
chrismaffey Oct 24, 2024
ffe05eb
Merge pull request #4108 from chrismaffey/patch-2
jc21 Oct 24, 2024
eaf6335
Merge pull request #4106 from dreik/develop
jc21 Oct 24, 2024
1c1cee3
feat: Add leaseweb to certbot-dns-plugins
prospo Oct 25, 2024
e9d4f5b
Remove variable usage from proxy_pass directive to fix resolution issues
mitossoft-rd Oct 27, 2024
a55de38
Fix URL format
mitossoft-rd Oct 28, 2024
f7d3ca0
Cleaning unused variable.
mitossoft-rd Oct 28, 2024
17246e4
Merge pull request #4118 from mitossoft-rd/patch-1
jc21 Oct 30, 2024
25a26d6
Merge pull request #4112 from prospo/develop
jc21 Oct 30, 2024
62c94f3
Bump elliptic from 6.5.7 to 6.6.0 in /frontend
dependabot[bot] Oct 31, 2024
d6791f4
docs(setup): Remove deprecated version from docker-compose.yml
jonasrdl Oct 31, 2024
a0b26b9
Add woff2 format to assets.conf for Cache Assets
irexyc Nov 4, 2024
c171752
Added certbot plugin for Beget DNS service
Medan-rfz Nov 7, 2024
595a742
Change beget plugin
Medan-rfz Nov 10, 2024
10b9a49
Update version 'certbot-beget-plugin'
Medan-rfz Nov 10, 2024
4c89379
Update version 'certbot-beget-plugin'
Medan-rfz Nov 10, 2024
a56342c
Fix credentials
Medan-rfz Nov 10, 2024
2cee211
add First Domains plugin
hatharry Nov 13, 2024
87998a0
Fix bootloop if stream is used for http/https port
Jasparigus Nov 14, 2024
20646e7
Bump @eslint/plugin-kit from 0.2.0 to 0.2.3 in /test
dependabot[bot] Nov 15, 2024
126d3d4
Bump certbot-dns-porkbun
andrew-codechimp Nov 17, 2024
640a1ee
Return generic auth error to prevent user enumeration attacks
tametsi Nov 22, 2024
07a4e57
Merge pull request #4179 from tametsi/develop
jc21 Nov 23, 2024
2075f98
Bump cross-spawn from 7.0.3 to 7.0.6 in /backend
dependabot[bot] Nov 24, 2024
151160a
Update index.md: add link to Proxmox VE Helper-Scripts
muescha Nov 24, 2024
93ea17a
Fix entries of a deleted user break the UI
kerstenremco Nov 25, 2024
586afc0
Merge pull request #4187 from kerstenremco/avatar
jc21 Nov 25, 2024
b20dc5e
Merge pull request #4167 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Nov 25, 2024
cb3e4ed
Merge pull request #4137 from irexyc/add-woff2-asset
jc21 Nov 25, 2024
53ed12b
Merge pull request #4163 from Jasparigus/stream_error_correction
jc21 Nov 25, 2024
4ea50ca
Merge pull request #4126 from jonasrdl/remove-deprecated-version-line
jc21 Nov 25, 2024
81c9038
Refactor user form structure
badkeyy Nov 27, 2024
61e2bde
Merge pull request #4184 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Dec 1, 2024
fe068a8
Bump cross-spawn from 7.0.3 to 7.0.6 in /test
dependabot[bot] Dec 1, 2024
97212f2
Merge pull request #4123 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Dec 2, 2024
8351dd4
Merge pull request #4199 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Dec 2, 2024
03018d2
Merge branch 'NginxProxyManager:develop' into bugfix/fix-user-edit-em…
badkeyy Dec 4, 2024
19ed4c1
Change click to submit
badkeyy Dec 4, 2024
d26e8c1
Change onRender function to always update the dashboard stats
badkeyy Dec 4, 2024
fcf4117
Merge pull request #4206 from badkeyy/bugfix/update-dashboard-stats-o…
jc21 Dec 4, 2024
b3de76c
Merge pull request #4192 from badkeyy/bugfix/fix-user-edit-email-form…
jc21 Dec 4, 2024
1e32280
Add ZoneEdit certbot plugin
badkeyy Dec 4, 2024
d6b98f5
Merge branch 'NginxProxyManager:develop' into develop
Medan-rfz Dec 7, 2024
c6630e8
Update version 'certbot-beget-plugin' & fix credentials content
Medan-rfz Dec 7, 2024
56033be
Add hostingnl
TECH7Fox Dec 8, 2024
c6eca25
Bump nanoid from 3.3.7 to 3.3.8 in /docs
dependabot[bot] Dec 14, 2024
5d087f1
Update DomainOffensive certbot plugin
FabianK3 Dec 15, 2024
ae2ac8a
Merge pull request #4230 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Dec 16, 2024
2a4093c
Merge pull request #4215 from TECH7Fox/patch-1
jc21 Dec 16, 2024
805968a
Merge pull request #4185 from muescha/patch-1
jc21 Dec 16, 2024
f537619
Revert "Change onRender function to always update the dashboard stats"
JohnJanzen-WI Dec 19, 2024
7f9240d
Add custom configuration to dead_host.conf
miguelangel-nubla Dec 19, 2024
3eecf7a
Add custom configuration to 404 hosts
miguelangel-nubla Dec 20, 2024
356b98b
Add Gcore DNS Provider
GergelyGombai Dec 22, 2024
73110d5
Update Gcore apikey format
GergelyGombai Dec 22, 2024
be5278f
Merge pull request #4247 from miguelangel-nubla/patch-1
jc21 Dec 23, 2024
f90d839
Merge pull request #4246 from JanzenJohn/develop
jc21 Dec 23, 2024
ca3ee98
Postgres Support
jc21 Dec 23, 2024
1406e75
Merge pull request #4254 from NginxProxyManager/postgres
jc21 Dec 24, 2024
e2011ee
Bump version
jc21 Dec 24, 2024
fc30a92
Open port for authentik in dev
jc21 Dec 24, 2024
98e5997
upgrade certbot-dns-aliyun plugin from 0.38.1 to 2.0.0
bigcat26 Dec 26, 2024
6415f28
Merge pull request #4256 from bigcat26/develop
jc21 Dec 29, 2024
e50e3de
Merge pull request #4169 from andrew-codechimp/bump-porkbun
jc21 Dec 29, 2024
ec12d8f
Merge pull request #4148 from Medan-rfz/develop
jc21 Dec 29, 2024
b4f4996
Merge pull request #4261 from NginxProxyManager/develop
jc21 Dec 29, 2024
f1c97c7
fix: add missing group_by clause for access_list get
Dim145 Jan 2, 2025
4de4b65
Merge pull request #4252 from GergelyGombai/develop
jc21 Jan 6, 2025
5a234bb
Fix incorrect test folder in ci results
jc21 Jan 6, 2025
9687e9e
Use previous version of powerdns image, newer version is broken
jc21 Jan 7, 2025
080bd0b
Added status of certificates to the certificate list and show on whic…
badkeyy Dec 4, 2024
aedaaa1
Fix whitespace
badkeyy Jan 10, 2025
59362b7
feat: change htpasswd to openssl
icaksh Jan 12, 2025
6343b39
Add --no-deps
badkeyy Jan 15, 2025
c05f969
Merge branch 'develop' into feature/add-zone-edit-certbot-plugin
badkeyy Jan 15, 2025
bb4ecf8
Bump vite from 5.4.8 to 5.4.14 in /docs
dependabot[bot] Jan 22, 2025
3f3aacd
Merge pull request #4274 from Dim145/develop
jc21 Jan 28, 2025
498109a
Merge pull request #4310 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Jan 28, 2025
ad5936c
Update certbot-dns-plugins.json (mijn-host)
nwagenmakers Feb 1, 2025
57cd2a1
Fix type for token.expires
Sander0542 Feb 3, 2025
3091c21
Add SSL certificate to TCP streams if certificate in database
jbowring Mar 24, 2024
3dbc70f
Add SSL tab to stream UI
jbowring Mar 24, 2024
ee4250d
Add SSL column to streams table UI
jbowring Apr 27, 2024
cd80cc8
Add certificate to streams database model
jbowring Jun 2, 2024
4452f01
Fix whitespace in nginx stream config
jbowring Jul 22, 2024
2657af9
Fix stream update not persisting
jbowring Jul 23, 2024
68a7803
Fix api schema after merging latest changes
jc21 Feb 4, 2025
b4793d3
Adds testssl.sh and mkcert to cypress stack
jc21 Feb 4, 2025
6a60627
Cypress test for Streams
jc21 Feb 4, 2025
c56c95a
Merge pull request #4344 from NginxProxyManager/stream-ssl
jc21 Feb 5, 2025
e1c84a5
Merge pull request #4338 from Sander0542/fix/token-expires-type
jc21 Feb 5, 2025
3a01b2c
Merge pull request #4334 from nwagenmakers/mijn-host-patch
jc21 Feb 5, 2025
cfcf78a
Set bearer auth security component
Sander0542 Feb 5, 2025
14d7c35
Fix whitespaces
Sander0542 Feb 5, 2025
a6af5ec
Remove certificate as required from proxy host
Sander0542 Feb 5, 2025
8a15571
Add certificate fields to boolFields
Sander0542 Feb 5, 2025
df48b83
Update order to match others
Sander0542 Feb 5, 2025
0d5d2b1
Merge pull request #4283 from badkeyy/feature/show-active-host-in-cer…
jc21 Feb 5, 2025
dc9d884
Merge pull request #4292 from icaksh/patch-1
jc21 Feb 5, 2025
2a07544
Merge pull request #4235 from FabianK3/update-domainoffensive-certbot…
jc21 Feb 5, 2025
4283677
Merge branch 'develop' into feature/add-zone-edit-certbot-plugin
jc21 Feb 5, 2025
0a9141f
Merge pull request #4208 from badkeyy/feature/add-zone-edit-certbot-p…
jc21 Feb 5, 2025
0a05d8f
Bump version
jc21 Feb 5, 2025
34c703f
Merge branch 'master' into develop
jc21 Feb 5, 2025
c4df89d
Fix dashboard loading loop and freezing the page
jc21 Feb 6, 2025
c5a319c
Merge pull request #4347 from NginxProxyManager/develop
jc21 Feb 6, 2025
b09147e
Update frontend copyright year to 2025
mordyovits Feb 7, 2025
79d28f0
Merge pull request #4346 from Sander0542/feature/security-schemes-com…
jc21 Feb 7, 2025
03fd292
use latest certbot-dns-cpanel version
pustekuchen91 Feb 9, 2025
d147ccd
Fixed error in sqlite installation compose file
wisewtf Feb 14, 2025
312e2ab
[fix]Stream List error code 500
ZeroDeng01 Feb 21, 2025
1c47fc2
feat: Add IP_RANGES_FETCH_ENABLED environment variable
cg-zhou Feb 26, 2025
a394b25
fix eslint error
cg-zhou Feb 26, 2025
bf9d9bd
Fix DomainOffensive certbot plugin
chindocaine Feb 28, 2025
078baa2
Update certbot-dns-plugins.json
henmohr Mar 3, 2025
341ac65
Updates Active24 plugin to API v2
foxtrotcz Mar 9, 2025
18830f8
Update the Gandi plugin.
amateescu Mar 13, 2025
5e66d67
Adds test for dashboard endpoints
jc21 Mar 24, 2025
f5879df
Update certbot-dns-plugins.json
godsgood33 Apr 10, 2025
0cab720
fix: optimize certbot ownership script to reduce container startup time
addievo Apr 20, 2025
d9cdb3d
add Baidu as DNS provider
chenghaopeng May 11, 2025
55dadb2
Merge pull request #1 from chenghaopeng/dns-baidu
chenghaopeng May 11, 2025
76be31c
Update certbot-dns-plugins.json with dns-ddns plugin
astamminger May 8, 2025
4fe3055
Added nic.ru dns provider
vzagorovskiy May 19, 2025
4fb9354
Merge pull request #4547 from vzagorovskiy/develop
jc21 May 21, 2025
98d118c
Merge pull request #4540 from hatharry/develop
jc21 May 21, 2025
7f8adc7
Merge pull request #4538 from astamminger/add_dns_ddnss_plugin
jc21 May 21, 2025
34a46bd
Merge pull request #4534 from chenghaopeng/develop
jc21 May 21, 2025
100a488
Merge pull request #4481 from godsgood33/patch-1
jc21 May 21, 2025
6d6d83c
Merge pull request #4435 from amateescu/update-gandi-plugin
jc21 May 21, 2025
3d8079a
Merge pull request #4426 from foxtrotcz/develop
jc21 May 21, 2025
6f53997
Merge pull request #4411 from henmohr/develop
jc21 May 21, 2025
f327c1e
Merge pull request #4406 from chindocaine/fix_domainoffensive_certbot
jc21 May 21, 2025
34267e0
Update strato dns plugin from 0.2.1 to 0.2.2
MinhPho May 23, 2025
0291cfc
Added spaceship DNS provider
gustavfroding May 23, 2025
09ba400
fix(modal): make textarea font actually monospace
1ukastesar May 26, 2025
b6afc19
Added selectel v2 DNS provider
spions May 28, 2025
77061a7
Update certbot-dns-plugins.json
tom-kst Jun 11, 2025
f11dc5d
Update certbot-dns-plugins.json
tom-kst Jun 11, 2025
7580e65
Bump brace-expansion from 1.1.11 to 1.1.12 in /test
dependabot[bot] Jun 11, 2025
ef69be2
Fix Incorrect Api status codes
h33n0k Jun 12, 2025
b873499
Bump pbkdf2 from 3.1.1 to 3.1.3 in /frontend
dependabot[bot] Jun 24, 2025
30dfa9e
added CDMon DNS provider
aitor422 Jun 25, 2025
40f22d3
Merge pull request #4574 from tom-kst/develop
jc21 Jun 29, 2025
95ee5ca
Merge pull request #4553 from gustavfroding/develop
jc21 Jun 29, 2025
8a69c65
Merge pull request #4551 from MinhPho/feature/update-strato-dns-plugin
jc21 Jun 29, 2025
cc4ee69
Merge pull request #4597 from aitor422/develop
jc21 Jun 29, 2025
c99143f
Merge pull request #4596 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Jun 30, 2025
64f00e8
Merge pull request #4577 from h33n0k/develop
jc21 Jun 30, 2025
7d2369b
Merge pull request #4576 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Jun 30, 2025
60a25ff
Merge pull request #4560 from spions/patch-1
jc21 Jun 30, 2025
a573450
Bump axios from 1.7.7 to 1.10.0 in /test
dependabot[bot] Jun 30, 2025
9a96fbb
Bump vite from 5.4.14 to 5.4.19 in /docs
dependabot[bot] Jun 30, 2025
d0ec8e8
Bump elliptic from 6.6.0 to 6.6.1 in /frontend
dependabot[bot] Jun 30, 2025
ec81f24
Add cypress test to list streams
jc21 Jun 30, 2025
97dbbdd
Fix incorrect swagger for streams list
jc21 Jun 30, 2025
a87283b
Merge pull request #4603 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Jun 30, 2025
af5d3ec
Merge pull request #4602 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Jun 30, 2025
4c23f22
Merge pull request #4601 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Jun 30, 2025
cbb1fe4
Merge pull request #4381 from ZeroDeng01/ZeroDeng01-patch-1
jc21 Jun 30, 2025
6f04543
Merge pull request #4368 from wisewtf/patch-1
jc21 Jun 30, 2025
23fd1fe
Merge branch 'develop' into update-cpanel-certbot-plugin
jc21 Jun 30, 2025
ccd69c8
Update certbot-dns-plugins.json
jc21 Jun 30, 2025
9758c12
Bump brace-expansion from 1.1.11 to 1.1.12 in /backend
dependabot[bot] Jun 30, 2025
0792fc0
Remove unnecessary Promise.resolve() calls
cg-zhou Jun 30, 2025
7047750
Merge pull request #4358 from pustekuchen91/update-cpanel-certbot-plugin
jc21 Jun 30, 2025
ff3116a
Merge pull request #4604 from NginxProxyManager/dependabot/npm_and_ya…
jc21 Jun 30, 2025
d98f4b4
Merge pull request #4398 from cg-zhou/feature/add-ip-ranges-env-var
jc21 Jun 30, 2025
27e3f73
Merge pull request #4353 from mordyovits/patch-1
jc21 Jun 30, 2025
94f6756
Merge pull request #4557 from 1ukastesar/patch-1
jc21 Jun 30, 2025
0ee4d04
Merge pull request #4491 from addievo/fix-certbot-startup-time
jc21 Jun 30, 2025
c58f3f3
Bump version
jc21 Jun 30, 2025
953faea
Merge branch 'master' into develop
jc21 Jun 30, 2025
b84762b
Merge pull request #4605 from NginxProxyManager/develop
jc21 Jul 1, 2025
3735f3c
Formating for ownership script
jc21 Jul 7, 2025
aade8b4
Revert "Update 'global/certbot-dns-plugins.json' to apply SSL certs f…
jc21 Jul 8, 2025
ddd3355
Merge pull request #4645 from NginxProxyManager/revert-4574-develop
jc21 Jul 8, 2025
db9f256
Update PR comments to highlight verification requirements
jc21 Jul 8, 2025
36e3449
Update cloudflare dependency
jc21 Jul 8, 2025
817021a
Update s6 overlay
jc21 Jul 8, 2025
70894e5
Remove cloudflare dep for certbot plugin, tested
jc21 Jul 8, 2025
ed1d90e
Fix powerdns dns plugin install, deps are outrageously old ;(
jc21 Jul 9, 2025
c97b8a3
Some auto formatting changes suggested by ide
jc21 Jul 9, 2025
5f54490
Set SETUPTOOLS_USE_DISTUTILS for all plugin installs, seems like they…
jc21 Jul 9, 2025
1357774
Add SKIP_CERTBOT_OWNERSHIP env var support to skip certbot folder own…
jc21 Jul 9, 2025
1710a26
Bump version
jc21 Jul 9, 2025
63ae924
Merge branch 'master' into develop
jc21 Jul 9, 2025
307cb94
Merge pull request #4651 from NginxProxyManager/develop
jc21 Jul 9, 2025
9a0383b
Move SKIP_CERTBOT_OWNERSHIP check around the entire certbot code
jc21 Jul 9, 2025
ddbafb6
bump version
jc21 Jul 9, 2025
1b0929a
Merge branch 'master' into develop
jc21 Jul 9, 2025
304b38e
Fix ownership if statement
jc21 Jul 9, 2025
4f9df89
Ownership script shakeup
jc21 Jul 9, 2025
a23dc24
Tweak ownership output
jc21 Jul 9, 2025
54d463a
Safer and flexible boolean env vars
jc21 Jul 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: 'Close stale issues and PRs'
on:
schedule:
- cron: '30 1 * * *'
workflow_dispatch:

jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
stale-issue-label: 'stale'
stale-pr-label: 'stale'
stale-issue-message: 'Issue is now considered stale. If you want to keep it open, please comment :+1:'
stale-pr-message: 'PR is now considered stale. If you want to keep it open, please comment :+1:'
close-issue-message: 'Issue was closed due to inactivity.'
close-pr-message: 'PR was closed due to inactivity.'
days-before-stale: 182
days-before-close: 365
operations-per-run: 50
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,7 @@
._*
.vscode
certbot-help.txt
test/node_modules
*/node_modules
docker/dev/dnsrouter-config.json.tmp
docker/dev/resolv.conf
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.11.0
2.12.6
222 changes: 122 additions & 100 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,8 @@ pipeline {
BUILD_VERSION = getVersion()
MAJOR_VERSION = '2'
BRANCH_LOWER = "${BRANCH_NAME.toLowerCase().replaceAll('\\\\', '-').replaceAll('/', '-').replaceAll('\\.', '-')}"
COMPOSE_PROJECT_NAME = "npm_${BRANCH_LOWER}_${BUILD_NUMBER}"
COMPOSE_FILE = 'docker/docker-compose.ci.yml'
BUILDX_NAME = "npm_${BRANCH_LOWER}_${BUILD_NUMBER}"
COMPOSE_INTERACTIVE_NO_CLI = 1
BUILDX_NAME = "${COMPOSE_PROJECT_NAME}"
}
stages {
stage('Environment') {
Expand All @@ -45,7 +43,7 @@ pipeline {
steps {
script {
// Defaults to the Branch name, which is applies to all branches AND pr's
buildxPushTags = "-t docker.io/jc21/${IMAGE}:github-${BRANCH_LOWER}"
buildxPushTags = "-t docker.io/nginxproxymanager/${IMAGE}-dev:${BRANCH_LOWER}"
}
}
}
Expand All @@ -58,6 +56,13 @@ pipeline {
sh 'sed -i -E "s/(version-)[0-9]+\\.[0-9]+\\.[0-9]+(-green)/\\1${BUILD_VERSION}\\2/" README.md'
}
}
stage('Docker Login') {
steps {
withCredentials([usernamePassword(credentialsId: 'jc21-dockerhub', passwordVariable: 'dpass', usernameVariable: 'duser')]) {
sh 'docker login -u "${duser}" -p "${dpass}"'
}
}
}
}
}
stage('Builds') {
Expand Down Expand Up @@ -92,80 +97,110 @@ pipeline {
sh 'yarn install'
sh 'yarn build'
}
dir(path: 'docs/.vuepress/dist') {
sh 'tar -czf ../../docs.tgz *'
}
archiveArtifacts(artifacts: 'docs/docs.tgz', allowEmptyArchive: false)
}
}
stage('Cypress') {
steps {
// Creating will also create the network prior to
// using it in parallel stages below and mitigating
// a race condition.
sh 'docker-compose build cypress-sqlite'
sh 'docker-compose build cypress-mysql'
sh 'docker-compose create cypress-sqlite'
sh 'docker-compose create cypress-mysql'
}
}
stage('Test Sqlite') {
environment {
COMPOSE_PROJECT_NAME = "npm_${BRANCH_LOWER}_${BUILD_NUMBER}_sqlite"
COMPOSE_FILE = 'docker/docker-compose.ci.yml:docker/docker-compose.ci.sqlite.yml'
}
when {
not {
equals expected: 'UNSTABLE', actual: currentBuild.result
}
}
steps {
sh 'rm -rf ./test/results/junit/*'
sh './scripts/ci/fulltest-cypress'
}
post {
always {
// Dumps to analyze later
sh 'mkdir -p debug/sqlite'
sh 'docker logs $(docker-compose ps --all -q fullstack) > debug/sqlite/docker_fullstack.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q stepca) > debug/sqlite/docker_stepca.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q pdns) > debug/sqlite/docker_pdns.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q pdns-db) > debug/sqlite/docker_pdns-db.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q dnsrouter) > debug/sqlite/docker_dnsrouter.log 2>&1'
junit 'test/results/junit/*'
sh 'docker-compose down --remove-orphans --volumes -t 30 || true'
}
unstable {
dir(path: 'test/results') {
archiveArtifacts(allowEmptyArchive: true, artifacts: '**/*', excludes: '**/*.xml')
}
}
}
}
stage('Integration Tests') {
parallel {
stage('Sqlite') {
steps {
// Bring up a stack
sh 'docker-compose up -d fullstack-sqlite'
sh './scripts/wait-healthy $(docker-compose ps --all -q fullstack-sqlite) 120'
// Stop and Start it, as this will test it's ability to restart with existing data
sh 'docker-compose stop fullstack-sqlite'
sh 'docker-compose start fullstack-sqlite'
sh './scripts/wait-healthy $(docker-compose ps --all -q fullstack-sqlite) 120'

// Run tests
sh 'rm -rf test/results-sqlite'
sh 'docker-compose up cypress-sqlite'
// Get results
sh 'docker cp -L "$(docker-compose ps --all -q cypress-sqlite):/test/results" test/results-sqlite'
}
post {
always {
// Dumps to analyze later
sh 'mkdir -p debug/sqlite'
sh 'docker-compose logs fullstack-sqlite > debug/sqlite/docker_fullstack_sqlite.log'
// Cypress videos and screenshot artifacts
dir(path: 'test/results-sqlite') {
archiveArtifacts allowEmptyArchive: true, artifacts: '**/*', excludes: '**/*.xml'
}
junit 'test/results-sqlite/junit/*'
}
stage('Test Mysql') {
environment {
COMPOSE_PROJECT_NAME = "npm_${BRANCH_LOWER}_${BUILD_NUMBER}_mysql"
COMPOSE_FILE = 'docker/docker-compose.ci.yml:docker/docker-compose.ci.mysql.yml'
}
when {
not {
equals expected: 'UNSTABLE', actual: currentBuild.result
}
}
steps {
sh 'rm -rf ./test/results/junit/*'
sh './scripts/ci/fulltest-cypress'
}
post {
always {
// Dumps to analyze later
sh 'mkdir -p debug/mysql'
sh 'docker logs $(docker-compose ps --all -q fullstack) > debug/mysql/docker_fullstack.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q stepca) > debug/mysql/docker_stepca.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q pdns) > debug/mysql/docker_pdns.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q pdns-db) > debug/mysql/docker_pdns-db.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q dnsrouter) > debug/mysql/docker_dnsrouter.log 2>&1'
junit 'test/results/junit/*'
sh 'docker-compose down --remove-orphans --volumes -t 30 || true'
}
unstable {
dir(path: 'test/results') {
archiveArtifacts(allowEmptyArchive: true, artifacts: '**/*', excludes: '**/*.xml')
}
}
stage('Mysql') {
steps {
// Bring up a stack
sh 'docker-compose up -d fullstack-mysql'
sh './scripts/wait-healthy $(docker-compose ps --all -q fullstack-mysql) 120'
}
}
stage('Test Postgres') {
environment {
COMPOSE_PROJECT_NAME = "npm_${BRANCH_LOWER}_${BUILD_NUMBER}_postgres"
COMPOSE_FILE = 'docker/docker-compose.ci.yml:docker/docker-compose.ci.postgres.yml'
}
when {
not {
equals expected: 'UNSTABLE', actual: currentBuild.result
}
}
steps {
sh 'rm -rf ./test/results/junit/*'
sh './scripts/ci/fulltest-cypress'
}
post {
always {
// Dumps to analyze later
sh 'mkdir -p debug/postgres'
sh 'docker logs $(docker-compose ps --all -q fullstack) > debug/postgres/docker_fullstack.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q stepca) > debug/postgres/docker_stepca.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q pdns) > debug/postgres/docker_pdns.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q pdns-db) > debug/postgres/docker_pdns-db.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q dnsrouter) > debug/postgres/docker_dnsrouter.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q db-postgres) > debug/postgres/docker_db-postgres.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q authentik) > debug/postgres/docker_authentik.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q authentik-redis) > debug/postgres/docker_authentik-redis.log 2>&1'
sh 'docker logs $(docker-compose ps --all -q authentik-ldap) > debug/postgres/docker_authentik-ldap.log 2>&1'

// Run tests
sh 'rm -rf test/results-mysql'
sh 'docker-compose up cypress-mysql'
// Get results
sh 'docker cp -L "$(docker-compose ps --all -q cypress-mysql):/test/results" test/results-mysql'
}
post {
always {
// Dumps to analyze later
sh 'mkdir -p debug/mysql'
sh 'docker-compose logs fullstack-mysql > debug/mysql/docker_fullstack_mysql.log'
sh 'docker-compose logs db > debug/mysql/docker_db.log'
// Cypress videos and screenshot artifacts
dir(path: 'test/results-mysql') {
archiveArtifacts allowEmptyArchive: true, artifacts: '**/*', excludes: '**/*.xml'
}
junit 'test/results-mysql/junit/*'
}
junit 'test/results/junit/*'
sh 'docker-compose down --remove-orphans --volumes -t 30 || true'
}
unstable {
dir(path: 'test/results') {
archiveArtifacts(allowEmptyArchive: true, artifacts: '**/*', excludes: '**/*.xml')
}
}
}
Expand All @@ -177,38 +212,22 @@ pipeline {
}
}
steps {
withCredentials([usernamePassword(credentialsId: 'jc21-dockerhub', passwordVariable: 'dpass', usernameVariable: 'duser')]) {
sh 'docker login -u "${duser}" -p "${dpass}"'
sh "./scripts/buildx --push ${buildxPushTags}"
}
sh "./scripts/buildx --push ${buildxPushTags}"
}
}
stage('Docs / Comment') {
parallel {
stage('Master Docs') {
when {
allOf {
branch 'master'
not {
equals expected: 'UNSTABLE', actual: currentBuild.result
}
}
}
steps {
npmDocsReleaseMaster()
}
}
stage('Develop Docs') {
stage('Docs Job') {
when {
allOf {
branch 'develop'
branch pattern: "^(develop|master)\$", comparator: "REGEXP"
not {
equals expected: 'UNSTABLE', actual: currentBuild.result
}
}
}
steps {
npmDocsReleaseDevelop()
build wait: false, job: 'nginx-proxy-manager-docs', parameters: [string(name: 'docs_branch', value: "$BRANCH_NAME")]
}
}
stage('PR Comment') {
Expand All @@ -222,7 +241,18 @@ pipeline {
}
steps {
script {
npmGithubPrComment("Docker Image for build ${BUILD_NUMBER} is available on [DockerHub](https://cloud.docker.com/repository/docker/jc21/${IMAGE}) as `jc21/${IMAGE}:github-${BRANCH_LOWER}`\n\n**Note:** ensure you backup your NPM instance before testing this PR image! Especially if this PR contains database changes.", true)
npmGithubPrComment("""Docker Image for build ${BUILD_NUMBER} is available on [DockerHub](https://cloud.docker.com/repository/docker/nginxproxymanager/${IMAGE}-dev):
```
nginxproxymanager/${IMAGE}-dev:${BRANCH_LOWER}
```

> [!NOTE]
> Ensure you backup your NPM instance before testing this image! Especially if there are database changes.
> This is a different docker image namespace than the official image.

> [!WARNING]
> Changes and additions to DNS Providers require verification by at least 2 members of the community!
""", true)
}
}
}
Expand All @@ -231,23 +261,15 @@ pipeline {
}
post {
always {
sh 'docker-compose down --remove-orphans --volumes -t 30'
sh 'echo Reverting ownership'
sh 'docker run --rm -v $(pwd):/data jc21/ci-tools chown -R $(id -u):$(id -g) /data'
}
success {
juxtapose event: 'success'
sh 'figlet "SUCCESS"'
sh 'docker run --rm -v "$(pwd):/data" jc21/ci-tools chown -R "$(id -u):$(id -g)" /data'
printResult(true)
}
failure {
archiveArtifacts(artifacts: 'debug/**/*.*', allowEmptyArchive: true)
juxtapose event: 'failure'
sh 'figlet "FAILURE"'
}
unstable {
archiveArtifacts(artifacts: 'debug/**/*.*', allowEmptyArchive: true)
juxtapose event: 'unstable'
sh 'figlet "UNSTABLE"'
}
}
}
Expand Down
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<p align="center">
<img src="https://nginxproxymanager.com/github.png">
<br><br>
<img src="https://img.shields.io/badge/version-2.11.0-green.svg?style=for-the-badge">
<img src="https://img.shields.io/badge/version-2.12.6-green.svg?style=for-the-badge">
<a href="https://hub.docker.com/repository/docker/jc21/nginx-proxy-manager">
<img src="https://img.shields.io/docker/stars/jc21/nginx-proxy-manager.svg?style=for-the-badge">
</a>
Expand All @@ -19,7 +19,7 @@ running at home or otherwise, including free SSL, without having to know too muc

## Project Goal

I created this project to fill a personal need to provide users with a easy way to accomplish reverse
I created this project to fill a personal need to provide users with an easy way to accomplish reverse
proxying hosts with SSL termination and it had to be so easy that a monkey could do it. This goal hasn't changed.
While there might be advanced options they are optional and the project should be as simple as possible
so that the barrier for entry here is low.
Expand Down Expand Up @@ -56,10 +56,9 @@ I won't go in to too much detail here but here are the basics for someone new to
2. Create a docker-compose.yml file similar to this:

```yml
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
image: 'docker.io/jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
Expand Down
8 changes: 0 additions & 8 deletions backend/.vscode/settings.json

This file was deleted.

2 changes: 1 addition & 1 deletion backend/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ app.use(function (req, res, next) {
});

app.use(require('./lib/express/jwt')());
app.use('/', require('./routes/api/main'));
app.use('/', require('./routes/main'));

// production error handler
// no stacktraces leaked to user
Expand Down
2 changes: 1 addition & 1 deletion backend/config/default.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"database": {
"engine": "mysql",
"engine": "mysql2",
"host": "db",
"name": "npm",
"user": "npm",
Expand Down
Loading