专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

gangefors/airdcpp-webclient Docker 镜像 - 轩辕镜像

airdcpp-webclient
gangefors/airdcpp-webclient
自动构建
AirDC++ Web Client Docker image
27 收藏0 次下载activegangefors镜像
🚀专业版镜像服务,面向生产环境设计
镜像简介版本下载
🚀专业版镜像服务,面向生产环境设计

AirDC++ Web Client Docker image

Docker image running AirDC++ Webclient software. You must have proper knowledge of Docker to use this image.

Run the application

docker volume create --name airdcpp-volume
docker run -d --name airdcpp-container \
    -p 80:5600 -p 443:5601 \
    -p 21248:21248 -p 21248:21248/udp -p 21249:21249 \
    -e PUID=$(id -u) \
    -e PGID=$(id -g) \
    -v airdcpp-volume:/.airdcpp \
    -v $HOME/Downloads:/Downloads \
    -v $HOME/Share:/Share \
    gangefors/airdcpp-webclient

The web UI will be available on http://localhost and https://localhost. HTTPS is using self-signed certs, see Enable HTTPS for more details.

If you want to access the Web UI on any other port, just update the -p option in the command, e.g -p 8081:5600 to bind to port 8081 instead. See Exposed Ports for more details.

Username / password for the default admin account is: admin / password

PUID / PGID environment variables are only available using the latest tag and versions later than 2.11.0. Older images will not be rebuilt.

Command Explanation
docker volume create --name airdcpp-volume

This command creates a named volume that will store the application settings.

Run the volume create command only once.

docker run -d --name airdcpp-container \
    -p 80:5600 -p 443:5601 \
    -p 21248:21248 -p 21248:21248/udp -p 21249:21249 \
    -e PUID=$(id -u) \
    -e PGID=$(id -g) \
    -v airdcpp-volume:/.airdcpp \
    -v $HOME/Downloads:/Downloads \
    -v $HOME/Share:/Share \
    gangefors/airdcpp-webclient

This command starts a container using the default settings built into the image, binding the application to port 80/443 (default http/https ports) so it's readily available on http://localhost and https://localhost.

The container is started as root but the application within will be running as the user running the docker command. This is necessary to make the files written by the application to be owned by your local user even outside the container.

It will also mount "Downloads" and "Share" from you home directory. Change these according to your personal setup.

Environment variables

If you run the container as root you need to set the PUID/PGID variables. Example: -e PUID=1000 -e PGID=1000. All files written by the application will be owned by this user and group. Use UMASK to change the permissions of the files.

  • PUID

    Application runs as this user id. Usually you want this to be your local user id. Must be >= 101.

  • PGID

    Application runs as this group id. Usually you want this to be your local user's group id. Must be >= 101.

The reason for the >= 101 limitation is that the image already contains accounts and groups with IDs lower than that. Use --user if you need to use IDs lower than 101.

  • UMASK

    Changes how the application writes its files. Defaults to 0022. Read more on the umask man page.

Run container as non-root

You can also start the container as a non-root user. This is another way of telling the application which user you want it to run as.

Add --user $(id -u):$(id -g) to the docker run command and the container will start as the user that runs the command.

docker run -d --name airdcpp-container \
    -p 80:5600 -p 443:5601 \
    -p 21248:21248 -p 21248:21248/udp -p 21249:21249 \
    --user $(id -u):$(id -g) \
    -v airdcpp-volume:/.airdcpp \
    -v $HOME/Downloads:/Downloads \
    -v $HOME/Share:/Share \
    gangefors/airdcpp-webclient

You can also put in specific IDs if you want to run as a different user than the current user. E.g. if you need to use an ID that is lower than the ones supported by PUID/PGID (but not 0). Make sure that the mounts and the files therein are owned and writable by the user, otherwise the container will fail to start.

Run container with Podman

This feature is available since label 2.11.2-podman. The suffix is only used by v2.11.2.

You can start a container using Podman. Make sure that the mounts and the files therein are owned and writable by the user, otherwise the container will fail to start.

Podman users should run the container as root (uid=0). I.e. don't add --user or PUID/PGID.

podman run -d --name airdcpp-container \
    -p 80:5600 -p 443:5601 \
    -p 21248:21248 -p 21248:21248/udp -p 21249:21249 \
    -v airdcpp-volume:/.airdcpp \
    -v $HOME/Downloads:/Downloads \
    -v $HOME/Share:/Share \
    gangefors/airdcpp-webclient

docker-compose

There is a docker-compose file available to set up the application as a service on a docker host. Just run the following.

docker-compose up -d
Compose variables

You can configure some aspects of the application when using docker-compose by setting these environment variables before running docker-compose up -d.

  • PUID

    Application runs as this user id. Defaults to 1000. Usually you want this to be your local user id. Must be >= 101.

  • PGID

    Application runs as this group id. Defaults to 1000. Usually you want this to be your local user's group id. Must be >= 101.

  • UMASK

    Changes how the application writes its files. Defaults to 0022. Read more on the umask man page.

  • DL_DIR

    Host path mounted to /Downloads in the container. Defaults to $HOME/Downloads.

  • SHARE_DIR

    Host path mounted to /Share in the container. Defaults to $HOME/Share.

  • HTTP_PORT

    Published HTTP port. Defaults to 80.

  • HTTPS_PORT

    Published HTTPS port. Defaults to 443.

  • TCP_PORT

    Published TCP port for incoming connections. Defaults to 21248. If this is changed you have to change it in the application settings as well.

  • UDP_PORT

    Published UDP port for incoming connections. Defaults to 21248. If this is changed you have to change it in the application settings as well.

  • TLS_PORT

    Published TLS port for incoming connections. Defaults to 21249. If this is changed you have to change it in the application settings as well.

