Skip to main content

Dashboards

There are many dashboard solutions out there and available for use. These two have been fairly easy to configure. If you ever want to see more, head on over to /r/selfhosted and someone always posts one of their dashboards.

Dashy

Information

Dashy ships pre-configured with the rest of the containers. It is already configure to hit every container with a Web UI once spun up.

  • A starter Dashy configuration file is given in the base repo at ./dashy-config.yml
  • This will create the starter environment for Dashy and you can add/remove and change it as you see fit for your own use case.
  • There is also an Editor in the UI that is very easy to work with that will save the yaml configuration.
  • Just Dashy Commands
TypeCommand
Startdocker compose up dashy -d
Shutdowndocker compose down dashy
dashy
  • Once started, Dashy should be hit from this url:
URL
Non-SSLhttp://localhost:4000
Imagelissy93/dashy

Dashy Example Docker Compose

services:
############# DASHY IS THE GO TO DASHBOARD FOR THIS PROJECT ##################
dashy:
image: lissy93/dashy
container_name: ${DASHY_CONTAINER_NAME}
volumes:
- ${DEFAULT_CONTAINER_DATA_LOCATION}/Dashy:/app/user-data
- ${DASHY_CONFIG_LOCATION}:/app/user-data/conf.yml # starter config for all the stuff in this docker compose
ports:
- ${DASHY_HOST_HTTP_PORT}:8080
env_file:
- ./.env
- ../../.env
environment:
- NODE_ENV=production # needed for optimized container image
- UID=${UID}
- GID=${GID}
labels:
- "traefik.enable=true"
- "traefik.http.routers.${DASHY_CONTAINER_NAME}.rule=Host(`${DASHY_CONTAINER_NAME}.${PROJECT_HOSTNAME}`)"
- "traefik.http.routers.${DASHY_CONTAINER_NAME}.entrypoints=https"
- "traefik.http.routers.${DASHY_CONTAINER_NAME}.tls=true"
- "traefik.http.services.${DASHY_CONTAINER_NAME}.loadbalancer.server.port=${DASHY_HOST_HTTP_PORT}"
restart: unless-stopped
healthcheck:
test: ["CMD", "node", "/app/services/healthcheck"]
interval: 1m30s
timeout: 10s
retries: 3
start_period: 40s
profiles:
- all
- dashy
networks:
- homelab

Dashy Example .env file

## Dashy
# Your Backup ID: xxxx-xxxx-xxxx-xxxx
DASHY_CONTAINER_NAME="dashy"
DASHY_CONFIG_LOCATION="../../dashy-config.yml"
DASHY_HOST_HTTP_PORT="4000"

Heimdall! OPEN THE BIFROST

Heads up!

Heimdall Is behind a heimdall profile for docker docker compose --profile heimdall up -d. This is just a simple landing page configurator that allows users to build a landing page with their favorite links.

  • This dashboard is NOT preconfigured out of the box.
  • Just Heimdall Commands
TypeCommand
Startdocker compose up heimdall -d
Shutdowndocker compose down heimdall
heimdall
  • Once started, Heimdall should be hit from this url:
URL
Non-SSLhttp://localhost:3080
Imagelinuxserver/heimdall

Heimdall Example Docker Compose

services:
heimdall:
image: lscr.io/linuxserver/heimdall:latest
container_name: ${HEIMDALL_CONTAINER_NAME}
env_file:
- ./.env
- ../../.env
environment:
- PUID=${UID}
- PGID=${GID}
- TZ=${TIMEZONE}
volumes:
- ${DEFAULT_CONTAINER_DATA_LOCATION}/Heimdall:/config
ports:
- ${HEIMDALL_HOST_HTTP_PORT}:80
- ${HEIMDALL_HOST_HTTPS_PORT}:443
labels:
- "traefik.enable=true"
- "traefik.http.routers.${HEIMDALL_CONTAINER_NAME}.rule=Host(`${HEIMDALL_CONTAINER_NAME}.${PROJECT_HOSTNAME}`)"
- "traefik.http.routers.${HEIMDALL_CONTAINER_NAME}.entrypoints=https"
- "traefik.http.routers.${HEIMDALL_CONTAINER_NAME}.tls=true"
- "traefik.http.services.${HEIMDALL_CONTAINER_NAME}.loadbalancer.server.port=${HEIMDALL_HOST_HTTP_PORT}"
restart: unless-stopped
networks:
- homelab
profiles:
- heimdall
- all

Heimdall Example .env file

HEIMDALL_CONTAINER_NAME="heimdall"
HEIMDALL_HOST_HTTP_PORT="3080"
HEIMDALL_HOST_HTTPS_PORT="30803"