Go-based open source document-oriented JSON database
434
deo (/'dioh/, pronounced dee-oh) is a Go-based, open source document-oriented database that stores data as msgpack-compressed JSON files.
It’s entirely accessed through a RESTful API, making it simple to integrate and easy to deploy as a single binary.
curl -X POST http://localhost:6741/api/dbs/my_db/collections/my_collection/documents \
-H "Content-Type: application/json" \
-d '{"name": "John Doe", "age": 30}'
curl http://localhost:6741/api/dbs/my_db/collections/my_collection/documents/<document_id>
curl -X PUT http://localhost:6741/api/dbs/my_db/collections/my_collection/documents/<document_id> \
-H "Content-Type: application/json" \
-d '{"name": "John Doe", "age": 31}'
curl -X DELETE http://localhost:6741/api/dbs/my_db/collections/my_collection/documents/<document_id>
$HOME/.deo/{database_name}/{collection_name}/*.msgpack
│ │ │ │
│ │ │ └── Documents (*.msgpack)
│ │ └── Collection
│ └── Deo Database
└── User Home Directory
localhost:6741 /api /dbs /{database_name} /collections /{collection_name} /documents
│ │ │ │ │ │ │
│ │ │ │ │ │ └── Documents endpoint
│ │ │ │ │ └── Collection name slug
│ │ │ │ └── Collections endpoint
│ │ │ └── Database name slug
│ │ └── Database endpoint
│ └── API root
└── Hostname + Port
Images:
To run Deo in a Docker container, use the following command:
docker run -d -p 6741:6741 --name deo ghcr.io/myferr/deo:latest
Tip
`myferr/deo:latest` may not exist, so either don't specify a tag or use `ghcr.io/myferr/deo:latest`
To run Deo in a Docker Compose setup, use the following configuration:
services:
deo:
image: ghcr.io/myferr/deo:latest
ports:
- "6741:6741"
and then start the container:
docker-compose up -dv
deo has a "studio" web UI to manage databases, collections, and documents which is useful for testing.
Accessible at http://localhost:6741/studio
https://github.com/user-attachments/assets/bf61fd84-8498-4ca6-9376-10ef5dc9d32c
Content type
Image
Digest
sha256:ed0427db1…
Size
17.4 MB
Last updated
about 1 year ago
docker pull myferr/deo