mirror of
https://github.com/xiaoxinpro/nginx-proxy-manager-zh.git
synced 2025-02-09 13:08:14 -05:00
Fixes for start-dev and optimisations
This commit is contained in:
parent
bc3d9ec099
commit
6b7ae48570
@ -38,9 +38,6 @@ tasks:
|
|||||||
sh: git log -n 1 --format=%h
|
sh: git log -n 1 --format=%h
|
||||||
VERSION:
|
VERSION:
|
||||||
sh: cat ../.version
|
sh: cat ../.version
|
||||||
env:
|
|
||||||
GO111MODULE: on
|
|
||||||
CGO_ENABLED: 1
|
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
desc: Linting
|
desc: Linting
|
||||||
|
@ -16,7 +16,9 @@ ENV GOPROXY=$GOPROXY \
|
|||||||
ACMESH_HOME=/data/.acme.sh \
|
ACMESH_HOME=/data/.acme.sh \
|
||||||
CERT_HOME=/data/.acme.sh/certs \
|
CERT_HOME=/data/.acme.sh/certs \
|
||||||
LE_CONFIG_HOME=/data/.acme.sh/config \
|
LE_CONFIG_HOME=/data/.acme.sh/config \
|
||||||
LE_WORKING_DIR=/data/.acme.sh
|
LE_WORKING_DIR=/data/.acme.sh \
|
||||||
|
CGO_ENABLED=1 \
|
||||||
|
GO111MODULE=on
|
||||||
|
|
||||||
RUN echo "fs.file-max = 65535" > /etc/sysctl.conf
|
RUN echo "fs.file-max = 65535" > /etc/sysctl.conf
|
||||||
|
|
||||||
|
@ -4,9 +4,13 @@ services:
|
|||||||
|
|
||||||
npm:
|
npm:
|
||||||
image: nginxproxymanager:dev
|
image: nginxproxymanager:dev
|
||||||
|
container_name: "npm.dev"
|
||||||
build:
|
build:
|
||||||
context: ./
|
context: ../
|
||||||
dockerfile: ./dev/Dockerfile
|
dockerfile: ./docker/dev/Dockerfile
|
||||||
|
args:
|
||||||
|
GOPROXY: "${GOPROXY:-}"
|
||||||
|
GOPRIVATE: "${GOPRIVATE:-}"
|
||||||
ports:
|
ports:
|
||||||
- 3080:80
|
- 3080:80
|
||||||
- 3081:81
|
- 3081:81
|
||||||
@ -15,7 +19,7 @@ services:
|
|||||||
DEVELOPMENT: 'true'
|
DEVELOPMENT: 'true'
|
||||||
GOPROXY: "${GOPROXY:-}"
|
GOPROXY: "${GOPROXY:-}"
|
||||||
GOPRIVATE: "${GOPRIVATE:-}"
|
GOPRIVATE: "${GOPRIVATE:-}"
|
||||||
YARN_REGISTRY: "${DAB_YARN_REGISTRY:-}"
|
YARN_REGISTRY: "${YARN_REGISTRY:-}"
|
||||||
NPM_LOG_LEVEL: 'debug'
|
NPM_LOG_LEVEL: 'debug'
|
||||||
PUID: 1000
|
PUID: 1000
|
||||||
PGID: 1000
|
PGID: 1000
|
||||||
@ -23,8 +27,8 @@ services:
|
|||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ../:/app
|
- ../:/app
|
||||||
- ./rootfs/var/www/html:/var/www/html
|
- ./rootfs/var/www/html:/var/www/html
|
||||||
- ../data:/data
|
|
||||||
- ./dev/resolv.conf:/etc/resolv.conf:ro
|
- ./dev/resolv.conf:/etc/resolv.conf:ro
|
||||||
|
- npm_data_vol:/data
|
||||||
working_dir: /app
|
working_dir: /app
|
||||||
networks:
|
networks:
|
||||||
default:
|
default:
|
||||||
@ -32,9 +36,21 @@ services:
|
|||||||
- website1.internal
|
- website1.internal
|
||||||
- website2.internal
|
- website2.internal
|
||||||
- website3.internal
|
- website3.internal
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
pebble:
|
npm-stepca:
|
||||||
|
image: nginxproxymanager/testca
|
||||||
|
container_name: "npm.stepca"
|
||||||
|
volumes:
|
||||||
|
- ./dev/resolv.conf:/etc/resolv.conf:ro
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
aliases:
|
||||||
|
- ca.internal
|
||||||
|
|
||||||
|
npm-pebble:
|
||||||
image: letsencrypt/pebble
|
image: letsencrypt/pebble
|
||||||
|
container_name: "npm.pebble"
|
||||||
command: pebble -config /test/config/pebble-config.json
|
command: pebble -config /test/config/pebble-config.json
|
||||||
environment:
|
environment:
|
||||||
PEBBLE_VA_SLEEPTIME: 2
|
PEBBLE_VA_SLEEPTIME: 2
|
||||||
@ -47,17 +63,20 @@ services:
|
|||||||
# required for https cert dns san
|
# required for https cert dns san
|
||||||
- pebble
|
- pebble
|
||||||
|
|
||||||
stepca:
|
npm-swagger:
|
||||||
image: nginxproxymanager/testca
|
image: swaggerapi/swagger-ui:latest
|
||||||
volumes:
|
container_name: "npm.swagger"
|
||||||
- ./dev/resolv.conf:/etc/resolv.conf:ro
|
ports:
|
||||||
networks:
|
- 3001:80
|
||||||
default:
|
environment:
|
||||||
aliases:
|
URL: "http://${SWAGGER_PUBLIC_DOMAIN:-127.0.0.1:3081}/api/schema"
|
||||||
- ca.internal
|
PORT: '80'
|
||||||
|
depends_on:
|
||||||
|
- npm
|
||||||
|
|
||||||
pdns:
|
npm-pdns:
|
||||||
image: pschiffe/pdns-mysql
|
image: pschiffe/pdns-mysql
|
||||||
|
container_name: "npm.pdns"
|
||||||
volumes:
|
volumes:
|
||||||
- '/etc/localtime:/etc/localtime:ro'
|
- '/etc/localtime:/etc/localtime:ro'
|
||||||
environment:
|
environment:
|
||||||
@ -71,45 +90,38 @@ services:
|
|||||||
PDNS_version_string: 'anonymous'
|
PDNS_version_string: 'anonymous'
|
||||||
PDNS_default_ttl: 1500
|
PDNS_default_ttl: 1500
|
||||||
PDNS_allow_axfr_ips: '127.0.0.0/8,192.0.0.0/8,10.0.0.0/8,172.0.0.0/8'
|
PDNS_allow_axfr_ips: '127.0.0.0/8,192.0.0.0/8,10.0.0.0/8,172.0.0.0/8'
|
||||||
PDNS_gmysql_host: pdns-db
|
PDNS_gmysql_host: npm-pdns-db
|
||||||
PDNS_gmysql_port: 3306
|
PDNS_gmysql_port: 3306
|
||||||
PDNS_gmysql_user: pdns
|
PDNS_gmysql_user: pdns
|
||||||
PDNS_gmysql_password: pdns
|
PDNS_gmysql_password: pdns
|
||||||
PDNS_gmysql_dbname: pdns
|
PDNS_gmysql_dbname: pdns
|
||||||
depends_on:
|
depends_on:
|
||||||
- pdns-db
|
- npm-pdns-db
|
||||||
networks:
|
networks:
|
||||||
default:
|
default:
|
||||||
aliases:
|
aliases:
|
||||||
- ns1.pdns
|
- ns1.pdns
|
||||||
- ns2.pdns
|
- ns2.pdns
|
||||||
|
|
||||||
pdns-db:
|
npm-pdns-db:
|
||||||
image: mariadb:10.7.1
|
image: mariadb:10.7.1
|
||||||
|
container_name: "npm.pdns.db"
|
||||||
environment:
|
environment:
|
||||||
MYSQL_ROOT_PASSWORD: 'pdns'
|
MYSQL_ROOT_PASSWORD: 'pdns'
|
||||||
MYSQL_DATABASE: 'pdns'
|
MYSQL_DATABASE: 'pdns'
|
||||||
MYSQL_USER: 'pdns'
|
MYSQL_USER: 'pdns'
|
||||||
MYSQL_PASSWORD: 'pdns'
|
MYSQL_PASSWORD: 'pdns'
|
||||||
volumes:
|
volumes:
|
||||||
- pdns_mysql_vol:/var/lib/mysql
|
- npm_pdns_mysql_vol:/var/lib/mysql
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ./dev/pdns-db.sql:/docker-entrypoint-initdb.d/01_init.sql:ro
|
- ./dev/pdns-db.sql:/docker-entrypoint-initdb.d/01_init.sql:ro
|
||||||
|
|
||||||
dnsrouter:
|
npm-dnsrouter:
|
||||||
image: jc21/dnsrouter
|
image: jc21/dnsrouter
|
||||||
|
container_name: "npm.dnsrouter"
|
||||||
volumes:
|
volumes:
|
||||||
- ./dev/dnsrouter-config.json.tmp:/dnsrouter-config.json:ro
|
- ./dev/dnsrouter-config.json.tmp:/dnsrouter-config.json:ro
|
||||||
|
|
||||||
swagger:
|
|
||||||
image: swaggerapi/swagger-ui:latest
|
|
||||||
ports:
|
|
||||||
- 3001:80
|
|
||||||
environment:
|
|
||||||
URL: "http://${SWAGGER_PUBLIC_DOMAIN:-127.0.0.1:3081}/api/schema"
|
|
||||||
PORT: '80'
|
|
||||||
depends_on:
|
|
||||||
- npm
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
pdns_mysql_vol:
|
npm_data_vol:
|
||||||
|
npm_pdns_mysql_vol:
|
||||||
|
@ -19,8 +19,8 @@ if hash docker-compose 2>/dev/null; then
|
|||||||
echo -e "${BLUE}❯ ${CYAN}Starting Dev Stack ...${RESET}"
|
echo -e "${BLUE}❯ ${CYAN}Starting Dev Stack ...${RESET}"
|
||||||
|
|
||||||
# Bring up a stack, in steps so we can inject IPs everywhere
|
# Bring up a stack, in steps so we can inject IPs everywhere
|
||||||
docker-compose up -d pdns pdns-db
|
docker-compose up -d npm-pdns npm-pdns-db
|
||||||
PDNS_IP=$(get_container_ip "pdns")
|
PDNS_IP=$(get_container_ip 'npm-pdns')
|
||||||
echo -e "${BLUE}❯ ${YELLOW}PDNS IP is ${PDNS_IP}${RESET}"
|
echo -e "${BLUE}❯ ${YELLOW}PDNS IP is ${PDNS_IP}${RESET}"
|
||||||
|
|
||||||
# adjust the dnsrouter config
|
# adjust the dnsrouter config
|
||||||
@ -30,8 +30,8 @@ if hash docker-compose 2>/dev/null; then
|
|||||||
jq --arg a "$PDNS_IP" '.servers[0].upstreams[1].upstream = $a' "$LOCAL_DNSROUTER_CONFIG" > "$LOCAL_DNSROUTER_CONFIG.tmp"
|
jq --arg a "$PDNS_IP" '.servers[0].upstreams[1].upstream = $a' "$LOCAL_DNSROUTER_CONFIG" > "$LOCAL_DNSROUTER_CONFIG.tmp"
|
||||||
|
|
||||||
# dnsrouter
|
# dnsrouter
|
||||||
docker-compose up -d dnsrouter
|
docker-compose up -d npm-dnsrouter
|
||||||
DNSROUTER_IP=$(get_container_ip 'dnsrouter')
|
DNSROUTER_IP=$(get_container_ip 'npm-dnsrouter')
|
||||||
echo -e "${BLUE}❯ ${YELLOW}DNS Router IP is ${DNSROUTER_IP}${RESET}"
|
echo -e "${BLUE}❯ ${YELLOW}DNS Router IP is ${DNSROUTER_IP}${RESET}"
|
||||||
|
|
||||||
# mount the resolver
|
# mount the resolver
|
||||||
@ -40,14 +40,14 @@ if hash docker-compose 2>/dev/null; then
|
|||||||
printf "nameserver %s\noptions ndots:0" "${DNSROUTER_IP}" > "${LOCAL_RESOLVE}"
|
printf "nameserver %s\noptions ndots:0" "${DNSROUTER_IP}" > "${LOCAL_RESOLVE}"
|
||||||
|
|
||||||
# bring things up, but only what we haven't already created
|
# bring things up, but only what we haven't already created
|
||||||
docker-compose up -d --remove-orphans --force-recreate --build npm pebble stepca swagger
|
docker-compose up -d --remove-orphans --force-recreate --build npm npm-pebble npm-stepca npm-swagger
|
||||||
|
|
||||||
if [ "$1" == "-f" ]; then
|
if [ "$1" == "-f" ]; then
|
||||||
echo -e "${BLUE}❯ ${YELLOW}Following Backend Container:${RESET}"
|
echo -e "${BLUE}❯ ${YELLOW}Following Backend Container:${RESET}"
|
||||||
docker logs -f npmdev-npm-1
|
docker logs -f npm.dev
|
||||||
else
|
else
|
||||||
echo -e "${YELLOW}Tip:${RESET} You can follow the output of some of the containers with:"
|
echo -e "${YELLOW}Tip:${RESET} You can follow the output of some of the containers with:"
|
||||||
echo " docker logs -f npmdev-npm-1"
|
echo " docker logs -f npm.dev"
|
||||||
echo -e "${YELLOW}Tip:${RESET} Open a database terminal with:"
|
echo -e "${YELLOW}Tip:${RESET} Open a database terminal with:"
|
||||||
echo " ./scripts/sqlite"
|
echo " ./scripts/sqlite"
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user