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
- type in: mkdir nginx
- 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
nginx-docker-compose-yml.txt- 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