Volumes

  • /.airdcpp

    This volume stores the application settings.

    On launch it will be populated with default settings unless the folder already contains the DCPlusPlus.xml configuration file.

  • /Downloads

    This is the default Download folder, but you can change this in the settings through the web UI.

  • /Share

    This is the default share folder.

    Any bind mounted folder under this will automatically be added to your Share.

Exposed Ports

  • 5600 HTTP port

  • 5601 HTTPS port

  • 21248 TCP and UDP port for incoming connections. You have to publish this on the same port number otherwise clients will not be able to connect.

  • 21249 TCP port for incoming encrypted connections. You have to publish this on the same port number otherwise clients will not be able to connect.

If you want to use other ports for incoming connections you can change them under Settings>Connectivity>Advanced>Ports in the web UI.

The incoming connection ports are used to enable active mode. This allows you to connect to all peers in a hub, including the ones in passive mode.

Read more about connectivity modes in the official FAQ.

Add/modify admin users

To add/modify administrative users, run the following commands. Admin users can then add normal users in the web UI under Settings > System > Users.

docker stop airdcpp-container
docker run --rm -it --volumes-from airdcpp-container \
    -e PUID=$(id -u) -e PGID=$(id -g) \
    gangefors/airdcpp-webclient --add-user
docker start airdcpp-container

You must stop the webclient application container before running the --add-user command. If you add a user while it's running, the configuration will be overwritten when the application shuts down.

Upgrade

  • Pull the latest image.
  • Stop and remove the container.
  • Start a new container with the same command you started the old one.

Example:

docker pull gangefors/docker-airdcpp-webclient
docker stop airdcpp-container
docker rm airdcpp-container
docker run -d --name airdcpp-container \
    -p 80:5600 -p 443:5601 \
    -p 21248:21248 -p 21248:21248/udp -p 21249:21249 \
    -e PUID=$(id -u) \
    -e PGID=$(id -g) \
    -v airdcpp-volume:/.airdcpp \
    -v $HOME/Downloads:/Downloads \
    -v $HOME/Share:/Share \
    gangefors/airdcpp-webclient

Enable HTTPS

The image comes with self-signed certificates so you should be able to use HTTPS out of the box. But if you want to generate your own certificates here's how you do it.

The container must be running.

docker exec -it airdcpp-container openssl req \
    -subj "/C=US/ST=State/L=City/O=/CN=localhost" \
    -x509 -nodes -days 365 -newkey rsa:2048 \
    -keyout /.airdcpp/Certificates/client.key \
    -out /.airdcpp/Certificates/client.crt

Change the CN string to whatever the domain name or IP you are running your service on. You can also add more information in the -subj string if you want. Check this site for more information on the different fields.

Troubleshooting

File permission issues

If you get any permission issues with the config files you can solve this by running a temporary container and chowning the files through that.

docker run --rm \
  --volumes-from=airdcpp-container \
  debian:stable-slim \
  chown -R $(id -u):$(id -g) /.airdcpp
Container isn't working with Podman

It might happen that the startup script doesn't correctly identify that it was podman that started the container. This can be fixed by adding container=podman environment variable when starting the container.

podman run ... -e container=podman ...
Enable entrypoint logging

To see what commands are run during startup of the container you can add the following environment variable.

  • LOG_STARTUP

    Enable verbose logging during startup. Defaults to empty string, any value will enable verbose logging.

    docker run ... -e LOG_STARTUP=1 ...

Enable communication debug logs

AirDC++ have some options for enabling communication debug logs. Just add them as normal program options after the image name.

--cdm-hub
  Print all protocol communication with hubs in the console
--cdm-client
  Print all protocol communication with other clients in the console
--cdm-web
  Print web API commands and file requests in the console

Building the Docker image

This is not needed since the images are already pushed to Docker hub.

If you want to build your own image run the following command.

docker build --no-cache --pull -t gangefors/airdcpp-webclient:latest .

The Dockerfile is set up to fetch the latest version on master branch in the airdcpp-webclient git repo.

Build a different version

To build a different version than latest supply the build-arg dl_url. Find the URL for the version you want to build at <[***]>

export dl_url="[***]"
docker build --no-cache --pull -t gangefors/airdcpp-webclient:2.7.0 --build-arg dl_url .
查看更多 airdcpp-webclient 相关镜像 →
edirom/vife-meigarage-webclient logo
edirom/vife-meigarage-webclient
by edirom
MEIGarage的ViFE Web客户端
11M+ pulls
上次更新:5 个月前
healthopenshift/webclient logo
healthopenshift/webclient
by healthopenshift
提供Web客户端应用程序运行环境的Docker镜像,用于部署和运行Web客户端应用。
100K+ pulls
上次更新:4 天前
goledger/cc-webclient logo
goledger/cc-webclient
by goledger
GoInitus是一个项目初始化Docker镜像,通过在types文件夹定义输入模型及在类中管理输入状态,提供结构化类型定义与状态管理功能,帮助快速搭建项目基础架构。
10K+ pulls
上次更新:8 个月前
ssosecsystems/webclient logo
ssosecsystems/webclient
by ssosecsystems
暂无描述
10K+ pulls
上次更新:9 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
gangefors/airdcpp-webclient
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429