Skip to content

Commit 6a7733f

Browse files
committed
Upgraded Nginx Proxy Manager to version 2.2.0.
1 parent 6d72979 commit 6a7733f

File tree

2 files changed

+39
-26
lines changed

2 files changed

+39
-26
lines changed

Dockerfile

Lines changed: 37 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ FROM jlesage/baseimage:alpine-3.9-v2.4.3
1111
ARG DOCKER_IMAGE_VERSION=unknown
1212

1313
# Define software versions.
14-
ARG NGINX_PROXY_MANAGER_VERSION=2.0.14
14+
ARG NGINX_PROXY_MANAGER_VERSION=2.2.0
1515

1616
# Define software download URLs.
17-
ARG NGINX_PROXY_MANAGER_URL=https://github.com/jc21/nginx-proxy-manager/archive/${NGINX_PROXY_MANAGER_VERSION}.tar.gz
17+
ARG NGINX_PROXY_MANAGER_URL=https://github.com/jc21/nginx-proxy-manager/archive/v${NGINX_PROXY_MANAGER_VERSION}.tar.gz
1818

1919
# Define working directory.
2020
WORKDIR /tmp
@@ -84,44 +84,56 @@ RUN \
8484
mkdir nginx-proxy-manager && \
8585
curl -# -L ${NGINX_PROXY_MANAGER_URL} | tar xz --strip 1 -C nginx-proxy-manager && \
8686

87-
# Build Nginx Proxy Manager.
88-
echo "Building Nginx Proxy Manager..." && \
87+
sed-patch "s/\"version\": \"0.0.0\",/\"version\": \"${NGINX_PROXY_MANAGER_VERSION}\",/" nginx-proxy-manager/frontend/package.json && \
88+
sed-patch "s/\"version\": \"0.0.0\",/\"version\": \"${NGINX_PROXY_MANAGER_VERSION}\",/" nginx-proxy-manager/backend/package.json && \
89+
8990
cp -r nginx-proxy-manager /app && \
90-
cd /app && \
91+
92+
# Build Nginx Proxy Manager frontend.
93+
echo "Building Nginx Proxy Manager frontend..." && \
94+
cd /app/frontend && \
9195
yarn install && \
92-
npm --cache /tmp/.npm run-script build && \
93-
rm -rf node_modules && \
96+
yarn build && \
97+
/tmp/bin/node-prune && \
98+
cd /tmp && \
99+
100+
# Build Nginx Proxy Manager backend.
101+
echo "Building Nginx Proxy Manager backend..." && \
102+
cd /app/backend && \
94103
yarn install --prod && \
95104
/tmp/bin/node-prune && \
96105
cd /tmp && \
97106

98107
# Install Nginx Proxy Manager.
99108
echo "Installing Nginx Proxy Manager..." && \
100-
mkdir -p /opt/nginx-proxy-manager/src && \
101-
cp -r /app/dist /opt/nginx-proxy-manager/ && \
102-
cp -r /app/node_modules /opt/nginx-proxy-manager/ && \
103-
cp -r /app/src/backend /opt/nginx-proxy-manager/src/ && \
104-
cp -r /app/package.json /opt/nginx-proxy-manager/ && \
105-
cp -r /app/knexfile.js /opt/nginx-proxy-manager/ && \
106-
cp -r nginx-proxy-manager/rootfs/etc/nginx /etc/ && \
107-
cp -r nginx-proxy-manager/rootfs/var/www /var/ && \
109+
mkdir -p /opt && \
110+
cp -r /app/backend /opt/nginx-proxy-manager && \
111+
cp -r /app/frontend/dist /opt/nginx-proxy-manager/frontend && \
112+
cp -r nginx-proxy-manager/docker/rootfs/etc/nginx /etc/ && \
113+
cp -r nginx-proxy-manager/docker/rootfs/var/www /var/ && \
114+
cp -r nginx-proxy-manager/docker/rootfs/etc/letsencrypt.ini /etc/ && \
115+
116+
# Remove the nginx development config.
117+
rm /etc/nginx/conf.d/dev.conf && \
108118

