HomeRun it yourselfRun it yourself

Self-host with Docker

Deploy the app with versioned images and your own storage.

Before you start

Use a current Docker Engine with Compose on a supported Linux host. Keep data volumes backed up, allow outbound public media traffic, and leave storage headroom. The default web listener is local to the host.

Install the release

Open http://localhost:3000. The versioned override pulls the released API, web and egress images; --no-build uses those images. Keep the .env file and volumes outside version control.

Terminal
git clone --branch v0.1.0 https://github.com/Lord-shaban/OpenDownload.git
cd OpenDownload
cp .env.example .env
docker compose -f compose.yaml -f compose.release.yaml pull
docker compose -f compose.yaml -f compose.release.yaml up --no-build -d --wait

Keep the network boundary

The API and extractor share an internal network. Public traffic leaves through the guarded egress proxy. Do not expose the API directly or remove this boundary. Public ingress needs HTTPS, exact origin configuration and abuse controls.

Cloud profile

The separate single-container cloud image requires nested unprivileged Linux namespaces and persistent /data. Startup refuses incompatible runtimes. Vercel hosts this product website; the download engine runs separately and cannot be deployed as a static site.

Read the full engineering guides