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

Automatic rebuild and reload

docker compose up

Update Dependencies

# Node packages
docker compose run --rm npm install
docker compose run --rm --entrypoint npx npm npm-check-updates -u && docker compose run --rm npm install

# Go packages
docker compose run --rm go get -u ./...
docker compose run --rm 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

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages