• Start
Sign In

Configure an instance

Instance settings in SurrealDB Studio: capabilities, compute and storage, pausing, and deletion.

Change the settings of a running instance from Instance settings in SurrealDB Studio.

To open the settings, select the instance, then select Instance settings on the dashboard or Settings in the sidebar.

Settings is organised into tabs.

TabWhat it controls
GeneralThe instance id, and the pause and delete actions
CapabilitiesWhat the instance permits at runtime: scripting, endpoints, functions, and network access
VersionThe SurrealDB release the instance runs. See Versions and upgrades
ComputeThe instance type and the storage capacity
BackupsSnapshot frequency, retention, and restore. See Backups and recovery

The Databases and Data tabs work on the contents of the instance rather than on the instance itself.

Capabilities decide what the database engine will do at runtime. They are the main security control on an instance: a capability that is switched off cannot be re-enabled by a query, a user, or an access method. The underlying model is described in Capabilities.

The Capabilities tab of instance settings in SurrealDB Studio, subtitled What this instance permits at runtime, with import and export buttons for the capability configuration as a JSON file, and a granular configuration list showing Scripting and Guest Access switched off, RPC methods, HTTP endpoints, Functions, and Arbitrary queries set to Allowed, Network access set to Denied, and Insecure storable closures switched off.

Two kinds of control appear in the list.

Switches turn a single capability on or off:

  • Scripting: whether embedded JavaScript functions run.

  • Guest access: whether unauthenticated clients can perform any operation.

  • Insecure storable closures: whether closures can be stored in records.

Allow and deny lists apply to capabilities with many members: RPC methods, HTTP endpoints, functions, and network access. Each list starts from a default and takes exceptions:

  • Allowed by default: everything is permitted, and you list what to deny.

  • Denied by default: nothing is permitted, and you list what to allow.

For a production instance, deny by default and allow only what the application uses. The cost is that you must extend the list whenever the application changes.

Important

Network access governs outbound HTTP requests made from inside queries, and is denied by default. It does not control who can reach the instance. See Network access for the pattern syntax, and Private connectivity for inbound access modes.

The Import and Export buttons read and write the whole capability configuration as a JSON file. Use the export to keep staging and production aligned, or to hold the configuration in version control. surrealctl instance capabilities does the same from a terminal. See surrealctl instances.

The Compute tab holds the instance type and the storage capacity. The active type is marked, and the Free, Burstable, and General purpose families are on separate tabs.

The Compute tab of instance settings in SurrealDB Studio, showing the Free instance type marked as active with 0.25 core vCPU and 512 MB memory, and a Storage capacity section explaining that storage expansion is unavailable for free instances with an Upgrade instance type button.

To resize an instance:

  1. Open Instance settings → Compute.

  2. Select the instance type you want.

  3. Set the value under Storage capacity if you also need more disk.

  4. Select Save changes.

Changing the instance type moves the instance to a larger or smaller size and rebills accordingly. Storage can grow but never shrink, and you can increase the disk size once every six hours.

Important

Storage expansion is unavailable on free instances. Move to a paid instance type to change storage capacity.

Expect a brief reconnect while the instance restarts on the new size. For when to resize and what to watch afterwards, see Scaling.

Pausing stops compute without losing data. A paused instance is unreachable until you resume it, its data and configuration are kept, and usage is not billed while it is paused.

To pause an instance:

  1. Open Instance settings → General.

  2. Select Pause instance.

  3. Confirm the action.

Pausing suits environments with predictable idle periods, such as a staging instance overnight or a demo between engagements.

Before you pause, check that nothing depends on the instance being reachable. Connection pools, scheduled jobs, and health checks fail against a paused instance rather than queue against it.

Unused free instances are paused automatically after seven days.

The General tab of instance settings in SurrealDB Studio, showing the instance id with a copy button, a Pause instance panel explaining that a paused instance is entirely unreachable until resumed while its data is kept and usage is not billed, and a Delete instance panel warning that permanently removing an instance cannot be undone.

Resuming brings the instance back on the same configuration and the same endpoint.

Deleting destroys the instance and everything stored in it. You cannot undo it, and support cannot recover a deleted instance.

Warning

Do not treat the snapshots of an instance as the safety net for deleting it. If you might need the data later, restore a backup into a new instance or take a logical export first. Confirm the export loads cleanly before you delete.

To delete an instance:

  1. Open Instance settings → General.

  2. Select Delete instance.

  3. Confirm the action.

surrealctl instance pause, surrealctl instance resume, and surrealctl instance delete are the command-line equivalents.

The General tab also shows the instance id. SurrealDB support may ask for it when investigating an issue. The id identifies the instance unambiguously where the name does not, because names are only unique within an organisation.

Was this page helpful?