Quick Start¶
Get fetchly running in under five minutes with Docker.
Prerequisites¶
- A Linux host with Docker (or Docker Desktop on macOS/Windows)
- A free TCP port —
8000in the examples below - Roughly 2 GB of free disk space for the image, plus whatever your downloads need
Architecture support
Official images are published for linux/amd64 and linux/arm64.
1. Generate a secret key¶
FETCHLY_SECRET_KEY signs the session cookie and the invisible anti-bot token. fetchly refuses to start without it.
Keep the key stable
Changing the key invalidates every existing session and every pending login form. Store it somewhere durable — an .env file next to your Compose file, or your secret manager.
2. Start the container¶
3. Open the UI¶
Navigate to http://127.0.0.1:8000.
Authentication is off on a fresh install
There is no built-in account and no default password. Anyone who can reach the port has full access until you create an admin account.
4. Enable authentication¶
- Open Settings → Security
- Enter an admin username and password (twice)
- Save — storing credentials switches the login on
Credentials live in the database only; no environment variable can set or override them. See Authentication for the session model.
5. Download something¶
- Paste a media URL into the input on the dashboard
- fetchly resolves the title, thumbnail, and duration
- Pick Video or Audio and the quality you want
- Submit — the job appears in the list and streams progress live
Verify the deployment¶
The container also ships a HEALTHCHECK that probes the same endpoint every 30 seconds, so docker ps reports healthy once the app is up.
Where to next¶
-
Configure it
Environment variables, in-app settings, retention, and worker limits.
-
Secure it
Put it behind TLS, turn on authentication, and understand the rate limits.
-
Reach gated content
Import a signed-in browser session per platform.