A Simple DB Viewer app
2.3K
OnezDBViewer is a lightweight, privacy-focused database viewer designed for those who need a simple, efficient way to explore and manage their MySQL/MariaDB and PostgreSQL databases. Built with performance and security in mind, it's the perfect companion for database exploration without the bloat.
https://github.com/user-attachments/assets/d3a13712-8682-46ba-853f-08a19131d332
Refer demo videos here - https://github.com/onezloop/onezdbviewer/blob/main/docs/DEMO.md
We have used lots of database tools. Many of them felt heavy, not modern enough, or too slow for simple querying and checks. So we built onezdbviewer to be modern, straight to the point, simple to use, and fast.
We give ultimate preference to privacy. Because our users connect to databases that store user data and other sensitive information. We never collect any data from the app - not even telemetry or error reports. Your data stays on your machine only.
It's a simple DB viewer tool that is fast and easy to use. Just connect and query - that's it.
Almost all developers use Docker, so we provided onezdbviewer as a Docker image that you can just run and start querying. It is completely free to use.
onezdbviewer is not a huge SQL script writing tool. We didn't build it for that. While you can still write queries, format them, and use them, we didn't design it for very heavy query authoring workflows.
In today's world, AI can write most SQL, and we as developers can review and correct it as needed. We do have plans to support customized AI integration for query editing. onezdbviewer, at least as of today, is not an open-source project. We are still actively focusing on adding features and refinements that simplify database querying and viewing even more, and we're not yet ready to open source it.
We leveraged AI extensively to build onezdbviewer. We relied on AI to explore and understand many database-level details and edge cases we needed to support.
We didn't just vibe-code it. We followed a systematic, AI-driven development approach. We review, do manual development when the AI fails. If you want to know more about AI-driven development, you can explore the following projects:
Give us a star on GitHub: https://github.com/onezloop/onezdbviewer
Provide feedback, report issues and suggest features:
Support Us by Donating
Get started in seconds with a single command:
docker run -d -p 9977:9977 \
-v onezdbviewer-data:/root/.onezdbviewer \
--name onezdbviewer \
onezloop/onezdbviewer:latest
Once the container is running, open your browser and navigate to:
http://localhost:9977
-d: Runs the container in detached mode (background)-p 9977:9977: Maps port 9977 from container to your host machine-v onezdbviewer-data:/root/.onezdbviewer: Creates a persistent volume for your data
--name onezdbviewer: Names the container for easy managementdocker stop onezdbviewer
docker start onezdbviewer
docker logs onezdbviewer
docker logs -f onezdbviewer
docker stop onezdbviewer
docker rm onezdbviewer
Note: Your data persists in the onezdbviewer-data volume even after removing the container.
Warning: All connection profiles and settings will be lost when the container is removed.
# Pull the latest image
docker pull onezloop/onezdbviewer:latest
# Stop and remove the old container
docker stop onezdbviewer
docker rm onezdbviewer
# Start with the new image (same data volume)
docker run -d -p 9977:9977 \
-v onezdbviewer-data:/root/.onezdbviewer \
--name onezdbviewer \
onezloop/onezdbviewer:latest
When running in Docker, all exports (SQL dumps and CSV files) are automatically downloaded through your browser:
docker cp commandsUse host.docker.internal to connect to databases running on your host:
Host: host.docker.internal
Port: 3306 (MySQL) or 5432 (PostgreSQL)
Use Docker networks to connect containers:
# Create a network
docker network create dbviewer-network
# Run your database (example with MySQL)
docker run -d --name mysql-db \
--network dbviewer-network \
-e MYSQL_ROOT_PASSWORD=password \
mysql:8
# Run OnezDBViewer on the same network
docker run -d -p 9977:9977 \
--network dbviewer-network \
-v onezdbviewer-data:/root/.onezdbviewer \
--name onezdbviewer \
onezloop/onezdbviewer:latest
Then connect using the container name:
Host: mysql-db
Port: 3306
For databases on remote servers, use their hostname or IP address as you normally would:
Host: db.example.com
Port: 3306
Check if the port is already in use.
# If port is in use, either stop the other service or use a different port
docker run -d -p 8080:9977 ...
Ensure you're using a persistent volume (-v onezdbviewer-data:/root/.onezdbviewer) and that the volume is properly mounted. Check volume exists:
docker logs onezdbviewer
If you encounter any issues or have questions:
docker logs onezdbviewerHappy DB Hacking 🚀
Content type
Image
Digest
sha256:de30849e5…
Size
10.7 MB
Last updated
21 days ago
docker pull onezloop/onezdbviewer