Skip to content

Commit c2b5be3

Browse files
authored
Merge pull request NginxProxyManager#966 from razvanstoica89/master
Add new details about how to run this image on a Raspberry Pi device.
2 parents 1a04863 + 61d9956 commit c2b5be3

File tree

3 files changed

+120
-79
lines changed

3 files changed

+120
-79
lines changed

README.md

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
This project comes as a pre-built docker image that enables you to easily forward to your websites
2020
running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt.
2121

22-
- [Quick Setup](https://nginxproxymanager.com#quick-setup)
22+
- [Quick Setup](#quick-setup)
2323
- [Full Setup](https://nginxproxymanager.com/setup/)
2424
- [Screenshots](https://nginxproxymanager.com/screenshots/)
2525

@@ -52,6 +52,65 @@ I won't go in to too much detail here but here are the basics for someone new to
5252
3. Configure your ___domain name details to point to your home, either with a static ip or a service like DuckDNS or [Amazon Route53](https://github.com/jc21/route53-ddns)
5353
4. Use the Nginx Proxy Manager as your gateway to forward to your other web based services
5454

55+
## Quick Setup
56+
57+
1. Install Docker and Docker-Compose
58+
59+
- [Docker Install documentation](https://docs.docker.com/install/)
60+
- [Docker-Compose Install documentation](https://docs.docker.com/compose/install/)
61+
62+
2. Create a docker-compose.yml file similar to this:
63+
64+
```yml
65+
version: '3'
66+
services:
67+
app:
68+
image: 'jc21/nginx-proxy-manager:latest'
69+
ports:
70+
- '80:80'
71+
- '81:81'
72+
- '443:443'
73+
environment:
74+
DB_MYSQL_HOST: "db"
75+
DB_MYSQL_PORT: 3306
76+
DB_MYSQL_USER: "npm"
77+
DB_MYSQL_PASSWORD: "npm"
78+
DB_MYSQL_NAME: "npm"
79+
volumes:
80+
- ./data:/data
81+
- ./letsencrypt:/etc/letsencrypt
82+
db:
83+
image: 'jc21/mariadb-aria:latest'
84+
environment:
85+
MYSQL_ROOT_PASSWORD: 'npm'
86+
MYSQL_DATABASE: 'npm'
87+
MYSQL_USER: 'npm'
88+
MYSQL_PASSWORD: 'npm'
89+
volumes:
90+
- ./data/mysql:/var/lib/mysql
91+
```
92+
93+
3. Bring up your stack
94+
95+
```bash
96+
docker-compose up -d
97+
```
98+
99+
4. Log in to the Admin UI
100+
101+
When your docker container is running, connect to it on port `81` for the admin interface.
102+
Sometimes this can take a little bit because of the entropy of keys.
103+
104+
[http://127.0.0.1:81](http://127.0.0.1:81)
105+
106+
Default Admin User:
107+
```
108+
109+
Password: changeme
110+
```
111+
112+
Immediately after logging in with this default user you will be asked to modify your details and change your password.
113+
55114

56115
## Contributors
57116

docs/README.md

Lines changed: 0 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -37,75 +37,3 @@ footer: MIT Licensed | Copyright © 2016-present jc21.com
3737
<p>Configure other users to either view or manage their own hosts. Full access permissions are available.</p>
3838
</div>
3939
</div>
40-
41-
### Quick Setup
42-
43-
1. Install Docker and Docker-Compose
44-
45-
- [Docker Install documentation](https://docs.docker.com/install/)
46-
- [Docker-Compose Install documentation](https://docs.docker.com/compose/install/)
47-
48-
2. Create a docker-compose.yml file similar to this:
49-
50-
```yml
51-
version: '3'
52-
services:
53-
app:
54-
image: 'jc21/nginx-proxy-manager:latest'
55-
ports:
56-
- '80:80'
57-
- '81:81'
58-
- '443:443'
59-
environment:
60-
DB_MYSQL_HOST: "db"
61-
DB_MYSQL_PORT: 3306
62-
DB_MYSQL_USER: "npm"
63-
DB_MYSQL_PASSWORD: "npm"
64-
DB_MYSQL_NAME: "npm"
65-
volumes:
66-
- ./data:/data
67-
- ./letsencrypt:/etc/letsencrypt
68-
db:
69-
image: 'jc21/mariadb-aria:latest'
70-
environment:
71-
MYSQL_ROOT_PASSWORD: 'npm'
72-
MYSQL_DATABASE: 'npm'
73-
MYSQL_USER: 'npm'
74-
MYSQL_PASSWORD: 'npm'
75-
volumes:
76-
- ./data/mysql:/var/lib/mysql
77-
```
78-
79-
3. Bring up your stack
80-
81-
```bash
82-
docker-compose up -d
83-
```
84-
85-
4. Log in to the Admin UI
86-
87-
When your docker container is running, connect to it on port `81` for the admin interface.
88-
Sometimes this can take a little bit because of the entropy of keys.
89-
90-
[http://127.0.0.1:81](http://127.0.0.1:81)
91-
92-
Default Admin User:
93-
94-
```
95-
96-
Password: changeme
97-
```
98-
99-
Immediately after logging in with this default user you will be asked to modify your details and change your password.
100-
101-
5. Upgrading to new versions
102-
103-
```bash
104-
docker-compose pull
105-
docker-compose up -d
106-
```
107-
108-
This project will automatically update any databases or other requirements so you don't have to follow
109-
any crazy instructions. These steps above will pull the latest updates and recreate the docker
110-
containers.
111-

docs/setup/README.md

Lines changed: 60 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Full Setup Instructions
22

3-
### MySQL Database
3+
## MySQL Database
44

55
If you opt for the MySQL configuration you will have to provide the database server yourself. You can also use MariaDB. Here are the minimum supported versions:
66

@@ -16,7 +16,7 @@ When using a `mariadb` database, the NPM configuration file should still use the
1616

1717
:::
1818

19-
### Running the App
19+
## Running the App
2020

2121
Via `docker-compose`:
2222

@@ -72,7 +72,7 @@ Then:
7272
docker-compose up -d
7373
```
7474

75-
### Running on Raspberry PI / ARM devices
75+
## Running on Raspberry PI / ARM devices
7676

7777
The docker images support the following architectures:
7878
- amd64
@@ -89,8 +89,62 @@ for a list of supported architectures and if you want one that doesn't exist,
8989
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/)
9090
on Raspbian.
9191

92+
Via `docker-compose`:
93+
94+
```yml
95+
version: "3"
96+
services:
97+
app:
98+
image: 'jc21/nginx-proxy-manager:latest'
99+
restart: always
100+
ports:
101+
# Public HTTP Port:
102+
- '80:80'
103+
# Public HTTPS Port:
104+
- '443:443'
105+
# Admin Web Port:
106+
- '81:81'
107+
environment:
108+
# These are the settings to access your db
109+
DB_MYSQL_HOST: "db"
110+
DB_MYSQL_PORT: 3306
111+
DB_MYSQL_USER: "changeuser"
112+
DB_MYSQL_PASSWORD: "changepass"
113+
DB_MYSQL_NAME: "npm"
114+
# If you would rather use Sqlite uncomment this
115+
# and remove all DB_MYSQL_* lines above
116+
# DB_SQLITE_FILE: "/data/database.sqlite"
117+
# Uncomment this if IPv6 is not enabled on your host
118+
# DISABLE_IPV6: 'true'
119+
volumes:
120+
- ./data/nginx-proxy-manager:/data
121+
- ./letsencrypt:/etc/letsencrypt
122+
depends_on:
123+
- db
124+
db:
125+
image: ghcr.io/linuxserver/mariadb
126+
restart: unless-stopped
127+
environment:
128+
PUID: 1001
129+
PGID: 1001
130+
TZ: "Europe/London"
131+
MYSQL_ROOT_PASSWORD: "changeme"
132+
MYSQL_DATABASE: "npm"
133+
MYSQL_USER: "changeuser"
134+
MYSQL_PASSWORD: "changepass"
135+
volumes:
136+
- ./data/mariadb:/config
137+
```
138+
139+
_Please note, that `DB_MYSQL_*` environment variables will take precedent over `DB_SQLITE_*` var>
140+
141+
Then:
142+
143+
```bash
144+
docker-compose up -d
145+
```
92146

93-
### Initial Run
147+
## Initial Run
94148

95149
After the app is running for the first time, the following will happen:
96150

@@ -101,7 +155,7 @@ After the app is running for the first time, the following will happen:
101155
This process can take a couple of minutes depending on your machine.
102156

103157

104-
### Default Administrator User
158+
## Default Administrator User
105159

106160
```
107161
@@ -110,7 +164,7 @@ Password: changeme
110164
111165
Immediately after logging in with this default user you will be asked to modify your details and change your password.
112166
113-
### Configuration File
167+
## Configuration File
114168
115169
::: warning
116170

0 commit comments

Comments
 (0)