D

Docker安装部署nginx proxy manager

HB 网络电脑 2022-01-29

安装方式一

docker run -d \
--name=npm \
-p 80:80 \
-p 81:81 \
-p 6443:443 \
-v /home/npm/data:/data \
-v /home/npm/letsencrypt:/etc/letsencrypt \
--restart=always \
jc21/nginx-proxy-manager

上面冒号左边可以你服务器未被占用的端口,81就是你的管理页面登录端口,jc21/nginx-proxy-manager 可以换成汉化镜像名 chishin/nginx-proxy-manager-zh

安装方式二

创建一个 docker-compose.yml 文件如下内容:

version: '3'
services:
  app:
    image: 'chishin/nginx-proxy-manager-zh:release'
    restart: always
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

部署运行

docker-compose up -d
# 如果使用docker-compose-plugin
docker compose up -d

如果使用docker-compose部署报错看这个链接:
error getting credentials - err: exit status GDBus.Error:org.freedesktop.DBus.Error.ServiceU处理办法

快速升级
在上面创建的部署文件docker-compose.yml同目录下运行:

docker-compose down
docker-compose pull
docker-compose up -d

这个项目将自动更新任何数据库或其他要求,所以你不必遵循任何疯狂的指示。上面的这些步骤将提取最新的更新并重新创建docker容器。

使用 MySQL/MariaDB 数据库
如果选择MySQL配置,则必须自己提供数据库服务器。您也可以使用 MariaDB。以下是支持的最低版本:

MySQL的v5.7.8+
MariaDB v10.2.7+

为数据库使用另一个 docker 容器并将其作为 docker 堆栈的一部分进行链接。

以下是使用 MariaDB 容器时的docker-compose.yml文件内容

version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest' # 可以改为下面的汉化镜像名
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP
    environment:
      # Mysql/Maria connection parameters:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db

  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
      MARIADB_AUTO_UPGRADE: '1'
    volumes:
      - ./mysql:/var/lib/mysql

请注意,如果保留MySQL变量,将无法使用SQLite。

英文镜像名称:jc21/nginx-proxy-manager
官方网站:https://jc21.com/?utm_source=nginx-proxy-manager

汉化镜像名称:chishin/nginx-proxy-manager-zh
汉化项目地址:https://github.com/xiaoxinpro/nginx-proxy-manager-zh

管理地址:127.0.0.1:81
登录用户名:admin@example.com
登录密码:changeme

初次登录后及时修改邮箱及密码

现在你可以通过Nginx Proxy Manager来添加反向代理、SSL证书、自定义网站等功能了。

Nginx Proxy Manager项目指南地址:
https://nginxproxymanager.com/guide/

相关文章:重置Nginx Proxy Manager密码

PREV
docker-compose报错error getting credentials - err: exit status GDBus.Error:org.freedesktop.DBus.Error.ServiceU处理办法
NEXT
重置Nginx Proxy Manager密码