|
|
@@ -1,6 +1,44 @@
|
|
|
# Full Setup Instructions
|
|
|
|
|
|
-## MySQL Database
|
|
|
+## Running the App
|
|
|
+
|
|
|
+Create a `docker-compose.yml` file:
|
|
|
+
|
|
|
+```yml
|
|
|
+version: "3"
|
|
|
+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
|
|
|
+
|
|
|
+ # Uncomment the next line if you uncomment anything in the section
|
|
|
+ # environment:
|
|
|
+ # Uncomment this if you want to change the location of
|
|
|
+ # the SQLite DB file within the container
|
|
|
+ # DB_SQLITE_FILE: "/data/database.sqlite"
|
|
|
+
|
|
|
+ # Uncomment this if IPv6 is not enabled on your host
|
|
|
+ # DISABLE_IPV6: 'true'
|
|
|
+
|
|
|
+ volumes:
|
|
|
+ - ./data:/data
|
|
|
+ - ./letsencrypt:/etc/letsencrypt
|
|
|
+```
|
|
|
+
|
|
|
+Then:
|
|
|
+
|
|
|
+```bash
|
|
|
+docker-compose up -d
|
|
|
+```
|
|
|
+
|
|
|
+## Using MySQL / MariaDB Database
|
|
|
|
|
|
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:
|
|
|
|
|
|
@@ -10,15 +48,7 @@ If you opt for the MySQL configuration you will have to provide the database ser
|
|
|
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
|
|
|
are going to use.
|
|
|
|
|
|
-::: warning
|
|
|
-
|
|
|
-When using a `mariadb` database, the NPM configuration file should still use the `mysql` engine!
|
|
|
-
|
|
|
-:::
|
|
|
-
|
|
|
-## Running the App
|
|
|
-
|
|
|
-Via `docker-compose`:
|
|
|
+Here is an example of what your `docker-compose.yml` will look like when using a MariaDB container:
|
|
|
|
|
|
```yml
|
|
|
version: "3"
|
|
|
@@ -27,24 +57,18 @@ services:
|
|
|
image: 'jc21/nginx-proxy-manager:latest'
|
|
|
restart: unless-stopped
|
|
|
ports:
|
|
|
- # Public HTTP Port:
|
|
|
- - '80:80'
|
|
|
- # Public HTTPS Port:
|
|
|
- - '443:443'
|
|
|
- # Admin Web Port:
|
|
|
- - '81:81'
|
|
|
+ # 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:
|
|
|
- # These are the settings to access your db
|
|
|
DB_MYSQL_HOST: "db"
|
|
|
DB_MYSQL_PORT: 3306
|
|
|
DB_MYSQL_USER: "npm"
|
|
|
DB_MYSQL_PASSWORD: "npm"
|
|
|
DB_MYSQL_NAME: "npm"
|
|
|
- # If you would rather use Sqlite uncomment this
|
|
|
- # and remove all DB_MYSQL_* lines above
|
|
|
- # DB_SQLITE_FILE: "/data/database.sqlite"
|
|
|
# Uncomment this if IPv6 is not enabled on your host
|
|
|
# DISABLE_IPV6: 'true'
|
|
|
volumes:
|
|
|
@@ -52,6 +76,7 @@ services:
|
|
|
- ./letsencrypt:/etc/letsencrypt
|
|
|
depends_on:
|
|
|
- db
|
|
|
+
|
|
|
db:
|
|
|
image: 'jc21/mariadb-aria:latest'
|
|
|
restart: unless-stopped
|
|
|
@@ -64,13 +89,11 @@ services:
|
|
|
- ./data/mysql:/var/lib/mysql
|
|
|
```
|
|
|
|
|
|
-_Please note, that `DB_MYSQL_*` environment variables will take precedent over `DB_SQLITE_*` variables. So if you keep the MySQL variables, you will not be able to use Sqlite._
|
|
|
+::: warning
|
|
|
|
|
|
-Then:
|
|
|
+Please note, that `DB_MYSQL_*` environment variables will take precedent over `DB_SQLITE_*` variables. So if you keep the MySQL variables, you will not be able to use SQLite.
|
|
|
|
|
|
-```bash
|
|
|
-docker-compose up -d
|
|
|
-```
|
|
|
+:::
|
|
|
|
|
|
## Running on Raspberry PI / ARM devices
|
|
|
|
|
|
@@ -89,57 +112,7 @@ for a list of supported architectures and if you want one that doesn't exist,
|
|
|
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/)
|
|
|
on Raspbian.
|
|
|
|
|
|
-Via `docker-compose`:
|
|
|
-
|
|
|
-```yml
|
|
|
-version: "3"
|
|
|
-services:
|
|
|
- app:
|
|
|
- image: 'jc21/nginx-proxy-manager:latest'
|
|
|
- restart: unless-stopped
|
|
|
- ports:
|
|
|
- # Public HTTP Port:
|
|
|
- - '80:80'
|
|
|
- # Public HTTPS Port:
|
|
|
- - '443:443'
|
|
|
- # Admin Web Port:
|
|
|
- - '81:81'
|
|
|
- environment:
|
|
|
- # These are the settings to access your db
|
|
|
- DB_MYSQL_HOST: "db"
|
|
|
- DB_MYSQL_PORT: 3306
|
|
|
- DB_MYSQL_USER: "changeuser"
|
|
|
- DB_MYSQL_PASSWORD: "changepass"
|
|
|
- DB_MYSQL_NAME: "npm"
|
|
|
- # If you would rather use Sqlite uncomment this
|
|
|
- # and remove all DB_MYSQL_* lines above
|
|
|
- # DB_SQLITE_FILE: "/data/database.sqlite"
|
|
|
- # Uncomment this if IPv6 is not enabled on your host
|
|
|
- # DISABLE_IPV6: 'true'
|
|
|
- volumes:
|
|
|
- - ./data/nginx-proxy-manager:/data
|
|
|
- - ./letsencrypt:/etc/letsencrypt
|
|
|
- depends_on:
|
|
|
- - db
|
|
|
- db:
|
|
|
- image: yobasystems/alpine-mariadb:latest
|
|
|
- restart: unless-stopped
|
|
|
- environment:
|
|
|
- MYSQL_ROOT_PASSWORD: "changeme"
|
|
|
- MYSQL_DATABASE: "npm"
|
|
|
- MYSQL_USER: "changeuser"
|
|
|
- MYSQL_PASSWORD: "changepass"
|
|
|
- volumes:
|
|
|
- - ./data/mariadb:/var/lib/mysql
|
|
|
-```
|
|
|
-
|
|
|
-_Please note, that `DB_MYSQL_*` environment variables will take precedent over `DB_SQLITE_*` var>
|
|
|
-
|
|
|
-Then:
|
|
|
-
|
|
|
-```bash
|
|
|
-docker-compose up -d
|
|
|
-```
|
|
|
+Please note that the `jc21/mariadb-aria:latest` image might have some problems on some ARM devices, if you want a separate database container, use the `yobasystems/alpine-mariadb:latest` image.
|
|
|
|
|
|
## Initial Run
|
|
|
|