Web Asset Server 是 Specify 的附件服务器实现,用于处理 Specify 系统的附件存储、管理及相关服务。该实现主要面向 Ubuntu 系统,其他 Linux 系统需少量修改即可运行,Windows 系统需大量适配才能使用。其核心功能包括附件的元数据处理、缩略图生成、Web 服务提供等,旨在为 Specify 客户端提供统一的附件访问接口。
shellsudo apt-get -y install --no-install-recommends \ python-pip \ imagemagick \ ghostscript sudo pip install -r requirements.txt
shellgit clone git://github.com/specify/web-asset-server.git cd web-asset-server
修改工作目录下的 settings.py 文件,关键配置项包括:
SERVER:设置为 'paste'(推荐使用 Paste 服务器)attachment.key:生成或获取访问密钥(需与 Specify 配置一致)dockerfileFROM ubuntu:latest WORKDIR /app RUN apt-get update && apt-get install -y --no-install-recommends \ python3 \ python3-pip \ imagemagick \ ghostscript \ && rm -rf /var/lib/apt/lists/* COPY requirements.txt . RUN pip3 install --no-cache-dir -r requirements.txt COPY . . RUN sed -i 's/SERVER = .*/SERVER = "paste"/' settings.py EXPOSE 8080 CMD ["python3", "server.py"]
yamlversion: '3' services: web-asset-server: build: . ports: - "8080:8080" volumes: - ./settings.py:/app/settings.py - ./assets:/app/assets # 附件存储目录(可选) restart: always
shelldocker-compose up -d
在 settings.py 中设置 SERVER = 'paste',通过以下命令启动:
shellpython server.py
推荐使用 authbind 工具:
shellsudo apt-get install authbind # 允许当前用户使用 80 端口 touch 80 && chmod u+x 80 && sudo mv 80 /etc/authbind/byport # 启动命令 authbind python server.py
/etc/systemd/system/web-asset-server.service:ini[Unit] Description=Specify Web Asset Server Wants=network.target [Service] User=specify # 替换为实际运行用户 WorkingDirectory=/home/specify/web-asset-server # 替换为实际路径 ExecStart=/usr/bin/authbind /usr/bin/python /home/specify/web-asset-server/server.py # 若使用特权端口 Restart=always [Install] WantedBy=multi-user.target
shellsudo systemctl daemon-reload sudo systemctl enable --now web-asset-server
/etc/init/web-asset-server.conf:inidescription "Specify Web Asset Server" author "Ben Anhalt <***>" start on runlevel [234] stop on runlevel [0156] setuid anhalt # 替换为实际运行用户 chdir /home/anhalt/web-asset-server # 替换为实际路径 exec /usr/bin/authbind /usr/bin/python /home/anhalt/web-asset-server/server.py # 若使用特权端口 respawn
shellsudo initctl reload-configuration sudo start web-asset-server
日志路径:/var/log/upstart/web-asset-server.log
若 Specify 7 服务器启用 HTTPS,需为 Web Asset Server 配置 HTTPS。推荐通过 Nginx 反向代理实现,配置示例参考 该 Gist。关键配置包括:
web_asset_store.xml 资源中的链接需在 Specify 全局偏好中添加以下属性(通过 Specify 客户端的“帮助 > 关于”菜单,双击“系统信息”中的机构名称进入配置界面):
| 属性名 | 值说明 |
|---|---|
USE_GLOBAL_PREFS | 设置为 true,启用全局偏好 |
attachment.key | 与 settings.py 中的密钥一致 |
attachment.url | 服务器访问地址,格式:http://[服务器IP或域名]/web_asset_store.xml |
attachment.use_path | 设置为 false,使用 URL 访问而非本地路径 |
Web Asset Server 版权所有 © 2020 Specify Collections Consortium。
本软件为自由软件,遵循 GNU General Public License 2 (GPL2) 协议,不提供任何明示或暗示的担保。
Specify Collections Consortium
Biodiversity Institute
University of Kansas
1345 Jayhawk Blvd.
Lawrence, KS 66045 USA
官网:[***]

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429