All apps · 0 apps
artillery
Docker app from ObviousViking's Repository
Overview
Readme
View on GitHubArtillery
A web UI for gallery-dl. Create download tasks, schedule them, watch them run. Built to live in Docker on Unraid.

What it does
- Tasks — give a task a name, a list of URLs, and a cron schedule. Artillery runs gallery-dl for you and keeps the logs.
- Media wall — the dashboard shows a scrolling wall of your recent downloads so you can see what came in.
- Quick download — one-off download without creating a task.
- Stats — per-task run history, success/fail tracking, and downloadable archived logs.
- Config — edit your
gallery-dl.conffrom the browser. Backup and restore tasks + config as a zip. - Kiosks (early) — upload images and display them fullscreen in a browser. Good for a Pi on a TV.
Screenshots
![]() |
![]() |
![]() |
![]() |
Docker
docker run -d \
--name artillery \
-p 8088:80 \
-e PUID=99 \
-e PGID=100 \
-e TZ=America/New_York \
-v /mnt/user/appdata/artillery/config:/config \
-v /mnt/user/appdata/artillery/tasks:/tasks \
-v /mnt/user/pictures:/downloads \
obviousviking/artillery
| Volume | Purpose |
|---|---|
/config |
gallery-dl config, task schedules, kiosk data |
/tasks |
one folder per task — logs, URLs, run history |
/downloads |
where gallery-dl puts files |
gallery-dl updates itself on container start.
TZ (e.g. Asia/Seoul, America/New_York) controls the timezone used for scheduling and for timestamps shown in the UI (Stats/History, last run, logs). If it's not set, the container defaults to UTC.
Docker Compose
Prefer Compose? Same setup:
services:
artillery:
image: obviousviking/artillery
container_name: artillery
ports:
- "8088:80"
environment:
- PUID=99
- PGID=100
- TZ=America/New_York
volumes:
- ./config:/config
- ./tasks:/tasks
- ./downloads:/downloads
restart: unless-stopped
docker compose up -d
(Windows: point the volumes at whatever local paths you're using, e.g. C:/artillery/config:/config, and drop PUID/PGID — those only matter on Linux hosts.)
Unraid
Install from Community Applications. Map /config and /tasks to appdata, /downloads to wherever your media lives. Set PUID/PGID to match your Unraid user (usually 99/100).
Unraid injects TZ automatically from your server's Date/Time settings, even though it's not a field on the template — so timestamps normally just match your Unraid server's configured timezone with no extra setup. To run Artillery on a different timezone than the rest of your server, add a variable manually: container Edit → Add another Path, Port, Variable, Label or Device → Variable, key TZ, value e.g. Asia/Seoul.
Kiosk mode (dedicated display)
Open a kiosk URL in Chromium with --kiosk and it runs fullscreen with no browser chrome:
# Linux / Raspberry Pi
chromium-browser --kiosk --incognito "http://your-server/kiosk/name"
# Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --kiosk "http://your-server/kiosk/name"
The manage page generates these commands for you.
Stack
Flask · gunicorn · gallery-dl · APScheduler · Bootstrap 5 · Docker
Install Artillery on Unraid in a few clicks.
Find Artillery in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Total Downloads Over Time
Related apps
Explore more like this
Explore allDetails
obviousviking/artilleryRuntime arguments
- Web UI
http://[IP]:[PORT:80]/- Network
bridge- Shell
sh- Privileged
- false
Template configuration
- Target
- 80
- Default
- 8088
- Value
- 8088
The location of the global gallery-dl config file
- Target
- /config
- Value
- /mnt/user/artillery/config
This is where your downloaded media will be stored
- Target
- /downloads
- Value
- /mnt/user/artillery/downloads
This location will store your scheduled tasks
- Target
- /tasks
- Value
- /mnt/user/artillery/tasks
- Value
- 99
- Value
- 100



