Skip to content

Commit 2d0f7d5

Browse files
author
Jamie Curnow
committed
Updated documentation, installation instructions and examples
1 parent 06272d3 commit 2d0f7d5

File tree

5 files changed

+67
-82
lines changed

5 files changed

+67
-82
lines changed

doc/DOCKERHUB.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
![Stars](https://img.shields.io/docker/stars/jc21/nginx-proxy-manager.svg?style=for-the-badge)
77
![Pulls](https://img.shields.io/docker/pulls/jc21/nginx-proxy-manager.svg?style=for-the-badge)
88

9+
[nginxproxymanager.jc21.com](https://nginxproxymanager.jc21.com)
910
[View on Github](https://github.com/jc21/nginx-proxy-manager)
1011

1112
This project comes as a pre-built docker image that enables you to easily forward to your websites
@@ -14,17 +15,19 @@ running at home or otherwise, including free SSL, without having to know too muc
1415

1516
## Tags
1617

17-
* latest 2, 2.x.x ([Dockerfile](https://github.com/jc21/nginx-proxy-manager/blob/master/Dockerfile))
18-
* latest-armhf, 2-armhf, 2.x.x-armhf ([Dockerfile](https://github.com/jc21/nginx-proxy-manager/blob/master/Dockerfile.armhf))
18+
* latest 2, 2.x.x ([Dockerfile](https://github.com/jc21/nginx-proxy-manager/blob/master/Dockerfile))
1919
* latest-arm64, 2-arm64, 2.x.x-arm64 ([Dockerfile](https://github.com/jc21/nginx-proxy-manager/blob/master/Dockerfile.arm64))
20-
* 1, 1.x.x ([Dockerfile](https://github.com/jc21/nginx-proxy-manager/blob/1.1.2/Dockerfile))
21-
* 1-armhf, 1.x.x-armhf ([Dockerfile](https://github.com/jc21/nginx-proxy-manager/blob/1.1.2/Dockerfile.armhf))
20+
* latest-arm7l, 2-arm7l, 2.x.x-arm7l ([Dockerfile](https://github.com/jc21/nginx-proxy-manager/blob/master/Dockerfile.arm7l))
2221

2322

2423
## Getting started
2524

2625
Please consult the [installation instructions](https://github.com/jc21/nginx-proxy-manager/blob/master/doc/INSTALL.md) for a complete guide or
27-
if you just want to get up and running in the quickest time possible, grab all the files in the [doc/example/](https://github.com/jc21/nginx-proxy-manager/tree/master/doc/example) folder and run `docker-compose up -d`
26+
if you just want to get up and running in the quickest time possible, grab all the files in the [doc/example/](https://github.com/jc21/nginx-proxy-manager/tree/master/doc/example) folder and run:
27+
28+
```bash
29+
docker-compose up -d
30+
```
2831

2932

3033
## Screenshots

doc/INSTALL.md

Lines changed: 46 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
## Installation and Configuration
22

3-
There's a few ways to configure this app depending on:
3+
If you just want to get up and running in the quickest time possible, grab all the files in
4+
the [doc/example/](https://github.com/jc21/nginx-proxy-manager/tree/master/doc/example)
5+
folder and run:
6+
7+
```bash
8+
docker-compose up -d
9+
```
410

5-
- Whether you use `docker-compose` or vanilla docker
6-
- Which architecture you're running it on (raspberry pi also supported - Testers wanted!)
711

812
### Configuration File
913

@@ -13,32 +17,41 @@ Don't worry, this is easy to do.
1317

1418
The app requires a configuration file to let it know what database you're using.
1519

16-
Here's an example configuration for `mysql` (or mariadb):
20+
Here's an example configuration for `mysql` (or mariadb) that is compatible with the docker-compose example below:
1721

1822
```json
1923
{
2024
"database": {
2125
"engine": "mysql",
22-
"host": "127.0.0.1",
23-
"name": "nginxproxymanager",
24-
"user": "nginxproxymanager",
25-
"password": "password123",
26+
"host": "db",
27+
"name": "npm",
28+
"user": "npm",
29+
"password": "npm",
2630
"port": 3306
2731
}
2832
}
2933
```
3034

31-
Once you've created your configuration file it's easy to mount it in the docker container, examples below.
35+
Once you've created your configuration file it's easy to mount it in the docker container.
3236

3337
**Note:** After the first run of the application, the config file will be altered to include generated encryption keys unique to your installation. These keys
3438
affect the login and session management of the application. If these keys change for any reason, all users will be logged out.
3539

3640

3741
### Database
3842

39-
This app doesn't come with a database, you have to provide one yourself. Currently only `mysql/mariadb` is supported.
43+
This app doesn't come with a database, you have to provide one yourself. Currently only `mysql/mariadb` is supported for the minimum versions:
44+
45+
- MySQL v5.7.8+
46+
- MariaDB v10.2.7+
47+
48+
It's easy to use another docker container for your database also and link it as part of the docker stack, so that's what the following examples
49+
are going to use.
4050

41-
It's easy to use another docker container for your database also and link it as part of the docker stack. Here's an example:
51+
52+
### Running the App
53+
54+
Via `docker-compose`:
4255

4356
```yml
4457
version: "3"
@@ -47,81 +60,51 @@ services:
4760
image: jc21/nginx-proxy-manager:latest
4861
restart: always
4962
ports:
63+
# Public HTTP Port:
5064
- 80:80
51-
- 81:81
65+
# Public HTTPS Port:
5266
- 443:443
67+
# Admin Web Port:
68+
- 81:81
5369
volumes:
70+
# Make sure this config.json file exists as per instructions above:
5471
- ./config.json:/app/config/production.json
5572
- ./data:/data
5673
- ./letsencrypt:/etc/letsencrypt
5774
depends_on:
5875
- db
5976
db:
60-
image: jc21/mariadb-aria
77+
image: mariadb
6178
restart: always
6279
environment:
63-
MYSQL_ROOT_PASSWORD: "password123"
64-
MYSQL_DATABASE: "nginxproxymanager"
65-
MYSQL_USER: "nginxproxymanager"
66-
MYSQL_PASSWORD: "password123"
80+
MYSQL_ROOT_PASSWORD: "npm"
81+
MYSQL_DATABASE: "npm"
82+
MYSQL_USER: "npm"
83+
MYSQL_PASSWORD: "npm"
6784
volumes:
6885
- ./data/mysql:/var/lib/mysql
6986
```
7087
71-
72-
### Running the App
73-
74-
Via `docker-compose`:
75-
76-
```yml
77-
version: "3"
78-
services:
79-
app:
80-
image: jc21/nginx-proxy-manager:latest
81-
restart: always
82-
ports:
83-
- 80:80
84-
- 81:81
85-
- 443:443
86-
volumes:
87-
- ./config.json:/app/config/production.json
88-
- ./data:/data
89-
- ./letsencrypt:/etc/letsencrypt
90-
```
91-
92-
Vanilla Docker:
88+
Then:
9389
9490
```bash
95-
docker run -d \
96-
--name nginx-proxy-manager \
97-
-p 80:80 \
98-
-p 81:81 \
99-
-p 443:443 \
100-
-v /path/to/config.json:/app/config/production.json \
101-
-v /path/to/data:/data \
102-
-v /path/to/letsencrypt:/etc/letsencrypt \
103-
jc21/nginx-proxy-manager:latest
91+
docker-compose up -d
10492
```
10593

10694

107-
### Running on Raspberry PI / `armhf`
95+
### Running on Raspberry PI / ARM devices
10896

109-
I have created `armhf` and `arm64` docker containers just for you. There may be issues with it,
110-
if you have issues please report them here.
97+
There are docker images for all versions of the Rasberry Pi with the exception of the really old `armv6l` versions.
11198

112-
Note: Rpi v2 and below won't work with these images.
99+
The `latest` docker image is a manifest of all the different architecture docker builds supported, so this means
100+
you don't have to worry about doing anything special and you can follow the common instructions above.
113101

114-
```bash
115-
docker run -d \
116-
--name nginx-proxy-manager-app \
117-
-p 80:80 \
118-
-p 81:81 \
119-
-p 443:443 \
120-
-v /path/to/config.json:/app/config/production.json \
121-
-v /path/to/data:/data \
122-
-v /path/to/letsencrypt:/etc/letsencrypt \
123-
jc21/nginx-proxy-manager:latest-armhf
124-
```
102+
Check out the [dockerhub tags](https://cloud.docker.com/repository/registry-1.docker.io/jc21/nginx-proxy-manager/tags)
103+
for a list of supported architectures and if you want one that doesn't exist,
104+
[create a feature request](https://github.com/jc21/nginx-proxy-manager/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=).
105+
106+
Also, if you don't know how to already, follow [this guide to install docker and docker-compose](https://manre-universe.net/how-to-run-docker-and-docker-compose-on-raspbian/)
107+
on Raspbian.
125108

126109

127110
### Initial Run
@@ -162,4 +145,3 @@ value by specifying it as a Docker environment variable. The default if not spec
162145
```
163146
... -e "X_FRAME_OPTIONS=sameorigin" ...
164147
```
165-

doc/example/config.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
"database": {
33
"engine": "mysql",
44
"host": "db",
5-
"name": "nginxproxymanager",
6-
"user": "nginxproxymanager",
7-
"password": "password123",
5+
"name": "npm",
6+
"user": "npm",
7+
"password": "npm",
88
"port": 3306
99
}
1010
}

doc/example/docker-compose.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version: "3"
22
services:
33
app:
4-
image: jc21/nginx-proxy-manager:2
4+
image: jc21/nginx-proxy-manager:latest
55
restart: always
66
ports:
77
- 80:80
@@ -17,12 +17,12 @@ services:
1717
# if you want pretty colors in your docker logs:
1818
- FORCE_COLOR=1
1919
db:
20-
image: jc21/mariadb-aria
20+
image: mariadb:latest
2121
restart: always
2222
environment:
23-
MYSQL_ROOT_PASSWORD: "password123"
24-
MYSQL_DATABASE: "nginxproxymanager"
25-
MYSQL_USER: "nginxproxymanager"
26-
MYSQL_PASSWORD: "password123"
23+
MYSQL_ROOT_PASSWORD: "npm"
24+
MYSQL_DATABASE: "npm"
25+
MYSQL_USER: "npm"
26+
MYSQL_PASSWORD: "npm"
2727
volumes:
2828
- ./data/mysql:/var/lib/mysql

docker-compose.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ services:
44
app:
55
image: jc21/nginx-proxy-manager-base:latest
66
ports:
7-
- 8080:80
8-
- 8081:81
9-
- 8443:443
7+
- 80:80
8+
- 81:81
9+
- 43:443
1010
environment:
1111
- NODE_ENV=development
1212
- FORCE_COLOR=1
@@ -22,7 +22,7 @@ services:
2222
- db
2323
command: node --max_old_space_size=250 --abort_on_uncaught_exception node_modules/nodemon/bin/nodemon.js
2424
db:
25-
image: mariadb:10.3.7
25+
image: jc21/mariadb-aria
2626
environment:
2727
MYSQL_ROOT_PASSWORD: "npm"
2828
MYSQL_DATABASE: "npm"

0 commit comments

Comments
 (0)