Categorygithub.com/tlinden/anydb
repositorypackage
0.2.0
Repository: https://github.com/tlinden/anydb.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

A personal key value store

Actions License Go Coverage Go Report Card GitHub release Documentation

[!CAUTION] Version 0.1.3 introduced a regression bug, which caused the encryption feature not to work correctly anymore. If you are using anydb 0.1.3, you are urgently advised to upgrade to 0.2.0

Anydb is a simple to use commandline tool to store anything you'd like, even binary files etc. It is a re-implementation of skate for the following reasons:

  • it's just fun to do
  • anydb uses bbolt instead of badger. bbolt has a stable file format, which doesn't change anymore. The badger file format on the other hand changes very often, which is not good for a tool intended to be used for many years.
  • more features:
    • output table in list mode uses TAB separator
    • better STDIN + pipe support
    • supports JSON output
    • supports more verbose tabular output
    • filtering using regular expressions
    • tagging
    • filtering using tags
    • encryption of entries
    • templates for custom output for maximum flexibility
    • includes a tiny web server, which serves a restful API

And I wrote a very similar tool 24 years ago and wanted to do it again wit go.

anydb can do all the things you can do with skate:

simple demo

However, there are more features than just that!

advanced demo

Installation

There are multiple ways to install anydb:

  • Go to the latest release page, locate the binary for your operating system and platform.

    Download it and put it into some directory within your $PATH variable.

  • The release page also contains a tarball for every supported platform. Unpack it to some temporary directory, extract it and execute the following command inside:

    sudo make install
    
  • You can also install from source. Issue the following commands in your shell:

    git clone https://github.com/TLINDEN/anydb.git
    cd anydb
    make
    sudo make install
    
  • Or, if you have the GO toolkit installed, just install it like this:

    go install github.com/tlinden/anydb@latest
    

If you do not find a binary release for your platform, please don't hesitate to ask me about it, I'll add it.

Using the docker image

A pre-built docker image is available, which you can use to test the app without installing it. To download:

docker pull ghcr.io/tlinden/anydb:latest

To execute anydb inside the image do something like this:

mkdir mydb
docker run -ti  -v mydb:/db -u `id -u $USER` -e HOME=/db ghcr.io/tlinden/anydb:latest set foo bar
docker run -ti  -v mydb:/db -u `id -u $USER` -e HOME=/db ghcr.io/tlinden/anydb:latest list -o wide

Here, we operate in a local directory mydb, which we'll use as HOME inside the docker container. anydb will store its database in mydb/.config/anydb/default.db.

A list of available images is here

Documentation

The documentation is provided as a unix man-page. It will be automatically installed if you install from source. However, you can read the man-page online

Or if you cloned the repository you can read it this way (perl needs to be installed though): perldoc anydb.pod.

If you have the binary installed, you can also read the man page with this command:

anydb man

Getting help

Although I'm happy to hear from anydb users in private email, that's the best way for me to forget to do something.

In order to report a bug, unexpected behavior, feature requests or to submit a patch, please open an issue on github: https://github.com/TLINDEN/anydb/issues.

Copyright and license

This software is licensed under the GNU GENERAL PUBLIC LICENSE version 3.

Authors

T.v.Dein

Project homepage

https://github.com/TLINDEN/anydb

Copyright and License

Licensed under the GNU GENERAL PUBLIC LICENSE version 3.

Author

T.v.Dein