Skip to content

MatiasDesuu/ThinkDashboard

Repository files navigation

ThinkDashboard

A lightweight, self-hosted bookmark dashboard built with Go and vanilla JavaScript.

✨ Features

  • Minimalist Design: Clean, text-based interface
  • Keyboard Shortcuts: Assign keys shortcuts to quickly open bookmarks
  • Customizable Categories: Organize bookmarks into categories
  • Theme Support: Dark and light themes
  • Theme customization: Full theme customization support with possibility to create infinite variants
  • Responsive Design: Works on desktop and mobile devices

🖼️ Screenshots

1 2
3 4

📱Mobile view

🚀 Quick Start

Using Docker Compose

services:
  thinkdashboard:
    image: ghcr.io/matiasdesuu/thinkdashboard:latest
    container_name: thinkdashboard
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
    environment:
      - PORT=8080
    restart: unless-stopped

Using Docker

  1. Run the container:
docker run --name thinkdashboard -d -p 8080:8080 -v ./data:/app/data -e PORT=8080 --restart unless-stopped ghcr.io/matiasdesuu/thinkdashboard:latest
  1. Open your browser and navigate to http://localhost:8080

Using Go

  1. Clone the repository:
git clone https://github.com/MatiasDesuu/ThinkDashboard.git
cd ThinkDashboard
  1. Install dependencies:
go mod tidy
  1. Run the application:
go run .
  1. Open your browser and navigate to http://localhost:8080

⚙️ Configuration

Access the configuration page by navigating to /config or clicking the "config" link in the top-right corner of the dashboard. You can also access it by typing config in the Search bar.

🎨 Color Customization

Access the color customization page by navigating to /colors or clicking the "customize colors" in the config page. You can also access it by typing colors in the Search bar.

⌨️ Keyboard Shortcuts

Assign keys shortcuts to your bookmarks for quick access. Simply press the assigned keys on the dashboard to open the bookmark.

💾 Data Storage

Configuration data is stored in JSON files in the data/ directory:

  • bookmarks-X.json: Your bookmarks (each page will have the corresponded number, bookmarks-1.json, bookmarks-2.json, etc.)
  • colors.json: Your theme colors (default and customs)
  • pages.json: Pages order
  • settings.json: Application settings

⚖️ License

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