A Typesense Dashboard to manage and browse collections.

Overview

Typesense Dashboard (typesense-dashboard)

A Typesense Dashboard to manage and browse collections.

A side projet to test the Typesense API and Quasar with electron.

Usage

Web

As a web application, only typesense server started with --enable-cors will work.

Use https://bfritscher.github.io/typesense-dashboard/ or build and install on your own server

Docker

self-host this dashboard with docker* (web version has some limitations import/export size of files)

use environement variable PUBLIC_PATH if you need something else than /

Example usage:

$ docker build -t typesense-dashboard .
$ docker run -d -p 80:80 typesense-dashboard

caddy is used for serving the actual files. One could also copy /srv from the final Docker Image into another:

FROM alpine
COPY --from=typesense-dashboard /srv /typesense-dashboard

Desktop

With the desktop application everything except instant search will work without cors. To export or import large json or ljson files, desktop version is required, because the browser version times out.

Download from the release page or build your own.

Screenshots

server status

collections

collection add

aliases

apikeys

document

search

schema

synonyms

curations

Known Issues and limitations

  • deep linking url routing do not always work
  • API features not yet implemented:
    • create Snapshot
    • custom search (with a custom query)
    • delete by query
    • Scoped Search Key generation
  • Dark mode not completly implemented

Development

Install the dependencies

yarn

Start the app in development mode (hot-code reloading, error reporting, etc.)

quasar dev

Lint the files

yarn run lint

Build the app for production

quasar build

Customize the configuration

See Configuring quasar.conf.js.

