Skip to content

flohoss/godash

Repository files navigation

GoDash

goDash is a simple, customizable dashboard written in Go. It provides an overview of weather information, system status, and bookmarks with icons and links.

Table of Contents

Features

  • Displays current weather
  • Displays weather forcast for up to 6 days
  • Shows system status and resource usage
  • Provides quick access to bookmarks with icons and links
  • Lightweight and easy to deploy with Docker

Screenshots

Mobile

Desktop

Config

At startup, godash will look for a config.yaml file in the current directory or create one. If it exists, it will be used to override the default values.

Icons can be stored in a folder called icons or godash will automatically download from https://selfh.st/icons/ with the prefix sh/

log_level: 'info' # Valid options: debug, info, warn, error
time_zone: 'Europe/Berlin' # Must be a valid IANA timezone (e.g., America/New_York, Europe/London)
title: 'My Dashboard' # Any string

server:
  address: '0.0.0.0' # Valid IPv4 address, defaults to 0.0.0.0
  port: 8156 # Optional, must be between 1024 and 65535, defaults to 8156

weather:
  units: 'celsius' # Valid options: celsius, fahrenheit
  latitude: 52.5163 # Optional, must be a valid latitude (-90 to 90)
  longitude: 13.3776 # Optional, must be a valid longitude (-180 to 180)

applications:
  - category: 'Productivity' # Any string
    entries:
      - name: 'Notion' # Any string
        icon: 'notion.png' # File name or path for icon
        ignore_dark: false # should not use the light icon even though it exists in dark mode
        url: 'https://www.notion.so' # Optional, must be a valid URL
      - name: 'Slack'
        icon: 'sh/slack.svg' # Use self-hosted icons
        ignore_dark: true
        url: 'https://slack.com'

  - category: 'Entertainment'
    entries:
      - name: 'YouTube'
        icon: 'youtube.png'
        ignore_dark: false
        url: 'https://www.youtube.com'
      - name: 'Spotify'
        icon: 'spotify.png'
        ignore_dark: false
        url: 'https://www.spotify.com'

links:
  - category: 'Work'
    entries:
      - name: 'GitHub'
        url: 'https://github.com'
      - name: 'Jira'
        url: 'https://jira.com'

  - category: 'Social'
    entries:
      - name: 'Twitter'
        url: 'https://twitter.com'
      - name: 'LinkedIn'
        url: 'https://linkedin.com'

Docker

run command

docker run -d \
  --name godash \
  --restart always \
  -v ./config:/app/config \
  ghcr.io/flohoss/godash:latest

compose file

services:
  godash:
    restart: always
    image: ghcr.io/flohoss/godash:latest
    container_name: godash
    volumes:
      - ./config:/app/config

✨ Star History

Star History Chart

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Feel free to open issues or submit pull requests to improve goDash!


Development

Run Locally with Docker Compose

docker compose run --rm yarn install --frozen-lockfile
docker compose up --build --force-recreate
  • Auto-creates config.yaml if missing
  • Detects changes automatically

Format Code

docker compose run --rm --pull always yarn format

Update Dependencies

Node packages

docker compose run --rm --pull always yarn upgrade --latest

Go modules

docker compose run --rm --pull always go get -u && go mod tidy

About

A simple, customizable dashboard written in Go. It provides an overview of weather information, system status, and bookmarks with icons and links.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors