Linux

Where Does NocoDB Store Its Database and Uploads?

NocoDB SQLite file and Docker attachment volume paths, plus which config files to copy for a full backup.

Last updated

NocoDB stores its database and uploaded files in one container path. That path is /usr/app/data. With SQLite the database file is /usr/app/data/noco.db. Attachment uploads sit in the same volume beside it.

Production installs hide this behind named volumes like nocodb_data and postgres_data. The compose directory prefix gets prepended, so confirm names with docker volume ls. Back up the Postgres dump, the attachment volume, and the docker.env plus db.json config files. Those three pieces rebuild the stack elsewhere.

Where NocoDB stores this, by platform

Linux
/usr/app/data/noco.db

SQLite file and attachment storage inside the container. Bind mount a host folder here for simple file based persistence. Postgres installs still use this volume for attachments.

Linux
nocodb_data (/usr/app/data)

Named volume that holds attachments when storage is local. S3 backed installs skip this and keep files in the bucket instead. Inspect with docker volume inspect before copying.

Frequently asked questions

how do i back up NocoDB attachments from a named volume

Run docker volume ls to find the real name, usually nocodb_nocodb_data, then mount it read only into an alpine container and tar /data. Copy the tarball off the host. The volume survives compose down but it is not a backup by itself.

can i keep the NocoDB database as a plain file instead of Postgres

Yes. Point the volume at a host folder with -v ./nocodb:/usr/app/data and the noco.db file appears there. SQLite mode suits small teams. Larger installs should switch NC_DB to Postgres.

Notice an outdated path? Let us know.