icon
readme
deploy
Comments
  • How to run the electron app in linux ?

    How to run the electron app in linux ?

    Hi @bfritscher , I downloaded the Linux zip but I don't know what to do with it. Usually there will be some .sh or some file to run. But in this package there are only .bin files. I'm trying to run this in Fedora 35. Any idea how to launch it.

    opened by option-greek 4
  • Not able to use self signed  certificates (https)

    Not able to use self signed certificates (https)

    Hello, Is it possible to allow use of self signed certificates. Currently we use https but with self signed cert. If there is a checkbox to enable it some where during login it will be great!

    opened by option-greek 4
  • Server switcher, Improved UI on Titles and added Icons

    Server switcher, Improved UI on Titles and added Icons

    This PR pretends to propose minor UX/UI improvements to make managing one (or multiple) Typesense Clusters easier.

    New Feature Server switching

    • Users can use the server history to switch between servers from the Header menu.
    • Active server is shown on Header to avoid confusions or mistakes when taking actions.
    • Extracted Server History component to be re used
    Screenshot 2022-11-17 at 23 46 17

    UI/UX Improvements

    Most of them are to bring some similarities with Typesense Cloud Dashbord, and easier navigation.

    • Sorted NavMenu and changed icons
      • New order and icons are similar to Typesense Cloud Added Typesense Logo on Header
    • Added icons for titles
    • Toggle icon for expanded NavMenu
    • Changed Collections Grid to Table (with Quick Actions)

    Screenshot 2022-11-17 at 23 47 07

    opened by sbehrends 3
  • Docker image building

    Docker image building

    Thank you for this awesome tool! It would be great if a docker image would be built on github directly. I did that now on https://github.com/digital-blueprint/typesense-dashboard/pkgs/container/typesense-dashboard.

    opened by pbek 3
  • Displaying collections with unindexed fields

    Displaying collections with unindexed fields

    Hi, I'm using your dashboard for monitoring my typesense collection and it is really helpful!

    However, I can't view my collection's documents when there is an unindexed field.

    Is this intentional and can this be fixed? In this example collection, I have two fields, "title" and "unindexed"

    unindexed is only checked as optional

    image

    opened by echo-slam-jam 2
  • :bug: Dockerfile fails to build on macOS M1

    :bug: Dockerfile fails to build on macOS M1

    Signed-off-by: musaid [email protected]

    Fixes the docker build issues on macOS m1.

    Error

     > [builder 5/7] RUN yarn install:
    #12 0.254 yarn install v1.22.19
    #12 0.306 [1/5] Validating package.json...
    #12 0.310 [2/5] Resolving packages...
    #12 0.535 [3/5] Fetching packages...
    #12 34.11 [4/5] Linking dependencies...
    #12 34.11 warning " > [email protected]" has unmet peer dependency "webpack@^4.5.0 || 5.x".
    #12 34.11 warning " > [email protected]" has unmet peer dependency "algoliasearch@>= 3.32.0 < 5".
    #12 34.11 warning "vue-instantsearch > [email protected]" has unmet peer dependency "algoliasearch@>= 3.1 < 6".
    #12 34.11 warning "vue-instantsearch > instantsearch.js > [email protected]" has unmet peer dependency "algoliasearch@>= 3.1 < 6".
    #12 34.11 warning " > @babel/[email protected]" has unmet peer dependency "@babel/core@>=7.11.0".
    #12 34.11 warning "@typescript-eslint/eslint-plugin > [email protected]" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
    #12 40.28 [5/5] Building fresh packages...
    #12 41.21 error /app/node_modules/utf-8-validate: Command failed.
    #12 41.21 Exit code: 1
    #12 41.21 Command: node-gyp-build
    #12 41.21 Arguments:
    #12 41.21 Directory: /app/node_modules/utf-8-validate
    #12 41.21 Output:
    #12 41.21 gyp info it worked if it ends with ok
    #12 41.21 gyp info using [email protected]
    #12 41.21 gyp info using [email protected] | linux | arm64
    #12 41.21 gyp ERR! find Python
    #12 41.21 gyp ERR! find Python Python is not set from command line or npm configuration
    #12 41.21 gyp ERR! find Python Python is not set from environment variable PYTHON
    #12 41.21 gyp ERR! find Python checking if "python3" can be used
    #12 41.21 gyp ERR! find Python - "python3" is not in PATH or produced an error
    #12 41.21 gyp ERR! find Python checking if "python" can be used
    #12 41.21 gyp ERR! find Python - "python" is not in PATH or produced an error
    #12 41.21 gyp ERR! find Python
    #12 41.21 gyp ERR! find Python **********************************************************
    #12 41.21 gyp ERR! find Python You need to install the latest version of Python.
    #12 41.21 gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
    #12 41.21 gyp ERR! find Python you can try one of the following options:
    #12 41.21 gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
    #12 41.21 gyp ERR! find Python   (accepted by both node-gyp and npm)
    #12 41.21 gyp ERR! find Python - Set the environment variable PYTHON
    #12 41.21 gyp ERR! find Python - Set the npm configuration variable python:
    #12 41.21 gyp ERR! find Python   npm config set python "/path/to/pythonexecutable"
    #12 41.21 gyp ERR! find Python For more information consult the documentation at:
    #12 41.21 gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
    #12 41.21 gyp ERR! find Python **********************************************************
    #12 41.21 gyp ERR! find Python
    #12 41.21 gyp ERR! configure error
    #12 41.21 gyp ERR! stack Error: Could not find any Python installation to use
    #12 41.21 gyp ERR! stack     at PythonFinder.fail (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:330:47)
    #12 41.21 gyp ERR! stack     at PythonFinder.runChecks (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:159:21)
    #12 41.21 gyp ERR! stack     at PythonFinder.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:202:16)
    #12 41.21 gyp ERR! stack     at PythonFinder.execFileCallback (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:294:16)
    #12 41.21 gyp ERR! stack     at exithandler (node:child_process:420:5)
    #12 41.21 gyp ERR! stack     at ChildProcess.errorhandler (node:child_process:432:5)
    #12 41.21 gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
    #12 41.21 gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:289:12)
    #12 41.21 gyp ERR! stack     at onErrorNT (node:internal/child_process:476:16)
    #12 41.21 gyp ERR! stack     at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
    #12 41.21 gyp ERR! System Linux 5.10.124-linuxkit
    #12 41.21 gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
    #12 41.21 gyp ERR! cwd /app/node_modules/utf-8-validate
    #12 41.21 gyp ERR! node -v v18.12.0
    #12 41.21 gyp ERR! node-gyp -v v9.1.0
    #12 41.21 gyp ERR! not ok
    
    opened by musaid 1
  • Feature request - path field

    Feature request - path field

    Could you add a path field to so that typesense can be run on a non-root location.

    var typesense = new Typesense.Client({ 'masterNode': { 'host': 'example.com', 'port': '80', 'path': '/typesense', ---------> THIS 'protocol': 'http', 'apiKey': 'abcd' } 'timeoutSeconds': 10 })

    opened by minhazma 1
  • FIX PULBIC_PATH not set correctly in dockerfile

    FIX PULBIC_PATH not set correctly in dockerfile

    PUBLIC_PATH was unset, due to a missing = which caused the docker container to use /typsense-dashboard as the PUBLIC_PATH instead of root, breaking all javascript and css includes in index.html.

    The bug was introduced in #10

    opened by kernel-sanders 1
  • fix: docker public path

    fix: docker public path

    This PR makes two small changes to how the public path build arg is handled in the existing docker setup:

    • Change ENV to ARG; this allows setting this value more easily using --build-arg=PUBLIC_PATH=/example during the build process which is not possible in case of ENV statements
    • Fix the evaluation order in the quasar.conf.js; '/foo' ?? true ? '/' : '/typesense-dashboard' evaluates to '/' instead of '/foo. Putting parenthesis around that ensures that if process.env.PUBLIC_PATH is present, its value is used
    opened by geisterfurz007 1
  • [Feature request] Login history

    [Feature request] Login history

    It could be awesome to have some kind of login history, as FileZilla does.

    I'm always switching between environnements, which force me to look for credentials quite frequently.

    opened by jeanmatthieud 1
  • How to add Cors ?

    How to add Cors ?

    I installed typesense in a ubuntu machine. How can I start the server with cors enabled ? I tried this

    sudo systemctl start typesense-server.service --enable-cors=true

    But this doesn't work

    Can I set enable-cors = true in config file of tyepsense ?

    opened by manchumahara 1
