P2P booru. It associates images and videos with tag metadata.
This image, itself, is hosted with HooYa.
Longer discussion on what boorus are and on the HooYa vision is at wesl.ee/HooYa.
- hooyad - Core daemon for file storage. Handles P2P connectivity
- hooya-web-proxy - HTTP proxy server that provides REST API access to hooyad for clients like hooya-web-ui and hooya-client
- hooya-web-ui - Next.js web interface for browsing and managing files
- hooya-client - CLI client for interacting with hooyad. Probably deprecated soon because web-ui is just better.
- hooya-gtk - GTK desktop application. Very dead. Deader than the CLI client.
- proto - Protocol buffer definitions for gRPC communication
Use nix develop
to boot into a dev shell:
git clone --recurse-submodules git@github.com:hooya-network/hooya.git
cd hooya
nix develop
cargo build --release
For the web UI (separate repository):
git clone git@github.com:hooya-network/hooya-web-ui.git
cd hooya-web-ui
nix develop
npm i
npm run dev
# or npm run build
See the hooya-web-ui README for detailed setup instructions.
Start the core daemon:
./target/release/hooyad
Note: Secure access to the gRPC control port (TCP 8531) otherwise anyone can connect and upload anything to your instance.
Start the web proxy
./target/release/hooya-web-proxy
Start the web UI development server (hooya-web-ui):
cd ../hooya-web-ui
npm run dev
The web interface will be available at http://localhost:3000 and connects to the web proxy on port 8532.
Production deployment examples are available in the /deploy
directory:
- Docker Compose: Containerized deployment with pre-built images
- Kubernetes: Kubernetes manifests for cluster deployment
- systemd: systemd service files for Linux systems
Each deployment method includes both the core hooya services and the web UI.
MIT License (available in the source tree as /LICENSE)