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
- Installation
- Usage
- Screenshots
- Docs
- Subscribe to Helppo news
- Contributing
- License
- Postgres
- MySQL
If you have npm installed, you can just run npx helppo-cli
, which will install the latest version and execute it:
$ npx helppo-cli ...
Install globally via npm or yarn:
$ npm install -g helppo-cli
$ yarn global add helppo-cli
# then:
$ helppo-cli ...
Commands to update installation later:
$ npm update -g helppo-cli
$ yarn global upgrade helppo-cli
Use the official Docker image:
$ docker run --rm -e "DATABASE_URL=<connection_string>" -p 3000:3000 codeclown/helppo
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
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
.
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.
Helppo does not use knex, but it can parse connection details from a knexfile.
$ helppo-cli --knexfile path/to/knexfile.js
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
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:
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
Browse database tables![]() |
Perform bulk actions ![]() |
---|---|
Edit database rows![]() |
Run raw SQL queries![]() |
See docs/README.md
for documentation related to the middleware, development, etc.
If you'd like to receive periodic updates about the status of Helppo, subscribe to the mailing list.
Please do file bug reports and feature requests as issues in this GitHub repository!
For more information, see Contributing.md.
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.
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.