Releases(v1.3.0)
A managment panel for faircorp organization, manage windows, rooms, buildings

Faircorp Vue.js Project setup npm install Compiles and hot-reloads for development npm run serve Compiles and minifies for production npm run build

null 0 Dec 23, 2021
Dashboard starter template built with Vue 3 and Tailwind CSS.

Dashboard starter template built with Vue 3 and Tailwind CSS.

Robert Soriano 767 Jan 2, 2023
Basic dashboard developed in Vue.js. Using Vue and Bootstrap

RouterDevs Dashboard básico que se conecta com uma API REST utilizando Vue.js ⬆️ Status ✔️ The main phase is complete ?? Automation and design phase a

Beatriz gonçalves 4 Mar 31, 2022
This is Mazer Dashboard in Vue

The project is helpful to start your next project, as it provides a lot of the common tools you may reach for, all ready to go.

Omer Maksuti 30 Dec 16, 2022
Salvia-kit dashboard template v8 with Nuxt.js

Salvia-kit dashboard template v8 with Nuxt.js

salvia-kit 22 Nov 28, 2022
A VueJS 3 starter to create Vue applications easily and quickly with Vue Router, Snowpack, TypeScript and SCSS

VueJS 3 Starter ✨ A VueJS 3 starter to create Vue applications easily and quickly with Vue Router, Snowpack, TypeScript and SCSS Architecture ├─ publi

null 1 Jun 1, 2022
Generate the files and directory structure for a new Sails app using webpack and vue.js

sails generate new Generate the files and directory structure for a new Sails app using webpack and vue.js. installation npm install sails-generate-ne

null 5 Feb 21, 2021
Gluing Python web frameworks and Vue.js with a set of scripts... basically a wrapper :smile:

Python and Vue.js gule UPDATE At the moment project is not supported anymore, due to the rapid evolving of the JavaScript ecosystem. It was born like

Christian Strappazzon 40 Dec 24, 2022
A Vue.js starter kit that lets you focus on more programming and less configuration.

vue-starter A Vue.js starter kit that lets you focus on more programming and less configuration. A full-featured Webpack setup with hot-reload, lint-o

Rohit Rai 54 Sep 26, 2022
A WordPress theme with the guts ripped out and replaced with Vue.

VueWordPress Theme Starter Features Getting started Video Training Code Organization New to Vue? External References Features coming soon: Changelog V

Evan Agee 1.6k Dec 21, 2022
The most complete boilerplate for production-ready PWAs. With focus on performance, development speed, and best practices

vuesion The most complete boilerplate for production-ready PWAs. With focus on performance, development speed, and best practices 一个灵活的、可扩展的、自定的,已经准备好

vuesion 2.6k Dec 31, 2022
A seed project with vue, vuex, typescript & webpack with hot reloading and all the good stuf

Vue Vuex TypeScript Webpack seed This seed project includes some of the 'hot' and latests web technologies such as TypeScript, Vue, Vuex,Vuex-Typescri

Israel Zablianov 35 Jan 17, 2022
Bleeding edge vue template focused on code quality and developer happiness.

wemake-vue-template Bleeding edge vue template focused on code quality and developer happiness. This project is used to scaffold new Vue project struc

wemake.services 721 Dec 27, 2022
🛠 A simple template for building and publishing Vue component/library as a opensource.

vue-lib-template ?? A simple template for building and publishing Vue component/library as a opensource, Base on webpack-simple & bili ?? Feature Ligh

Pongsatorn 17 Apr 5, 2022
An ever-evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI.

Vue Enterprise Boilerplate This is an ever-evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI. Questio

Ben Hong 7.6k Jan 8, 2023
A CLI generator for Vue components, views and store modules

vue-generator A CLI generator for Vue components, views and store modules Supports Vue 2.x Install $ npm install -g vue-generator Usage The most basic

Hendrik-Jan de Harder 124 Sep 29, 2022
Vue project template for authoring component and their use case

vue-authoring-template Click one of this badge for more info This template is to help authoring Vue component with it's use case in story-scenario (st

Fahmi Akbar Wildana 14 Nov 15, 2021
Vite - Vue 2 starter template using composition-api and windiCSS

Vite ⚡ - Vue 2 starter template This starter template will help you to easily create a Vue2 application bundled by the lightning fast build tool calle

null 173 Dec 30, 2022