StroyGetter - An online open source video downloader
4.2K
This guide walks you through running StroyGetter on your machine in minutes using the pre-built image from Docker Hub — no need to clone the repo or compile anything.
If you already have Docker installed, three commands are all you need:
mkdir stroygetter && cd stroygetter && mkdir -p data logs
curl -fsSL https://raw.githubusercontent.com/DestroyCom/StroyGetter/master/docker-compose.yml -o docker-compose.yml
docker compose up -d
Open http://localhost:3002 — done.
No
curl? Create adocker-compose.ymlfile manually using the template in step 3 below, then rundocker compose up -d.
OrbStack is a lightweight, fast drop-in replacement for Docker Desktop with near-instant startup and low memory/CPU usage.
.dmg and drag OrbStack to /Applicationsdocker and docker compose CLI toolsOrbStack provides a fully Docker-compatible daemon: all
dockeranddocker composecommands work exactly as they would with Docker Desktop.
Available at docs.docker.com/desktop/install/mac-install.
Available at docs.docker.com/desktop/install/windows-install.
Prerequisite: WSL 2 must be enabled (the installer will guide you through it).
# Ubuntu / Debian
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER # run docker without sudo (requires re-login)
You only need one directory to hold the config file and persistent data.
mkdir stroygetter && cd stroygetter
mkdir -p data logs
docker-compose.yml fileCreate a docker-compose.yml file in that directory with the following content:
services:
stroygetter:
image: destcom/stroygetter:latest
container_name: stroygetter
restart: unless-stopped
ports:
- "3002:3000"
environment:
- SITE_URL=http://localhost:3002
- DATABASE_URL=file:/temp/stroygetter/database/local.db
- LOG_LEVEL=info
- CLEANUP_INTERVAL=7
volumes:
- ./data:/temp/stroygetter:rw
- ./logs:/logs:rw
docker compose up -d
Docker automatically pulls destcom/stroygetter:latest from Docker Hub and starts the container in the background.
Check that everything is running:
docker compose ps # container status
docker compose logs -f # stream logs in real time (Ctrl+C to exit)
The app is available at http://localhost:3002.
| Variable | Default | Description |
|---|---|---|
DATABASE_URL | file:/temp/stroygetter/database/local.db | SQLite path (required) |
SITE_URL | http://localhost:3002 | Canonical base URL (sitemap, OpenGraph) |
CLEANUP_INTERVAL | 7 | File retention in days |
CRON | 0 0 * * * | Cleanup schedule (cron syntax) |
MAX_FILESIZE | 8G | Max size per yt-dlp stream (--max-filesize) |
LOG_LEVEL | info | Pino log level: trace debug info warn error |
COOKIES_PATH | (unset) | Path to a Netscape-format cookies file (age-restricted videos) |
BANNER_TEXT | (unset) | Info banner text — non-empty string shows the banner |
BANNER_HREF | (unset) | Link attached to the banner |
Add any variable you want to customize to the environment: section of your docker-compose.yml.
To download YouTube videos that require a login (age-restricted, etc.), mount a Netscape-format cookies file:
volumes:
- ./data:/temp/stroygetter:rw
- ./logs:/logs:rw
- ./cookies.txt:/run/secrets/cookies.txt:ro # add this
environment:
- COOKIES_PATH=/run/secrets/cookies.txt # add this
Export your cookies from your browser using the "Get cookies.txt LOCALLY" extension (Chrome/Firefox).
To upgrade to the latest version:
docker compose pull # pull the new image
docker compose up -d # recreate the container
docker image prune -f # remove old images (optional)
docker compose down # stop and remove the container (data in ./data is preserved)
docker compose down -v # same + remove anonymous volumes
Content type
Image
Digest
sha256:26b30d327…
Size
502.9 MB
Last updated
9 days ago
docker pull destcom/stroygetter