Core
The Core stack contains essential containers for server infrastructure: core-npm and core-dockge.
| Service | URL | Purpose | Project |
|---|---|---|---|
| NPM | proxy.fjellhei.men | Reverse proxy | nginxproxymanager.com |
| Dockge | containers.fjellhei.men | Container management UI | louislam/dockge |
Nginx Proxy Manager
"Nginx Proxy Manager is a tool that lets you expose your private web services on your network with free SSL, Docker, and multiple users."
Custom domain
To use NPM as a reverse proxy with SSL, you should obtain a custom domain. FreeDNS providers that offer free domains are also a viable option.
At the core of the home server is Nginx Proxy Manager (NPM), a reverse proxy that routes requests to the applications. Most applications are isolated within the docker network proxy-network but remain accessible through NPM. NPM exposes ports 80/443 (HTTP/S), handles all requests to *.fjellhei.men and directs them to the appropriate container.
For guidance on setting up and configuring the reverse proxy based on your existing network, refer to the documentation.
Dockge
"Dockge is a fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager."
SSH access to the server is restricted to devices with authorized keys, making server management tricky without ssh. Dockge fills the gap, by offering a web-UI for Docker container administration accessible in the browser.
compose.yaml
name: core
services:
proxy:
image: jc21/nginx-proxy-manager:latest
container_name: core-npm
ports:
- 80:80
- 81:81
- 443:443
volumes:
- /fjellheimen/data/core/npm/data:/data
- /fjellheimen/data/core/npm/letsencrypt:/etc/letsencrypt
networks:
- proxy-network
env_file:
- /fjellheimen/stacks/.env
healthcheck:
test:
- CMD
- /bin/check-health
interval: 10s
timeout: 3s
restart: unless-stopped
dockge:
image: louislam/dockge:latest
container_name: core-dockge
user: 1000:1000
group_add:
- "996"
volumes:
- /fjellheimen/data/core/dockge:/app/data
- /var/run/docker.sock:/var/run/docker.sock
- /fjellheimen/stacks:/fjellheimen/stacks
networks:
- proxy-network
env_file:
- /fjellheimen/stacks/.env
environment:
- DOCKGE_STACKS_DIR=/fjellheimen/stacks
restart: unless-stopped
networks:
proxy-network:
name: proxy-network