Dokploy

SpacetimeDB

SpacetimeDB is a relational database with a built-in server runtime. Clients connect directly to the database and run server-side logic (modules) inside it, making it ideal for real-time multiplayer games, chat and collaborative applications without a separate backend.

SpacetimeDB logo

Configuration

version: "3.8"
services:
  spacetimedb:
    image: clockworklabs/spacetime:v2.6.1
    restart: unless-stopped
    command: start
    ports:
      - 3000
    volumes:
      - spacetimedb-data:/home/spacetime

volumes:
  spacetimedb-data: {}
[variables]
main_domain = "${domain}"

[config]
[[config.domains]]
serviceName = "spacetimedb"
port = 3000
host = "${main_domain}"

Base64

To import this template in Dokploy: create a Compose service → AdvancedBase64 import and paste the content below:

ewogICJjb21wb3NlIjogInZlcnNpb246IFwiMy44XCJcbnNlcnZpY2VzOlxuICBzcGFjZXRpbWVkYjpcbiAgICBpbWFnZTogY2xvY2t3b3JrbGFicy9zcGFjZXRpbWU6djIuNi4xXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBjb21tYW5kOiBzdGFydFxuICAgIHBvcnRzOlxuICAgICAgLSAzMDAwXG4gICAgdm9sdW1lczpcbiAgICAgIC0gc3BhY2V0aW1lZGItZGF0YTovaG9tZS9zcGFjZXRpbWVcblxudm9sdW1lczpcbiAgc3BhY2V0aW1lZGItZGF0YToge31cbiIsCiAgImNvbmZpZyI6ICJbdmFyaWFibGVzXVxubWFpbl9kb21haW4gPSBcIiR7ZG9tYWlufVwiXG5cbltjb25maWddXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJzcGFjZXRpbWVkYlwiXG5wb3J0ID0gMzAwMFxuaG9zdCA9IFwiJHttYWluX2RvbWFpbn1cIlxuIgp9

Instructions

SpacetimeDB

SpacetimeDB is a database and server runtime in one: your clients connect directly to the database and your application logic runs inside it as WebAssembly modules. There is no web UI — the domain assigned to this service exposes the SpacetimeDB HTTP/WebSocket API (so opening / in a browser returns a plain 404; that is expected).

Verify the server is running

curl -i https://your-domain.com/v1/ping

A 200 OK response means the server is up.

Connect with the SpacetimeDB CLI

  1. Install the CLI on your local machine:

    curl -sSf https://install.spacetimedb.com | sh
  2. Register your Dokploy instance as a server and make it the default:

    spacetime server add --url https://your-domain.com dokploy --default
  3. Log in (or create an anonymous local identity) and publish a module:

    spacetime login
    spacetime publish --server dokploy my-database
  4. Check connectivity at any time:

    spacetime server ping dokploy

From your game or app, connect with any SpacetimeDB client SDK (Rust, C#, TypeScript) using https://your-domain.com as the host URI. See the getting started guide for a full walkthrough.

Notes

  • All server state (databases, logs and the JWT signing keys used for identities) is persisted in the spacetimedb-data volume, so identities survive restarts and upgrades.
  • Client connections use WebSockets over the same domain; no extra configuration is needed.

Tags

database, realtime, backend


Version: v2.6.1

On this page