
zelest/stacks!Stacks Logo
 # Uncomment and set incomplete_folder_path to "/incomplete" in the UI # - "/path/to/incomplete:/opt/stacks/incomplete" restart: unless-stopped environment: # These only apply on first run, afterward edit config.yaml directly # or update the configuration from the UI. - USERNAME=admin # Default admin username (change if desired) - PASSWORD=stacks # Default admin password - CHANGE THIS! # Uncomment to reset the admin password to the above values on startup # - RESET_ADMIN=true # If you're using the included ***, this will automatically # connect it. If you already got it running, you can change this # address to match your local setup, or delete this variable and set # it up inside Stacks later. - SOLVERR_URL=***:8191 # Set your timezone: # [***] - TZ=UTC # Optional, but recommended - bypasses Cloudflare and DDoS-Guard # protection on mirror sites. Required if you encounter 403 errors when # downloading. Not needed for fast downloads. ***: image: ghcr.io/***:latest container_name: *** ports: - "8191:8191" environment: - LOG_LEVEL=info restart: unless-stopped
Update the volume paths to wherever you want Stacks to keep its files.
Change PASSWORD to something secure (seriously, do this).
In the same directory, run:
bashdocker compose up
If you prefer running Stacks without Docker Compose, you can use the Docker CLI directly.
Prerequisites
Create the required folders on your host:
bashmkdir -p /path/to/config /path/to/download /path/to/logs
Set up the network:
bashdocker network create stacks
Set up ***
bashdocker run -d \ --name *** \ --network stacks \ -p 8191:8191 \ -e LOG_LEVEL=info \ --restart unless-stopped \ ghcr.io/***:latest
Set up Stacks
bashdocker run -d \ --name stacks \ --network stacks \ --stop-signal SIGTERM \ -p 7788:7788 \ -v /path/to/config:/opt/stacks/config \ -v /path/to/download:/opt/stacks/download \ -v /path/to/logs:/opt/stacks/logs \ -e USERNAME=admin \ -e PASSWORD=stacks \ -e SOLVERR_URL=***:8191 \ -e TZ=UTC \ --restart unless-stopped \ zelest/stacks:latest
Important notes
USERNAME and PASSWORD only apply on first run; afterward Stacks is configured via config.yaml.
Change the left side of -p 7788:7788 if port 7788 is already taken.
Always change the default password before exposing Stacks publicly.
To reset the admin password later, add:
bash-e RESET_ADMIN=true
By default, Stacks runs as root inside the container. This is normal fo rmany Docker images, but means that any files created or mounted volumes will also belong to root on the host.
If your other pass can't access the downloaded files, or you prefer stricter permission control, you can tell Docker to run Stacks as a different user.
Set a specific user in Docker Compose
yamlservices: stacks: # Use previous config and add: user: 1000:1000 # Replace with the UID:GID you want Stacks to use
Set a specific user in Docker CLI
bashdocker run -d \ --user 1000:1000 \ ... zelest/stacks:latest
If Stacks already have created files as root, you may need to update ownership nefore switching users:
bashsudo chown -R 1000:1000 /path/to/config sudo chown -R 1000:1000 /path/to/download sudo chown -R 1000:1000 /path/to/logs
Replace the UID/GID and paths to match your setup.
http://localhost:7788Stacks implements multiple layers of security:
Security Best Practices:
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is for personal use only. Please respect copyright laws and Anna's Archive's terms of service. Support authors and publishers when possible by purchasing their work.
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务