Skip to content

Commit

Permalink
add some very basic self-host docs
Browse files Browse the repository at this point in the history
  • Loading branch information
videah committed Jan 16, 2024
1 parent d0e02af commit 254adf5
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 2 deletions.
18 changes: 16 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,22 @@ dart pub get
dart_frog dev
```

SkyBridge isn't ready to be deployed to production yet, when it is there will be instructions
on how to do so here.
## Self Hosting
The instance of SkyBridge hosted at [skybridge.fly.dev](https://skybridge.fly.dev) is provided as a free public service
but currently faces heavy rate limiting from Bluesky due to all the requests coming from a single IPv4 address.
If you want a more consistent experience you can host your own instance to avoid this.

### Docker
The easiest way to run SkyBridge yourself is with Docker. The image [videah/skybridge](https://hub.docker.com/r/videah/skybridge)
is kept up to date with the main branch of this repo.

You can use the [docker-compose.yml](docker-compose.yml) file in the root of the project to get started.
Simply change the environment variables in the file, and tweak it to suit your setup. You probably want to stick a reverse proxy
like [nginx](https://nginx.org) or [caddy](https://caddyserver.com) in front of it.

### Fly.io
The public instance of SkyBridge is hosted on [Fly.io](https://fly.io). For a single user it is likely possible to
host an instance here for free. A [fly.toml](fly.toml) file is included in the root of the project to help you get started.

## Credits
Huge thanks to [Ninji](https://github.com/Treeki) for their [BirdBridge](https://github.com/Treeki/BirdBridge) project
Expand Down
24 changes: 24 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
version: "3.8"
services:
skybridge:
container_name: "skybridge"
image: videah/skybridge:latest
restart: always
volumes:
- skybridge:/app/database
environment:
# Base URL of where SkyBridge will be hosted without the protocol.
- SKYBRIDGE_BASEURL="your.domain.com"
# Random secret, generate with `openssl rand -base64 32`.
- SKYBRIDGE_SECRET=""
# Password used to make a SkyBridge instance private.
- SKYBRIDGE_AUTH_PASSWORD=""
# Should a bridge password be required to authenticate?
- SKYBRIDGE_REQUIRE_AUTH_PASSWORD=true
# Should a nice index page be shown on the root URL?
- SKYBRIDGE_SHOW_INDEX=false
# Allow backfilling/scrolling on timelines? (can cause issues on instances under heavy load)
- SKYBRIDGE_ALLOW_BACKFILL = true

volumes:
skybridge:

0 comments on commit 254adf5

Please sign in to comment.