109119
# Change the management interface port to the unprivileged port 8181.
110-
sed-patch 's|81|8181|' /opt/nginx-proxy-manager/src/backend/index.js && \
111-
sed-patch 's|81|8181|' /etc/nginx/conf.d/default.conf && \
120+
sed-patch 's|81 default|8181 default|' /etc/nginx/conf.d/production.conf && \
121+
122+
# Change the management interface root.
123+
sed-patch 's|/app/frontend;|/opt/nginx-proxy-manager/frontend;|' /etc/nginx/conf.d/production.conf && \
112124

113125
# Change the HTTP port 80 to the unprivileged port 8080.
114-
sed-patch 's|listen 80;|listen 8080;|' /etc/nginx/conf.d/default.conf && \
115-
sed-patch 's|listen 80;|listen 8080;|' /opt/nginx-proxy-manager/src/backend/templates/letsencrypt-request.conf && \
116-
sed-patch 's|listen 80;|listen 8080;|' /opt/nginx-proxy-manager/src/backend/templates/_listen.conf && \
117-
sed-patch 's|listen 80 |listen 8080 |' /opt/nginx-proxy-manager/src/backend/templates/default.conf && \
126+
sed-patch 's|80;|8080;|' /etc/nginx/conf.d/default.conf && \
127+
sed-patch 's|listen 80;|listen 8080;|' /opt/nginx-proxy-manager/templates/letsencrypt-request.conf && \
128+
sed-patch 's|listen 80;|listen 8080;|' /opt/nginx-proxy-manager/templates/_listen.conf && \
129+
sed-patch 's|listen 80 |listen 8080 |' /opt/nginx-proxy-manager/templates/default.conf && \
118130

119131
# Change the HTTPs port 443 to the unprivileged port 4443.
120-
sed-patch 's|listen 443 |listen 4443 |' /etc/nginx/conf.d/default.conf && \
121-
sed-patch 's|listen 443 |listen 4443 |' /opt/nginx-proxy-manager/src/backend/templates/_listen.conf && \
132+
sed-patch 's|443 |4443 |' /etc/nginx/conf.d/default.conf && \
133+
sed-patch 's|listen 443 |listen 4443 |' /opt/nginx-proxy-manager/templates/_listen.conf && \
122134

123135
# Fix nginx test command line.
124-
sed-patch 's|-g "error_log off;"||' /opt/nginx-proxy-manager/src/backend/internal/nginx.js && \
136+
sed-patch 's|-g "error_log off;"||' /opt/nginx-proxy-manager/internal/nginx.js && \
125137

126138
# Remove the `user` directive, since we want nginx to run as non-root.
127139
sed-patch 's|user root;|#user root;|' /etc/nginx/nginx.conf && \
@@ -137,13 +149,13 @@ RUN \
137149
ln -sf /config/nginx/ip_ranges.conf /etc/nginx/conf.d/include/ip_ranges.conf && \
138150

139151
# Make sure the config file for resovers is stored in persistent volume.
140-
rm /etc/nginx/conf.d/include/resolvers.conf && \
141152
ln -sf /config/nginx/resolvers.conf /etc/nginx/conf.d/include/resolvers.conf && \
142153

143154
# Make sure nginx cache is stored on the persistent volume.
144155
ln -s /config/nginx/cache /var/lib/nginx/cache && \
145156

146157
# Make sure the manager config file is stored in persistent volume.
158+
rm -r /opt/nginx-proxy-manager/config && \
147159
mkdir /opt/nginx-proxy-manager/config && \
148160
ln -s /config/production.json /opt/nginx-proxy-manager/config/production.json && \
149161

rootfs/startapp.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ set -e # Exit immediately if a command exits with a non-zero status.
44
set -u # Treat unset variables as an error.
55

66
export NODE_ENV=production
7+
export SUPPRESS_NO_CONFIG_WARNING=1
78

89
cd /opt/nginx-proxy-manager
9-
exec node --abort_on_uncaught_exception --max_old_space_size=250 /opt/nginx-proxy-manager/src/backend/index.js
10+
exec node --abort_on_uncaught_exception --max_old_space_size=250 index.js

0 commit comments

Comments
 (0)