A realtime, decentralized, offline-first, graph database engine
Mark Nadal aaa6689281 Merge branch 'master' of http://github.com/amark/gun 3 days ago
examples mimeograph fix 1 week ago
hooks Made the Docker Hub Automated build hook usable offline via 'npm docker' 1 year ago
lib Add Node Support 5 days ago
sea secret, clean 1 month ago
src make DAM parse more robustly 1 week ago
test fix user API 4 weeks ago
.dockerignore * Sanitized /examples dependency management 1 year ago
.gitignore Minor modification to support browser storage better in NodeJS/testing 7 months ago
.travis.yml Update .travis.yml 2 months ago
CHANGELOG.md Update CHANGELOG.md 5 months ago
Dockerfile Dockerfile use apk nodejs-npm module. 3 months ago
LICENSE.md chore(license): Adding triple license 3 years ago
Procfile test heroku? 2 months ago
README.md Typos in README 1 month ago
app.json BasicDocker Button deployment with template app.json file 1 year ago
as.js migrate SEA, some improvements, some regressions 1 month ago
bower.json fix path, map, set, load, load, ws & escape todo + bump 3 years ago
gun.js get ( soul ) 3 days ago
gun.min.js make DAM parse more robustly 1 week ago
index.js Massive directory cleanup, more reliable transport 3 years ago
nts.js some quick fixes 10 months ago
package-lock.json stupid package lock 1 week ago
package.json stupid package lock 1 week ago
sea.js smarter SEA parsing, fix broken heroku deplou 1 week ago


npm Travis FOSSA Status Gitter

GUN is a realtime, distributed, offline-first, graph database engine. Doing 20M+ ops/sec in just ~9KB gzipped.


  • Realtime - You might use Socket.IO for realtime updates, but what happens if you reload the page? GUN solves state synchronization for you, no matter what, on reloads, across all your users, and even on conflicting updates.
  • Distributed - GUN is peer-to-peer by design, meaning you have no centralized database server to maintain or that could crash. This lets you sleep through the night without worrying about database DevOps - we call it "NoDB". From there, you can build decentralized, federated, or centralized apps.
  • Offline-first - GUN works even if your internet or cell reception doesn't. Users can still plug away and save data as normal, and then when the network comes back online GUN will automatically synchronize all the changes and handle any conflicts for you.
  • Graph - Most databases force you to bend over backwards to match their storage constraints. But graphs are different, they let you have any data structure you want. Whether that be traditional tables with relations, document oriented trees, or tons of circular references. You choose.


  • Try the interactive tutorial in the browser (5min ~ average developer).
  • Or npm install gun and run the examples with cd node_modules/gun && npm start (5min ~ average developer).

Note: If you don't have node or npm, read this first. If the npm command line didn't work, you may need to mkdir node_modules first or use sudo.