
jgeusebroek/spotweb本镜像基于Ubuntu 20.04 Linux系统,运行Spotweb应用。Spotweb是一个Usenet Spot的Web界面,用于浏览、搜索和管理Usenet网络中的Spot信息。使用此镜像需配合独立的MySQL/MariaDB数据库服务器(可通过Docker容器或专用数据库服务器提供)。
需要独立的MySQL/MariaDB服务器,可使用(链接的)Docker容器或专用数据库服务器。若使用docker-compose部署,可参考下方Docker Compose配置部分(感谢Daniel Jongepier提供的指南)。
准备数据库:在数据库服务器上创建数据库,并确保容器可访问该数据库。
运行临时容器:
bashdocker run -it --rm -p 80:80 \ -e TZ='Europe/Amsterdam' \ jgeusebroek/spotweb
注意:此处未配置数据库参数,目的是启用安装流程。
通过Web界面完成安装:访问[***],使用Spotweb安装向导创建必要的数据库表和用户。忽略配置保存时的警告信息。
退出临时容器:完成安装后,按CTRL/CMD+C退出容器,准备配置永久运行的容器。
bashdocker run --restart=always -d -p 80:80 \ --hostname=spotweb \ --name=spotweb \ -v <主机配置持久化目录>:/config \ -e 'TZ=Europe/Amsterdam' \ -e 'SPOTWEB_DB_TYPE=pdo_mysql' \ -e 'SPOTWEB_DB_HOST=<数据库服务器主机名>' \ -e 'SPOTWEB_DB_PORT=<数据库端口>' \ -e 'SPOTWEB_DB_NAME=spotweb' \ -e 'SPOTWEB_DB_USER=spotweb' \ -e 'SPOTWEB_DB_PASS=spotweb' \ jgeusebroek/spotweb
说明:
/config卷为可选,仅在需要自定义配置时使用。- 数据库端口为可选,未指定时使用MySQL/PostgreSQL默认端口。
完成后,通过[***]访问Spotweb界面。
可通过以下两种方式配置自动获取新Spot:
在主机的crontab中添加任务(示例每15分钟执行一次):
bash*/15 * * * * docker exec spotweb su -l www-data -s /usr/bin/php /var/www/spotweb/retrieve.php >/dev/null 2>&1
通过环境变量SPOTWEB_CRON_RETRIEVE指定cron调度(示例每15分钟执行一次):
bash-e 'SPOTWEB_CRON_RETRIEVE=*/15 * * * *'
容器会在新版本发布时自动尝试更新数据库结构。
docker-compose.yml(示例如下),根据需求修改环境变量。docker-compose up -d<基础目录>/spotweb/dbsettings.inc.php(否则安装流程无法启动,设置不会丢失)。http://localhost:81/install.php,按向导完成安装,忽略配置保存错误。docker-compose restart(dbsettings.inc.php会自动重建)。docker-compose.ymlyamlversion: '3' services: spotweb: image: jgeusebroek/spotweb ports: - "81:80" environment: - TZ=Europe/Amsterdam - SPOTWEB_DB_TYPE=pdo_mysql - SPOTWEB_DB_HOST=db - SPOTWEB_DB_NAME=spotweb - SPOTWEB_DB_USER=spotweb - SPOTWEB_DB_PASS=spotweb volumes: - ./spotweb:/config depends_on: - db restart: always db: image: mariadb environment: - MYSQL_ROOT_PASSWORD=rootpassword - MYSQL_DATABASE=spotweb - MYSQL_USER=spotweb - MYSQL_PASSWORD=spotweb volumes: - ./mysql:/var/lib/mysql restart: always
| 变量名 | 功能说明 |
|---|---|
TZ | 服务器时区,默认Europe/Amsterdam |
SPOTWEB_DB_TYPE | 数据库类型,MySQL使用pdo_mysql |
SPOTWEB_DB_HOST | 数据库主机名/IP |
SPOTWEB_DB_PORT | 数据库端口(可选) |
SPOTWEB_DB_NAME | Spotweb使用的数据库名 |
SPOTWEB_DB_USER | 数据库用户名 |
SPOTWEB_DB_PASS | 数据库密码 |
SPOTWEB_CRON_RETRIEVE | Spot自动获取的cron调度,如*/15 * * * *(每15分钟一次) |
SPOTWEB_CRON_CACHE_CHECK | Spot缓存检查的cron调度,如10 */1 * * *(每小时第10分钟执行) |
MIT / BSD
Jeroen Geusebroek
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务