mirror of
https://github.com/Dokploy/templates.git
synced 2026-07-16 03:15:23 +02:00
feat: add SpacetimeDB template
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
13
blueprints/spacetimedb/docker-compose.yml
Normal file
13
blueprints/spacetimedb/docker-compose.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
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: {}
|
||||
45
blueprints/spacetimedb/instructions.md
Normal file
45
blueprints/spacetimedb/instructions.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# 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
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
curl -sSf https://install.spacetimedb.com | sh
|
||||
```
|
||||
|
||||
2. Register your Dokploy instance as a server and make it the default:
|
||||
|
||||
```bash
|
||||
spacetime server add --url https://your-domain.com dokploy --default
|
||||
```
|
||||
|
||||
3. Log in (or create an anonymous local identity) and publish a module:
|
||||
|
||||
```bash
|
||||
spacetime login
|
||||
spacetime publish --server dokploy my-database
|
||||
```
|
||||
|
||||
4. Check connectivity at any time:
|
||||
|
||||
```bash
|
||||
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](https://spacetimedb.com/docs/getting-started) 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.
|
||||
BIN
blueprints/spacetimedb/logo.png
Normal file
BIN
blueprints/spacetimedb/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.6 KiB |
17
blueprints/spacetimedb/meta.json
Normal file
17
blueprints/spacetimedb/meta.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"id": "spacetimedb",
|
||||
"name": "SpacetimeDB",
|
||||
"version": "v2.6.1",
|
||||
"description": "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.",
|
||||
"logo": "logo.png",
|
||||
"links": {
|
||||
"github": "https://github.com/clockworklabs/SpacetimeDB",
|
||||
"website": "https://spacetimedb.com/",
|
||||
"docs": "https://spacetimedb.com/docs"
|
||||
},
|
||||
"tags": [
|
||||
"database",
|
||||
"realtime",
|
||||
"backend"
|
||||
]
|
||||
}
|
||||
8
blueprints/spacetimedb/template.toml
Normal file
8
blueprints/spacetimedb/template.toml
Normal file
@@ -0,0 +1,8 @@
|
||||
[variables]
|
||||
main_domain = "${domain}"
|
||||
|
||||
[config]
|
||||
[[config.domains]]
|
||||
serviceName = "spacetimedb"
|
||||
port = 3000
|
||||
host = "${main_domain}"
|
||||
Reference in New Issue
Block a user