Skip to content

[pull] develop from NginxProxyManager:develop #27

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

Merged
merged 36 commits into from
Jun 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
b09147e
Update frontend copyright year to 2025
mordyovits 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
0cab720
fix: optimize certbot ownership script to reduce container startup time
addievo Apr 20, 2025
09ba400
fix(modal): make textarea font actually monospace
1ukastesar May 26, 2025
b6afc19
Added selectel v2 DNS provider
spions May 28, 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
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
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
13 changes: 12 additions & 1 deletion backend/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
const schema = require('./schema');
const logger = require('./logger').global;

const IP_RANGES_FETCH_ENABLED = process.env.IP_RANGES_FETCH_ENABLED !== 'false';

async function appStart () {
const migrate = require('./migrate');
const setup = require('./setup');
Expand All @@ -13,7 +15,16 @@ async function appStart () {
return migrate.latest()
.then(setup)
.then(schema.getCompiledSchema)
.then(internalIpRanges.fetch)
.then(() => {
if (IP_RANGES_FETCH_ENABLED) {
logger.info('IP Ranges fetch is enabled');
return internalIpRanges.fetch().catch((err) => {
logger.error('IP Ranges fetch failed, continuing anyway:', err.message);
});
} else {
logger.info('IP Ranges fetch is disabled by environment variable');
}
})
.then(() => {
internalCertificate.initTimer();
internalIpRanges.initTimer();
Expand Down
2 changes: 1 addition & 1 deletion backend/internal/stream.js
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ const internalStream = {
.where('is_deleted', 0)
.groupBy('id')
.allowGraph('[owner,certificate]')
.orderByRaw('CAST(incoming_port AS INTEGER) ASC');
.orderBy('incoming_port', 'ASC');

if (access_data.permission_visibility !== 'all') {
query.andWhere('owner_user_id', access.token.getUserId(1));
Expand Down
6 changes: 3 additions & 3 deletions backend/routes/users.js
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ router
return internalUser.setPassword(res.locals.access, payload);
})
.then((result) => {
res.status(201)
res.status(200)
.send(result);
})
.catch(next);
Expand Down Expand Up @@ -212,7 +212,7 @@ router
return internalUser.setPermissions(res.locals.access, payload);
})
.then((result) => {
res.status(201)
res.status(200)
.send(result);
})
.catch(next);
Expand All @@ -238,7 +238,7 @@ router
.post((req, res, next) => {
internalUser.loginAs(res.locals.access, {id: parseInt(req.params.user_id, 10)})
.then((result) => {
res.status(201)
res.status(200)
.send(result);
})
.catch(next);
Expand Down
4 changes: 2 additions & 2 deletions backend/schema/components/stream-list.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"type": "array",
"description": "Proxy Hosts list",
"description": "Streams list",
"items": {
"$ref": "./proxy-host-object.json"
"$ref": "./stream-object.json"
}
}
6 changes: 3 additions & 3 deletions backend/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -492,9 +492,9 @@ boxen@^4.2.0:
widest-line "^3.1.0"

brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
version "1.1.12"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843"
integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
Expand Down
19 changes: 16 additions & 3 deletions docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/30-ownership.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,19 @@ chown -R "$PUID:$PGID" /etc/nginx/nginx
chown -R "$PUID:$PGID" /etc/nginx/nginx.conf
chown -R "$PUID:$PGID" /etc/nginx/conf.d

# Prevents errors when installing python certbot plugins when non-root
chown "$PUID:$PGID" /opt/certbot /opt/certbot/bin
find /opt/certbot/lib/python*/site-packages -not -user "$PUID" -execdir chown "$PUID:$PGID" {} \+
# Certbot directories - optimized approach
CERT_INIT_FLAG="/opt/certbot/.ownership_initialized"

if [ ! -f "$CERT_INIT_FLAG" ]; then
# Prevents errors when installing python certbot plugins when non-root
chown "$PUID:$PGID" /opt/certbot /opt/certbot/bin

# Handle all site-packages directories efficiently
find /opt/certbot/lib -type d -name "site-packages" | while read -r SITE_PACKAGES_DIR; do
chown -R "$PUID:$PGID" "$SITE_PACKAGES_DIR"
done

# Create a flag file to skip this step on subsequent runs
touch "$CERT_INIT_FLAG"
chown "$PUID:$PGID" "$CERT_INIT_FLAG"
fi
8 changes: 8 additions & 0 deletions docs/src/advanced-config/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,14 @@ The easy fix is to add a Docker environment variable to the Nginx Proxy Manager
DISABLE_IPV6: 'true'
```

## Disabling IP Ranges Fetch

By default, NPM fetches IP ranges from CloudFront and Cloudflare during application startup. In environments with limited internet access or to speed up container startup, this fetch can be disabled:

```yml
environment:
IP_RANGES_FETCH_ENABLED: 'false'
```

## Custom Nginx Configurations

Expand Down
2 changes: 1 addition & 1 deletion docs/src/setup/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ services:
# Add any other Stream port you want to expose
# - '21:21' # FTP

environment:
#environment:
# Uncomment this if you want to change the ___location of
# the SQLite DB file within the container
# DB_SQLITE_FILE: "/data/database.sqlite"
Expand Down
6 changes: 3 additions & 3 deletions docs/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1065,9 +1065,9 @@ vfile@^6.0.0:
vfile-message "^4.0.0"

vite@^5.4.8:
version "5.4.14"
resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.14.tgz#ff8255edb02134df180dcfca1916c37a6abe8408"
integrity sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==
version "5.4.19"
resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.19.tgz#20efd060410044b3ed555049418a5e7d1998f959"
integrity sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==
dependencies:
esbuild "^0.21.3"
postcss "^8.4.43"
Expand Down
2 changes: 1 addition & 1 deletion frontend/js/i18n/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
},
"footer": {
"fork-me": "Fork me on Github",
"copy": "&copy; 2024 <a href=\"{url}\" target=\"_blank\">jc21.com</a>.",
"copy": "&copy; 2025 <a href=\"{url}\" target=\"_blank\">jc21.com</a>.",
"theme": "Theme by <a href=\"{url}\" target=\"_blank\">Tabler</a>"
},
"dashboard": {
Expand Down
1 change: 1 addition & 0 deletions frontend/scss/tabler-extra.scss
Original file line number Diff line number Diff line change
Expand Up @@ -167,4 +167,5 @@ $pink: #f66d9b;

textarea.form-control.text-monospace {
font-size: 12px;
font-family: monospace;
}
Loading