Skip to main content

5.) Installing Nginx

- connect via ssh to your pi

- we create now a directory for nginx, a config.json file and a docker-compose.yml

- typego in:to mkdiryour nginxdockerdata directory; here it ist /media/dockerdata

- type in:

cd nginx/media/dockerdata

-type in:

sudo mkdir

 

- type in:

cd nginx

 

- type in:

nano docker-compose.yml

- paste in:

version: "3"
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: always
    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: "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:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db
  db:
    image: 'jc21/mariadb-aria:latest'
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql

- paste in:

docker-compose up -d

 

- now you have access via webbrowser for your nginx proxy manager : http://ip-adress-of-your-pi:81

 

- on first login the credentials are

username: admin@example.com
passwrod: changeme

 

- create your hosts you need

 

For Apple Users:

You must add an additional line in your nginx config to avoid parsing errors

1.)

- go to portainer 

- open the nginx app container console

- type in:

update

- type in:

apt install nano

- type in:

echo "proxy_hide_header Upgrade;" >> /etc/nginx/conf.d/default.conf

-  exit and restart the nginx app container

2.)

- connect via ssh to your pi

- type in:

sudo nano /etc/apache2/apache2.conf

- after this line : Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"

- type in:

Header unset Upgrade

- save and exit (Strg+x, y, enter)

- reboot