Docker

Useful Docker Programs for Home

These are three popular programs to get started with, as ready-to-use compose.yaml. Create a separate folder for each program, put the file in it and start with docker compose up -d. Use the latest version the makers recommend: check on the project page whether the version is still correct.

Portainer: manage Docker in your browser

Portainer gives you an overview of all containers, images and volumes, with buttons to start and stop them. Handy if you still find command-line work intimidating.

services:
  portainer:
    image: portainer/portainer-ce:lts
    container_name: portainer
    restart: unless-stopped
    ports:
      - "9443:9443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer-data:/data

volumes:
  portainer-data:

Open https://your-server:9443 and create an admin within a few minutes after starting. Note: Portainer gets access to Docker itself (docker.sock); whoever can access it can manage the entire server. So don’t expose it to the internet.

Uptime Kuma: know when something goes down

Uptime Kuma checks whether your websites and services are reachable and sends a notification (Telegram, email and more) as soon as something doesn’t work.

services:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    container_name: uptime-kuma
    restart: unless-stopped
    ports:
      - "3001:3001"
    volumes:
      - uptime-kuma-data:/app/data

volumes:
  uptime-kuma-data:

Open http://your-server:3001 and add your first check.

Nginx Proxy Manager: nice addresses and HTTPS

Nginx Proxy Manager puts a front door with its own name and a free HTTPS certificate in front of your services, without having to edit configuration files. You choose in a web page which address goes to which service.

services:
  npm:
    image: jc21/nginx-proxy-manager:2
    container_name: nginx-proxy-manager
    restart: unless-stopped
    ports:
      - "80:80"
      - "81:81"
      - "443:443"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

The admin page is at http://your-server:81. Follow the screen to create an admin. Ports 80 and 443 are for your services; only expose to the internet what you really want to reach from outside, and use a VPN for the rest. See our port list.

Jellyfin: your own media server

Jellyfin is a free alternative to Plex for streaming movies, series and music to TV and phone.

services:
  jellyfin:
    image: jellyfin/jellyfin:12
    container_name: jellyfin
    restart: unless-stopped
    ports:
      - "8096:8096"
    volumes:
      - ./config:/config
      - ./cache:/cache
      - /srv/media:/media:ro

Put your own files in /srv/media (or adjust the path) and open http://your-server:8096. On a mini PC with an Intel processor you can enable hardware transcoding with devices: - /dev/dri:/dev/dri.

More ideas

Are these programs running and want to know what the server costs per year in electricity? Calculate it with our power cost calculator. Do you have a command instead of a compose file? Convert it with Docker run to Compose.

Can't do it yourself? Have an expert come to your home via hulpaanhuis.nl