diff --git a/README.md b/README.md index 6e71407..2b28752 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ This project comes as a pre-built docker image that enables you to easily forward to your websites running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt. -- [Quick Setup](https://nginxproxymanager.com#quick-setup) +- [Quick Setup](#quick-setup) - [Full Setup](https://nginxproxymanager.com/setup/) - [Screenshots](https://nginxproxymanager.com/screenshots/) @@ -52,6 +52,65 @@ I won't go in to too much detail here but here are the basics for someone new to 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) 4. Use the Nginx Proxy Manager as your gateway to forward to your other web based services +## Quick Setup + +1. Install Docker and Docker-Compose + +- [Docker Install documentation](https://docs.docker.com/install/) +- [Docker-Compose Install documentation](https://docs.docker.com/compose/install/) + +2. Create a docker-compose.yml file similar to this: + +```yml +version: '3' +services: + app: + image: 'jc21/nginx-proxy-manager:latest' + ports: + - '80:80' + - '81:81' + - '443:443' + environment: + DB_MYSQL_HOST: "db" + DB_MYSQL_PORT: 3306 + DB_MYSQL_USER: "npm" + DB_MYSQL_PASSWORD: "npm" + DB_MYSQL_NAME: "npm" + volumes: + - ./data:/data + - ./letsencrypt:/etc/letsencrypt + db: + image: 'jc21/mariadb-aria:latest' + environment: + MYSQL_ROOT_PASSWORD: 'npm' + MYSQL_DATABASE: 'npm' + MYSQL_USER: 'npm' + MYSQL_PASSWORD: 'npm' + volumes: + - ./data/mysql:/var/lib/mysql +``` + +3. Bring up your stack + +```bash +docker-compose up -d +``` + +4. Log in to the Admin UI + +When your docker container is running, connect to it on port `81` for the admin interface. +Sometimes this can take a little bit because of the entropy of keys. + +[http://127.0.0.1:81](http://127.0.0.1:81) + +Default Admin User: +``` +Email: admin@example.com +Password: changeme +``` + +Immediately after logging in with this default user you will be asked to modify your details and change your password. + ## Contributors diff --git a/docs/README.md b/docs/README.md index d19655c..082bb05 100644 --- a/docs/README.md +++ b/docs/README.md @@ -37,75 +37,3 @@ footer: MIT Licensed | Copyright © 2016-present jc21.com

Configure other users to either view or manage their own hosts. Full access permissions are available.

- -### Quick Setup - -1. Install Docker and Docker-Compose - -- [Docker Install documentation](https://docs.docker.com/install/) -- [Docker-Compose Install documentation](https://docs.docker.com/compose/install/) - -2. Create a docker-compose.yml file similar to this: - -```yml -version: '3' -services: - app: - image: 'jc21/nginx-proxy-manager:latest' - ports: - - '80:80' - - '81:81' - - '443:443' - environment: - DB_MYSQL_HOST: "db" - DB_MYSQL_PORT: 3306 - DB_MYSQL_USER: "npm" - DB_MYSQL_PASSWORD: "npm" - DB_MYSQL_NAME: "npm" - volumes: - - ./data:/data - - ./letsencrypt:/etc/letsencrypt - db: - image: 'jc21/mariadb-aria:latest' - environment: - MYSQL_ROOT_PASSWORD: 'npm' - MYSQL_DATABASE: 'npm' - MYSQL_USER: 'npm' - MYSQL_PASSWORD: 'npm' - volumes: - - ./data/mysql:/var/lib/mysql -``` - -3. Bring up your stack - -```bash -docker-compose up -d -``` - -4. Log in to the Admin UI - -When your docker container is running, connect to it on port `81` for the admin interface. -Sometimes this can take a little bit because of the entropy of keys. - -[http://127.0.0.1:81](http://127.0.0.1:81) - -Default Admin User: - -``` -Email: admin@example.com -Password: changeme -``` - -Immediately after logging in with this default user you will be asked to modify your details and change your password. - -5. Upgrading to new versions - -```bash -docker-compose pull -docker-compose up -d -``` - -This project will automatically update any databases or other requirements so you don't have to follow -any crazy instructions. These steps above will pull the latest updates and recreate the docker -containers. - diff --git a/docs/setup/README.md b/docs/setup/README.md index 457674a..baed073 100644 --- a/docs/setup/README.md +++ b/docs/setup/README.md @@ -1,6 +1,6 @@ # Full Setup Instructions -### MySQL Database +## MySQL 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: @@ -16,7 +16,7 @@ When using a `mariadb` database, the NPM configuration file should still use the ::: -### Running the App +## Running the App Via `docker-compose`: @@ -70,7 +70,7 @@ Then: docker-compose up -d ``` -### Running on Raspberry PI / ARM devices +## Running on Raspberry PI / ARM devices The docker images support the following architectures: - amd64 @@ -87,8 +87,62 @@ 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`: -### Initial Run +```yml +version: "3" +services: + app: + image: 'jc21/nginx-proxy-manager:latest' + restart: always + ports: + # Public HTTP Port: + - '8080:80' + # Public HTTPS Port: + - '4443:443' + # Admin Web Port: + - '8181: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: ghcr.io/linuxserver/mariadb + restart: unless-stopped + environment: + PUID: 1001 + PGID: 1001 + TZ: "Europe/London" + MYSQL_ROOT_PASSWORD: "changeme" + MYSQL_DATABASE: "npm" + MYSQL_USER: "changeuser" + MYSQL_PASSWORD: "changepass" + volumes: + - ./data/mariadb:/config +``` + +_Please note, that `DB_MYSQL_*` environment variables will take precedent over `DB_SQLITE_*` var> + +Then: + +```bash +docker-compose up -d +``` + +## Initial Run After the app is running for the first time, the following will happen: @@ -99,7 +153,7 @@ After the app is running for the first time, the following will happen: This process can take a couple of minutes depending on your machine. -### Default Administrator User +## Default Administrator User ``` Email: admin@example.com @@ -108,7 +162,7 @@ Password: changeme Immediately after logging in with this default user you will be asked to modify your details and change your password. -### Configuration File +## Configuration File ::: warning