Skip to content

Commit c26ce20

Browse files
Add new details about how to run this image on a Raspberry Pi device.
1 parent 1a64d44 commit c26ce20

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

@@ -70,7 +70,7 @@ Then:
7070
docker-compose up -d
7171
```
7272

73-
### Running on Raspberry PI / ARM devices
73+
## Running on Raspberry PI / ARM devices
7474

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

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

91-
### Initial Run
145+
## Initial Run
92146

93147
After the app is running for the first time, the following will happen:
94148

@@ -99,7 +153,7 @@ After the app is running for the first time, the following will happen:
99153
This process can take a couple of minutes depending on your machine.
100154

101155

102-
### Default Administrator User
156+
## Default Administrator User
103157

104158
```
105159
@@ -108,7 +162,7 @@ Password: changeme
108162
109163
Immediately after logging in with this default user you will be asked to modify your details and change your password.
110164
111-
### Configuration File
165+
## Configuration File
112166
113167
::: warning
114168

0 commit comments

Comments
 (0)