codeclown / helppo

Instant admin UI for your database

Home Page:https://helppo.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Helppo

Gif of helppo on the command line

helppo-cli on npm Helppo on GitHub Helppo on Docker Hub

Helppo

Instant admin UI for your database

Helppo is still in early development. Versions 0.X are published under GPLv3 (free forever; see License).

Feature highlights

  • Automatically reads database schema (supports custom configuration), prints human-readable column names
  • Browse tables with filters, pagination, foreign key links, bulk actions/copy
  • Edit rows with the help of date pickers, secret columns
  • Run raw SQL queries
  • Recover deleted rows if you haven't refreshed the page
  • Shareable URLs for every page, filter and query

There's also some screenshots.

Table of Contents

Supported databases

  • Postgres
  • MySQL

Installation

npx

If you have npm installed, you can just run npx helppo-cli, which will install the latest version and execute it:

$ npx helppo-cli ...

npm / yarn

Install globally via npm or yarn:

$ npm install -g helppo-cli
$ yarn global add helppo-cli
# then:
$ helppo-cli ...

Updating

Commands to update installation later:

$ npm update -g helppo-cli
$ yarn global upgrade helppo-cli

Docker

Use the official Docker image:

$ docker run --rm -e "DATABASE_URL=<connection_string>" -p 3000:3000 codeclown/helppo

docker-compose

Sample template for use in docker-compose.yml:

version: "3.1"
services:
  helppo:
    # note: it's recommended to change "latest" to a specific version when using in production
    image: codeclown/helppo:latest
    environment:
      DATABASE_URL: <connection_string>
    ports:
      - 3000:3000

Express.js middleware

helppo on npm

You can mount Helppo directly in your Express.js application. See Middleware.

It also comes with the CLI utility, installed at ./node_modules/.bin/helppo-cli-local.

Usage

Via connection string

The standard way to start a helppo instance is to give it a connection string as an argument.

$ helppo-cli mysql://user:pass@localhost:3306/my_db
Helppo is running. View it in your browser:
  http://localhost:3000

Then simply open the address in your browser. Helppo will bind to the first available port in the 3000-3999 range.

Via knexfile

Helppo does not use knex, but it can parse connection details from a knexfile.

$ helppo-cli --knexfile path/to/knexfile.js

Via environment variable DATABASE_URL

Helppo will grab a connection string from the environment variable DATABASE_URL, if present.

$ DATABASE_URL=mysql://user:pass@localhost:3306/my_db helppo-cli

Without password

You can leave password out of the connection string. If authentication fails, helppo will prompt for a password:

$ helppo-cli mysql://user@localhost:3306/my_db
Access denied for user 'root'@'172.29.0.1' (using password: NO). Try password:

--help

Run helppo-cli --help to print the available arguments and options.

$ helppo-cli --help
helppo-cli | Instant database management interface in your browser

USAGE
  helppo-cli <connection_string>
  helppo-cli --knexfile knexfile.js

ARGUMENTS
  connection_string           A database connection string, see below for
                              examples.

OPTIONS
  -h, --help                  Show this help message
      --knexfile knexfile.js  Parse connection details from a knexfile
      --no-color              Disable colors in terminal output

ENVIRONMENT VARIABLES
  If DATABASE_URL is defined, it will be used.

EXAMPLES
  $ helppo-cli mysql://user:pass@localhost:3306/my_db
  $ helppo-cli postgres://user:pass@localhost:5432/my_db
  $ helppo-cli --knexfile src/knexfile.js
  $ DATABASE_URL=mysql://user:pass@localhost:3306/my_db helppo-cli

Screenshots

Browse database tables
Browse database tables
Perform bulk actions
Perform bulk actions
Edit database rows
Edit database rows
Run raw SQL queries
Run raw SQL queries

Docs

See docs/README.md for documentation related to the middleware, development, etc.

Subscribe to Helppo news

If you'd like to receive periodic updates about the status of Helppo, subscribe to the mailing list.

Contributing

Please do file bug reports and feature requests as issues in this GitHub repository!

For more information, see Contributing.md.

License

Versions 0.X of Helppo are published under the GPLv3 license.

Paraphrased, it means that you can use Helppo in any project for free, as long as you retain the license text in the source code (in the case of a server-side npm package like Helppo, this requirement is automatically fulfilled when installing it via npm, as the license text is always included in the node_modules subfolder). Additionally, if you modify Helppo itself and publish the modified software, it must be published under the same license.

For full license terms, see LICENSE.

From v1.0 onwards

I plan on adding or changing to a commercial license from v1.0 onwards, if it seems sensible at that point (considering project traction, feature backlog, etc.). Versions that were released under GPL will of course remain available under GPL indefinitely. To keep up with the topic, subscribe to the mailing list.

About

Instant admin UI for your database

https://helppo.dev

License:GNU General Public License v3.0


Languages

Language:TypeScript 85.7%Language:JavaScript 6.8%Language:CSS 5.8%Language:Shell 1.6%Language:Dockerfile 0.0%