No description
  • TypeScript 97.2%
  • CSS 1.9%
  • HTML 0.4%
  • JavaScript 0.3%
  • Dockerfile 0.2%
Find a file
florian 43f011c0cc
Some checks failed
Release / release (push) Failing after 13s
Merge pull request 'Configure Renovate' (#25) from renovate/configure into main
Reviewed-on: #25
2026-06-14 02:47:24 +02:00
.changeset Version Packages 2026-01-28 15:48:23 +00:00
.github/workflows fix shell escape issue 2026-01-28 16:52:42 +01:00
assets Update binary assets: modified code, header, and login images 2026-01-28 01:27:49 +01:00
public remove 2026-01-28 02:24:44 +01:00
server Refactor Matrix authentication functions to improve error handling and streamline profile fetching. Update CountdownWheel component for smoother animation and visual consistency. 2026-01-28 02:24:57 +01:00
src Refactor Matrix authentication functions to improve error handling and streamline profile fetching. Update CountdownWheel component for smoother animation and visual consistency. 2026-01-28 02:24:57 +01:00
.env.example Update .env.example with new configuration options for Matrix OIDC and homeserver settings 2026-01-28 02:06:55 +01:00
.gitignore update gitignore 2026-01-28 02:13:18 +01:00
CHANGELOG.md Version Packages 2026-01-28 15:48:23 +00:00
components.json template: new_style_vite_react_shadcn_ts_testing_2026-01-08 2025-01-01 00:00:00 +00:00
docker-compose.dev.yml Update docker-compose configuration for development environment, adding Redis service and adjusting app settings. 2026-01-28 02:10:25 +01:00
docker-compose.yml Update docker-compose configuration for production environment, adjusting environment variables and adding .env file reference. 2026-01-28 02:32:02 +01:00
Dockerfile Update Dockerfile to expect yarn 2026-01-28 00:04:19 +01:00
eslint.config.js template: new_style_vite_react_shadcn_ts_testing_2026-01-08 2025-01-01 00:00:00 +00:00
index.html Add Redis-backed Matrix OIDC auth backend 2026-01-26 20:27:19 +01:00
LICENSE Add MIT License to the project 2026-01-28 02:30:18 +01:00
package-lock.json Bump the npm_and_yarn group across 1 directory with 3 updates 2026-01-28 15:17:53 +00:00
package.json Version Packages 2026-01-28 15:48:23 +00:00
postcss.config.js template: new_style_vite_react_shadcn_ts_testing_2026-01-08 2025-01-01 00:00:00 +00:00
README.md Update README 2026-01-28 16:47:07 +01:00
renovate.json Add renovate.json 2026-06-14 00:46:56 +00:00
tailwind.config.ts Changes 2026-01-26 01:10:52 +00:00
tsconfig.app.json template: new_style_vite_react_shadcn_ts_testing_2026-01-08 2025-01-01 00:00:00 +00:00
tsconfig.json template: new_style_vite_react_shadcn_ts_testing_2026-01-08 2025-01-01 00:00:00 +00:00
tsconfig.node.json template: new_style_vite_react_shadcn_ts_testing_2026-01-08 2025-01-01 00:00:00 +00:00
vite.config.ts Update dependencies 2026-01-28 00:02:15 +01:00
vitest.config.ts template: new_style_vite_react_shadcn_ts_testing_2026-01-08 2025-01-01 00:00:00 +00:00
yarn.lock Bump the npm_and_yarn group across 1 directory with 3 updates 2026-01-28 15:17:53 +00:00

Datenbach Matrix Social-Invites

datenbach_matrix_social_invites

GitHub release GitHub license GitHub issues GitHub stars GitHub forks GitHub watchers

Organically grow your Matrix community by sharing registration tokens with your friends and family.

code

🗺️ map

🗺️ About

Datenba.ch runs a communal, invitation only matrix server backed by Matrix Authentication Service (MAS). Traditionally only administrators are allowed to create Registration Tokens for new users which makes organic (Peer-to-Peer) invite creation difficult.

This project is our attempt to bridge the gap between the traditional registration token creation a decentralized (Peer-to-Peer) onboarding approach.

Datenbach Social Invites lets a Matrix user generate and manage a shared registration token for a Matrix homeserver. The React frontend is paired with an Express+Redis backend: after logging in via OIDC, the authenticated Matrix user can issue, view, and revoke a single invite token that other devices sharing the same Matrix identity can reuse.

Currently these tokens are generated with a invalidation timeout of 7 days and will automatically refresh. This allows our users to share their weekly invite code with their friends and family easily.

📦 Installation

The easiest way to install is to use Docker Compose.

# copy the environment variables from the .env.example file to a new .env file
cp .env.example .env
#  edit according to your environment variables
# build and run the container
docker compose up

Then navigate to http://localhost:8080 in your browser.

🎮 Development

While package.json contains a local development server configuration, we recommend using Docker Compose for development, since it bundles a local redis server.

# copy the environment variables from the .env.example file to a new .env.development file
cp .env.example .env.development
#  edit according to your environment variables
# build and run the container
docker compose -f docker-compose.dev.yml up --build

🚦 Environment

Most deployments can copy .env.example and edit values. These are the variables the server actually reads:

Required:

  • SESSION_COOKIE_SECRET - secret used to sign session cookies.
  • MATRIX_AUTH_SECRET - HMAC secret for invite signatures.
  • MATRIX_OIDC_CLIENT_ID - OIDC client ID (from MAS).
  • MATRIX_OIDC_ISSUER or the explicit endpoints below.
  • MATRIX_OIDC_REDIRECT_URI - callback URL (e.g. http://localhost:8080/api/auth/callback).
  • MATRIX_HOMESERVER_URL - Matrix homeserver base URL.
  • MATRIX_ACCESS_TOKEN - token with permissions to manage registration tokens.

OIDC options:

  • MATRIX_OIDC_ISSUER - OIDC discovery URL (used if explicit endpoints are not provided).
  • MATRIX_OIDC_AUTHORIZATION_ENDPOINT - override discovery.
  • MATRIX_OIDC_TOKEN_ENDPOINT - override discovery.
  • MATRIX_OIDC_USERINFO_ENDPOINT - optional override.
  • MATRIX_OIDC_CLIENT_SECRET - optional.
  • MATRIX_OIDC_SCOPE - optional; default openid profile email.

Redis (optional but recommended):

  • REDIS_URL - connection string; if set, host/port/user/pass are ignored.
  • REDIS_HOST, REDIS_PORT, REDIS_USER, REDIS_PASS
  • REDIS_TLS (set true to enable TLS)
  • REDIS_TLS_INSECURE (set true to skip TLS verification)

Other:

  • PORT - backend port (default 3000).
  • MATRIX_ADMIN_API_BASE - optional override for Matrix admin API base URL.
  • MATRIX_USER_ID - optional, used for config reporting.
  • FRONTEND_REDIRECT_URI - optional; default / after auth.
  • NODE_ENV - when production, cookies are marked secure.

🌐 Deployment

Build the server and run it behind any HTTP proxy. The Docker container is a convenience wrapper:

docker compose up --build