forked from tangled.org/core
this repo has no description
1# spindle self-hosting guide 2 3## prerequisites 4 5* Go 6* Docker (the only supported backend currently) 7 8## configuration 9 10Spindle is configured using environment variables. The following environment variables are available: 11 12* `SPINDLE_SERVER_LISTEN_ADDR`: The address the server listens on (default: `"0.0.0.0:6555"`). 13* `SPINDLE_SERVER_DB_PATH`: The path to the SQLite database file (default: `"spindle.db"`). 14* `SPINDLE_SERVER_HOSTNAME`: The hostname of the server (required). 15* `SPINDLE_SERVER_JETSTREAM_ENDPOINT`: The endpoint of the Jetstream server (default: `"wss://jetstream1.us-west.bsky.network/subscribe"`). 16* `SPINDLE_SERVER_DEV`: A boolean indicating whether the server is running in development mode (default: `false`). 17* `SPINDLE_SERVER_OWNER`: The DID of the owner (required). 18* `SPINDLE_PIPELINES_NIXERY`: The Nixery URL (default: `"nixery.tangled.sh"`). 19* `SPINDLE_PIPELINES_WORKFLOW_TIMEOUT`: The default workflow timeout (default: `"5m"`). 20* `SPINDLE_PIPELINES_LOG_DIR`: The directory to store workflow logs (default: `"/var/log/spindle"`). 21 22## running spindle 23 241. **Set the environment variables.** For example: 25 26 ```shell 27 export SPINDLE_SERVER_HOSTNAME="your-hostname" 28 export SPINDLE_SERVER_OWNER="your-did" 29 ``` 30 312. **Build the Spindle binary.** 32 33 ```shell 34 cd core 35 go mod download 36 go build -o cmd/spindle/spindle cmd/spindle/main.go 37 ``` 38 393. **Create the log directory.** 40 41 ```shell 42 sudo mkdir -p /var/log/spindle 43 sudo chown $USER:$USER -R /var/log/spindle 44 ``` 45 464. **Run the Spindle binary.** 47 48 ```shell 49 ./cmd/spindle/spindle 50 ``` 51 52Spindle will now start, connect to the Jetstream server, and begin processing pipelines.