To setup your Pi initially install using the imager, after selecting 64-bit os (lite or normal) go into the settings.
Make sure you:
- set your hostname to what you want
- allow SSH
- set a password & username (I usually just leave the username as default)
- setup a WLAN (if not using ethernet, and make sure to set your country)
I have written a script to set things up for you including installing micro an easy to use command line editor, docker & docker compose and a docker/ docker compose manager. Copy the script in this gist to the pi using scp (change hostname to IP/hostname, and pi to username you set if you changed it):
scp setup-pi-docker.sh pi@hostname:~
When you SSH into the pi using:
ssh pi@hostname
Then set everything up using:
chmod +x setup-pi-docker.sh && sudo setup-pi-docker.sh
Heimdall; A easy dashboard for you to add your apps to
PiHole; DNS server that can be a DNS sinkhole for ads/malware
Many apps don't work on ARM processors, here's some I ran into and any fixes I could find
Does not work, will need a custom compose file for this (couldn't get it to work)
Does not work on RPI, there are some attemped ports, but I could get none of them to work
Proxmox flat out will not work unless you use pimox
If you want to use nginx proxy manager you will need a custom docker compose file. You can deploy this in yacht under the "projects" tab, or just straight from the command line by copying the file with the name docker-compose.yml
and running sudo docker compose up -d
, config is
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
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- db
db:
image: 'yobasystems/alpine-mariadb:latest'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql