selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
agora logo

Self-host agora

0.1.2

Lightning-enabled HTTP file server with pay-per-download

BetaOpen SourceCC0-1.0
Updated14 hours ago
LanguageRust
Setup difficultyModerate
Stars
196
Ports
8080 (HTTP file server), 1234 (HTTP file server (example))
Install with Docker

What is agora?

Agora serves a local directory over HTTP with file listings and downloads. When linked to an LND node, it can require Lightning Network invoice payment before allowing downloads of paid files. Free and paid files coexist in one instance, controlled by per-directory .agora.yaml files. It can fetch TLS certificates automatically via Let's Encrypt ACME. Distribution options include ready-made executables for Linux, macOS, and Windows, a Docker image, and source builds with Cargo. There is no user authentication — access to paid files is gated by payment status. Development has been inactive since late 2022.

Should you self-host agora?

agora scores 41/100 on selfhost.directory (how scoring works) and ranks #67 of 86 in File Sharing. It has 196 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. It is CC0-1.0-licensed and written mostly in Rust.

Its closest alternative on selfhost.directory is copyparty (82/100, 47 163 stars). It scores higher overall, so compare the two before you pick. See agora vs copyparty side by side.

Features

  • Automatic HTTPS via Let's Encrypt
  • HTTP file serving
  • Lightning Network Payments
  • Markdown index pages
  • Per-directory access control
  • Recursive access configuration
  • Static binary distribution

agora README

How to install agora

Install agora with Docker

Environment variables
FILES_DIR, AGORA_PORT, LND_RPC_AUTHORITY, TLS_CERT_PATH, INVOICES_MACAROON_PATH

docker run
--network="host"
-e FILES_DIR=/files
-e AGORA_PORT=8080
-v ~/my-files:/files
agora:latest

Use --network=host for LND connectivity; mount LND data for Lightning payments

How to configure agora

  • AGORA_PORTHTTP port to listen on

    HTTP port to listen on

  • FILES_DIRDirectory to serve files from

    Directory to serve files from

  • INVOICES_MACAROON_PATHPath to LND invoice macaroon

    Path to LND invoice macaroon

  • LND_RPC_AUTHORITYLND RPC host:port

    LND RPC host:port

  • TLS_CERT_PATHPath to LND TLS certificate

    Path to LND TLS certificate

agora releases & version history

More in Cryptocurrency

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…