A lightweight, self-hosted bookmark dashboard with keyboard shortcuts.
Find a file
2025-12-06 01:15:56 -03:00
.github Add Ko-fi username for funding support 2025-10-23 14:54:41 -03:00
extension Fix URL handling for trailing slashes in extension 2025-10-31 17:59:19 -03:00
locales Merge branch 'pr-37' 2025-12-06 01:15:56 -03:00
screenshots Updated README, a few icons and better screenshots 2025-10-20 16:06:06 -03:00
static Merge branch 'pr-37' 2025-12-06 01:15:56 -03:00
templates Merge branch 'main' 2025-11-24 14:14:57 -03:00
theme_examples Added theme_examples with various themes 2025-10-12 16:06:17 -03:00
.gitignore Add go.sum 2025-10-02 19:24:28 -03:00
backup.go refactor: split handlers.go into specialized modules, status.go, backup.go, uploads.go 2025-11-07 20:08:06 -03:00
docker-compose.yml Quick 2025-10-11 09:31:19 -03:00
Dockerfile Added Health Check 2025-10-29 11:47:38 -03:00
favicon.jpg Added Show Search Commands and Finders button 2025-11-08 09:24:02 -03:00
favicon.png Added Show Search Commands and Finders button 2025-11-08 09:24:02 -03:00
go.mod Quick 2025-10-02 16:47:23 -03:00
go.sum Clean go.sum 2025-11-05 16:48:44 -03:00
handlers.go Added collapse categories in dashboard. Added Always collapse categories option 2025-11-24 14:09:18 -03:00
LICENSE Add MIT License to the project 2025-10-11 11:29:52 -03:00
main.go Added finders 2025-11-07 19:26:10 -03:00
models.go Added collapse categories in dashboard. Added Always collapse categories option 2025-11-24 14:09:18 -03:00
package-lock.json Fixed FUOC and finders now follows Open links in new tabs option 2025-11-10 21:46:13 -03:00
README.md Updated README, a few icons and better screenshots 2025-10-20 16:06:06 -03:00
status.go refactor: split handlers.go into specialized modules, status.go, backup.go, uploads.go 2025-11-07 20:08:06 -03:00
uploads.go refactor: split handlers.go into specialized modules, status.go, backup.go, uploads.go 2025-11-07 20:08:06 -03:00

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.