-
Notifications
You must be signed in to change notification settings - Fork 0
Docker
🌐 English · Deutsch
Official image: ghcr.io/themrx13/mrx-aniworld-downloader:latest (Debian-based, includes FFmpeg, mpv, Xvfb and Patchright Chromium for captchas).
services:
aniworld:
container_name: aniworld-downloader
image: ghcr.io/themrx13/mrx-aniworld-downloader:latest
ports:
- "8080:8080"
volumes:
- ./Downloads:/app/Downloads # downloads on the host
- aniworld-data:/home/aniworld/.aniworld # configuration & database
# security hardening
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
read_only: true
tmpfs:
- /tmp:mode=1777,size=512m
- /run:size=64m
restart: unless-stopped
volumes:
aniworld-data:Important: Create
./Downloadsbefore the first start (mkdir -p Downloads) — otherwise Docker creates the folder asrootand you get permission errors (the container runs as the unprivileged useraniworld).
On first start the setup token appears in the container log:
docker compose logs -f aniworld
# → open http://<HostIP>:8080/setup?token=<token>Alternatively, create the admin account directly via environment variables (skips the setup page):
environment:
ANIWORLD_WEB_ADMIN_USER: "admin"
ANIWORLD_WEB_ADMIN_PASS: "changeme"All settings are configurable via the WebUI and stored in the database (volume aniworld-data). Env variables are only useful for initial configuration/automation:
environment:
# SSO / OIDC (see Authentication)
ANIWORLD_WEB_SSO: "1"
ANIWORLD_WEB_FORCE_SSO: "1"
ANIWORLD_OIDC_ISSUER_URL: "https://keycloak.example.com/realms/myrealm"
ANIWORLD_OIDC_CLIENT_ID: "aniworld"
ANIWORLD_OIDC_CLIENT_SECRET: "secret"
# reverse proxy
ANIWORLD_WEB_BASE_URL: "https://aniworld.example.com"- The container runs
aniworld -wP 8080 -wN -wH 0.0.0.0behind an Xvfb display (:99) — required so the captcha browser has a "real" display even headless. - Timezone/locale default to
Europe/Berlin/de_DE.UTF-8(overridable viaTZ/LANG) — realistic values improve the captcha success rate. - Built-in healthcheck: verifies every 30 s that the WebUI responds.
- Download path inside the container:
/app/Downloads(preset viaANIWORLD_DOWNLOAD_PATH).
- Set
ANIWORLD_WEB_BASE_URLto the publichttps://URL (or in the UI under Settings) — this generates correct absolute URLs and enables secure cookies. - Register
https://<domain>/oidc/callbackas the redirect URI at your OIDC provider. - No WebSocket support needed; plain HTTP proxying is sufficient.
docker compose pull
docker compose up -dConfiguration and queue survive thanks to the aniworld-data volume.
🇬🇧 English
Users
- Installation
- Getting Started
- Configuration
- Web UI
- Download System
- Download History
- AutoSync
- Calendar
- Library
- Authentication
- Notifications
- Integrations
- SyncPlay
- Anime4K Upscaling
- Encoding
- Docker
- Supported Sites
Developers