# Datagripe > A database IDE for PostgreSQL, MySQL, SQLite and Redis that reads your > queries and your schema back to you and says what is wrong with them. > Free and open source, MIT. Runs on your own machine with one command, > or as one container for a team. Every page below is Markdown. The HTML version is the same path without the `.md`. `/llms-full.txt` is all of it in one file. ## Start - [Datagripe](/index.md): A database IDE for PostgreSQL, MySQL, SQLite and Redis. It reads your queries and your schema, and tells you what is wrong with them. - [Documentation](/docs.md): What DataGripe does, how to run it, and where everything is hidden. ## Product - [What it can do](/docs/features.md): The whole surface, including the parts that are not obvious. - [Rules](/rules.md): The 18 things Datagripe complains about, rendered from the catalogue the app actually runs. - [Roadmap](/roadmap.md): The 27 gripes Datagripe has about itself, rendered from the repository's own roadmap. - [Gripe levels](/docs/gripe-levels.md): Four levels of rudeness over one set of findings, and the three rules that keep panic a joke. - [Adapters](/docs/adapters.md): Four engines, and exactly what each one can and cannot do. - [Keyboard shortcuts](/docs/keyboard.md): Everything with a binding, including the two nobody finds on their own. - [Comparison](/docs/comparison.md): What to use instead, honestly, and the one thing this does that the others do not. - [Roles and permissions](/docs/roles.md): What a member of a project may do, as a matrix you can edit rather than three ranks you cannot. ## Configuration - [Configuration](/docs/configuration.md): How DataGripe is configured, the two variables that decide whether a deployment works, and where every other one lives. - [Accounts and sign-in](/docs/authentication.md): Whether a deployment has accounts at all, which of the three ways in it offers, and how to configure security keys and Google. - [Database and storage](/docs/database.md): Embedded or external PostgreSQL, where the data directory is, and the secrets that go with each mode. - [Datasources](/docs/datasources.md): Connections declared in a file, and which hosts the server may connect out to. - [Limits](/docs/limits.md): The ceilings a client cannot ask past, and what each one protects. - [Files, git and commands](/docs/files-and-git.md): Everything that touches the host's disk or runs a program, and why each one has its own switch. - [Updates](/docs/updates.md): What the account menu tells you about versions, the check that only runs when you press it, and the one shape that can restart itself. - [MCP](/docs/mcp.md): The endpoint an AI agent connects to, and the deployment's switch for it. ## Deploy - [Getting started](/docs/getting-started.md): Running DataGripe, and the first five minutes after that. - [Deploying](/docs/deploy.md): Four shapes, all running the same image — and the two settings that decide whether any of them works. - [Docker](/docs/docker.md): One container, its own database, nothing else to run — and what changes when you publish it somewhere real. - [Compose](/docs/compose.md): The app, a PostgreSQL beside it, accounts on — four commands and one file to edit. - [Kubernetes](/docs/kubernetes.md): A Helm chart addressed by URL, or manifests meant to be read — plus the ingress setting that closes every websocket. - [Upgrading](/docs/upgrading.md): Migrations first, in every shape, and the two things that make an upgrade unrecoverable rather than annoying. - [Security](/docs/security.md): What is on by default, what is off, and the three switches that matter before it faces anybody. ## Learn - [Why it complains](/docs/why-it-complains.md): The one sentence the whole feature follows from, and the four rules that fall out of it. - [Writing a rule](/docs/writing-a-rule.md): A file, an entry, four strings and three fixtures — and the fixture that matters is the one that must not fire. - [Dismissing gripes](/docs/dismissing-gripes.md): Three scopes, never silently, and why an occurrence dismissal cannot key on a line number. - [FAQ](/docs/faq.md): The questions that come back, including the ones with an answer nobody likes. - [Glossary](/docs/glossary.md): The words this project uses in a particular way, and what each one means here. - [Release notes](/docs/release-notes.md): Every release, newest first, from the repository's changelog. ## Optional - [Specifications](/specs.md): 20 engineering specifications, rendered from the repository — what each subsystem does and which alternatives were rejected. - [Spec — Access report](/specs/access-report.md): Answer one question for a whole datasource at once: what can each role actually do? Not what was granted — what is reachable, once PUBLIC, role inheritance, ownership, schema USAGE, SECURITY DEFINER and view ownership have all been resolved. - [Spec — Database adapters](/specs/adapters.md): MySQL, SQLite, and Redis sit beside PostgreSQL behind the adapter boundary. - [Spec — Authentication, authorization, and hardening](/specs/auth-and-hardening.md): Every request is authenticated and workspace-authorized; credentials and targets are protected by session, CSRF, SSRF, and rate-limit controls that match the self-hosted deployment model. - [Spec — Connection sources](/specs/connection-sources.md): Connections are managed like DataGrip data sources: first-class, named, testable objects the user adds and organizes — not a deployment detail. - [Spec — Connections and schema explorer](/specs/connections.md): A user can save a PostgreSQL connection with an encrypted password, test it, and lazily browse schemas, tables, views, and columns — without the password ever leaving server memory or appearing in any client payload. - [Spec — Datasource paths](/specs/datasource-paths.md): A database does not arrive out of nowhere. - [Spec — Domains](/specs/domains.md): A schema is a flat pile of objects; a database is not. - [Spec — Editor workspace](/specs/editor-workspace.md): An IDE-grade editor shell in the browser: many SQL documents open at once, tabs that move between groups, horizontal/vertical splits, and no lost changes across tab switches, splits, reloads, or browser crashes. - [Spec — Git datasources](/specs/git-datasources.md): docs/spec/datasource-paths.md got DataGripe as far as seeing the checkout: you name a directory, it becomes a sidebar section, files open and save back. - [Spec — Gripes engine](/specs/gripes.md): DataGripe notices things about your query and your schema, and says so — accurately, specifically, and rudely. - [Spec — Markdown documents](/specs/markdown-documents.md): docs/spec/datasource-paths.md shipped with a wart it named out loud: a .md opened out of a datasource path gets SQL highlighting, "and the fix is a language field on the document rather than anything here". - [Spec — MCP server](/specs/mcp.md): Every project speaks MCP, so an agent working on the project's code can ask the project's own database questions — and read the project's own explanation of it. - [Spec — Multiplayer](/specs/multiplayer.md): DataGripe is multiplayer. - [Spec — Object view](/specs/object-view.md): The ⊞ affordance, or any structure entry in the tree's context menu, opens one object's structure as an editor tab. - [Spec — Roles and permissions](/specs/permissions.md): Three ranks answered one question — can this person edit — and the questions people actually have are narrower and do not nest. - [Spec — Query execution](/specs/query-execution.md): Run SQL from the editor — a selection, the statement at the cursor, or a whole document — with server-enforced limits, reliable cancellation, live result streaming into a data grid, and an auditable history record for every execution. - [Spec — Repository commands](/specs/repo-commands.md): A datasource that comes from a repository can bring its own directories, its own domains and its own sync target. - [Spec — Table view](/specs/table-view.md): Double-clicking a table or view in the tree opens its rows as an editor tab and lets you work with them: browse, sort, filter, page, export, inspect and edit a large value, edit a cell, insert a row, delete a row. - [Spec — Versions, updates and the account menu](/specs/updates.md): Somebody running DataGripe should be able to answer three questions without leaving it: what am I running, is there anything newer, and what do I do about it. - [Spec — Workspaces](/specs/workspaces.md): The workspace IS the project: a named container with its own members, connections, shared files, history, and default target connection. - [Source](https://github.com/datagripe/datagripe): the repository these pages are rendered from.