Skip to content

Dynacat

Self-hosted dashboard built for people who want their information in one place.


  • Directorydynacat
    • Directoryconfig
      • dynacat.yml (*)
      • home.yml (*)
    • Directoryassets
      • user.css
    • compose.yml (*)
    • .env (*)
Terminal window
mkdir -p {{DOCKER_PATH_VAR}}/dynacat && cd {{DOCKER_PATH_VAR}}/dynacat
Terminal window
nano compose.yml
compose.yml
services:
dynacat:
container_name: dynacat
image: panonim/dynacat
restart: unless-stopped
volumes:
- ./config:/app/config
- ./assets:/app/assets
- /etc/localtime:/etc/localtime:ro
# Optional server stats widget
- /etc/os-release:/host/etc/os-release:ro
# Optional docker containers widget
# - /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 8282:8080
env_file: .env
Terminal window
nano .env
.env
TZ={{TIME_ZONE_VAR}}
ENABLE_EDITOR=false
LINKDING_URL=https://link.{{BASE_SUB_DOMAIN_VAR}}
LINKDING_TOKEN=
Terminal window
nano ./config/dynacat.yml
./config/dynacat.yml
server:
assets-path: /app/assets
theme:
# Note: assets are cached by the browser, changes to the CSS file
# will not be reflected until the browser cache is cleared (Ctrl+F5)
# custom-css-file: /assets/user.css
pages:
# It's not necessary to create a new file for each page and include it, you can simply
# put its contents here, though multiple pages are easier to manage when separated
!include: home.yml
Terminal window
nano ./config/home.yml
./config/home.yml
- name: Home
columns:
- size: small
widgets:
- type: calendar
first-day-of-week: sunday
- type: clock
hour-format: 12h
timezones:
- timezone: America/New_York
label: New York
- timezone: Europe/Madrid
label: Madrid
- timezone: Asia/Tokyo
label: Tokyo
- type: bookmarks
groups:
- links:
- title: EchoLink
url: https://echo.lan.huffmanks.com
- title: Github
url: https://github.com/huffmanks?tab=repositories
- title: Tools
url: https://tools.huffmanks.com
# not working with domain, localhost or IP address
# - type: dynawidgets
# widget: linkding-dashboard
# title: Linkding
# cache: 30m
# limit: 10
# options:
# collapse-after: 5
# in-new-tab: true
# layout: vertical
- type: rss
limit: 10
collapse-after: 3
cache: 12h
feeds:
- url: https://selfh.st/rss/
title: selfh.st
limit: 3
- url: https://word.huffmanks.com/rss.xml
title: Weekly Word
limit: 3
- size: full
widgets:
- type: group
widgets:
- type: hacker-news
- type: lobsters
- type: videos
channels:
- UCyU5wkjgQYGRB0hIHMwm2Sg # Syntax
- UCkVfrGwV-iG9bSsgCbrNPxQ # Better Stack
- UCbRP3c757lWg9M-U7TyEkXA # Theo
- UCUyeluBRhGPCW4rPe_UvBZQ # Primeagen
- UCXuqSBlHAE6Xw-yeJA0Tunw # Linus Tech Tips
- UCBJycsmduvYEL83R_U4JriQ # Marques Brownlee
- type: group
widgets:
- type: reddit
subreddit: selfhosted
show-thumbnails: true
- type: reddit
subreddit: webdev
show-thumbnails: true
- size: small
widgets:
- type: weather
location: Greenville, South Carolina, United States
units: imperial
hour-format: 12h
- type: server-stats
servers:
- type: local
name: Services
- type: monitor
cache: 1m
title: Monitor
show-history: true
sites:
- title: AdGuard Home
url: http://{{SERVER_IP_VAR}}:8080
icon: sh:adguard-home
- title: Immich
url: http://{{SERVER_IP_VAR}}:2283
icon: sh:immich
# not working
# - title: Jellyfin
# url: http://{{SERVER_IP_VAR}}:8096
# icon: sh:jellyfin
# method: HEAD
- type: markets
markets:
- symbol: SPY
name: S&P 500
- symbol: QQQ
name: Nasdaq 100
- symbol: DIA
name: Dow Jones
- symbol: GLD
name: Gold
- symbol: USO
name: Crude Oil
Terminal window
docker compose up -d

http://localhost:8282 or http://{{SERVER_IP_VAR}}:8282