Where Does an Iceshrimp Server Store Data?
Iceshrimp.NET configures through appsettings.json and environment variables. Posts live in Postgres; files use object storage or disk.
Last updated
Iceshrimp.NET follows .NET conventions rather than its Misskey ancestry. Settings live in appsettings.json with appsettings.Production.json overrides, and any value can come from environment variables (double underscore nesting) in Docker. Database, Redis, storage, and federation endpoints all configure this way.
Data splits three ways underneath. PostgreSQL holds notes, accounts, and federation state. Redis holds queues and caches. Drive files go to configured object storage or a local file path. Exact host paths vary by compose file, so read the volume binds before scripting backups. Keep the config and the dump in sync: URLs baked at first boot define federation identity.
Where Iceshrimp stores this, by platform
appsettings.json + Postgres volume (compose dir)
Settings plus Production overrides; env vars win in containers. Holds DB, Redis, storage, and instance URL blocks. Exact host bind paths come from your compose file, so verify before scripting backups.
Frequently asked questions
how do i back up an iceshrimp instance
Back up appsettings.Production.json (or your env file), a Postgres dump, Redis persistence if enabled, and the file store together. Config without rows is an empty hub; rows without files are broken attachments.
is iceshrimp config default.yml or appsettings.json
The old TypeScript line used .config/default.yml like Misskey. The current .NET rewrite uses appsettings.json plus environment overrides instead. Follow .NET docs for new installs; the YAML path only matters for legacy migrations.
Notice an outdated path? Let us know.