GitHunt
SE

seahorse-byte/ephemeral_hub

Ephemeral Hub:: A temporary, no-login-required space for text, files, and collaborative brainstorming

ephemeral hub

Ephemeral Hub

[A temporary, no-login-required hub for text, files, and collaborative brainstorming]

Netlify Status Latest Release

Crates.io



Ephemeral Hub is a temporary, no-login-required hub for text, files, and collaborative brainstorming. It provides a digital equivalent of a scrap piece of paper or a temporary whiteboard, where all content is automatically deleted after a set time.

This project is a monorepo containing

  • ephemeral_backend: An Axum-based Rust server that manages hubs, files, and WebSocket connections.
  • ephemeral_web: A Dioxus-based frontend application compiled to WebAssembly.
  • ephemeral_cli: A command-line interface for power users to interact with hubs.

๐Ÿš€ Getting Started

These instructions will get a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites: You will need the following tools installed on your system:

Rust & Cargo: https://www.rust-lang.org/tools/install
Docker & Docker Compose: https://www.docker.com/products/docker-desktop/
Dioxus CLI: cargo install dioxus-cli

๐Ÿ’ป Running Locally

Running the entire application stack is managed with two commands in two separate terminals. All commands should be run from the root ephemeral/ directory.

๐Ÿ–ฅ๏ธ Terminal 1: Start the Backend Stack

# This single command will build the backend's Docker image and start the backend server, a Redis database, and a MinIO S3-compatible file store.

docker-compose up --build

# The backend API will be available at http://127.0.0.1:3000.
# The MinIO web console will be available at http://127.0.0.1:9001 (user: minioadmin, pass: minioadmin).

๐ŸŒ Terminal 2: Start the Frontend

# This command will build and serve the Dioxus web application with hot-reloading.

dx serve --package ephemeral_web --open

# The frontend will be available at the URL provided by the CLI (usually http://127.0.0.1:8080).