https://github.com/yamatt/fly-conduit
A Matrix server running on Fly.io
https://github.com/yamatt/fly-conduit
conduit flyio matrix
Last synced: 2 days ago
JSON representation
A Matrix server running on Fly.io
- Host: GitHub
- URL: https://github.com/yamatt/fly-conduit
- Owner: yamatt
- License: mit
- Created: 2025-12-11T16:03:19.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-02-16T16:03:58.000Z (4 months ago)
- Last Synced: 2026-02-16T23:41:37.645Z (4 months ago)
- Topics: conduit, flyio, matrix
- Language: Dockerfile
- Homepage:
- Size: 30.3 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fly-conduit
A Matrix server running on Fly.io using [Conduit](https://conduit.rs/) - a lightweight Matrix homeserver written in Rust.
## Prerequisites
- A [Fly.io](https://fly.io) account
- [flyctl](https://fly.io/docs/hands-on/install-flyctl/) CLI installed
- Docker (for local testing)
## Setup
1. **Create a Fly.io app:**
```bash
flyctl launch
```
2. **Create a volume for persistent data:**
```bash
flyctl volumes create conduit_data --size 1
```
3. **Set your Matrix server name:**
```bash
flyctl secrets set CONDUIT_SERVER_NAME=your-domain.com
```
4. **Deploy:**
```bash
flyctl deploy
```
## Configuration
The server is configured via environment variables. Key settings:
- `CONDUIT_SERVER_NAME`: Your Matrix server's domain name
- `CONDUIT_DATABASE_PATH`: Path to the database (default: `/var/lib/matrix-conduit`)
- `CONDUIT_PORT`: Port the server listens on (default: `6167`)
- `CONDUIT_ADDRESS`: Address to bind to (default: `0.0.0.0`)
See the [Conduit documentation](https://gitlab.com/famedly/conduit/-/blob/next/README.md) for all available configuration options.
### First Setup
At first setup you will need to allow registration, then disable it afterwards.
You can do this by setting:
```sh
fly secrets set CONDUIT_ALLOW_REGISTRATION=true
```
Then setting
```sh
fly secrets set CONDUIT_ALLOW_REGISTRATION=false
```
## Continuous Deployment
This repository includes:
- **GitHub Actions workflow** (`docker-check-and-deploy.yml`): Automatically checks the Dockerfile and deploys to Fly.io on push to main
- **Dependabot**: Weekly checks for dependency updates
To enable automatic deployments, add your `FLY_API_TOKEN` as a GitHub secret.
## Local Development
Build and run locally:
```bash
docker build -t fly-conduit .
docker run -p 6167:6167 -v conduit_data:/var/lib/matrix-conduit fly-conduit
```
## License
See [LICENSE](LICENSE) file for details.