如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
SWAG(Secure Web Application Gateway,前身为letsencrypt,与Let's Encrypt™无关联)是一个安全Web应用网关,它设置了Nginx Web服务器和反向代理,支持PHP,并内置Certbot客户端,可自动完成免费SSL服务器证书的生成和更新过程(支持Let's Encrypt和ZeroSSL)。它还包含用于入侵防御的fail2ban。
URL为yoursubdomain.duckdns.org,SUBDOMAINS可以是www,ftp,cloud(用于HTTP验证)或wildcard(用于DNS验证)。您可以使用我们的https://hub.docker.com/r/linuxserver/duckdns/%E6%9D%A5%E6%9B%B4%E6%96%B0duckdns.org%E4%B8%8A%E7%9A%84IP%E3%80%82http验证,路由器互联网侧的端口80应转发到此容器的端口80dns验证,请确保将您的凭据输入到/config/dns-conf下相应的ini文件(或某些插件的json文件)中
yoursubdomain.duckdns.org,将SUBDOMAINS变量留空)*.yoursubdomain.duckdns.org,将SUBDOMAINS变量设置为wildcard)--cap-add=NET_ADMIN是fail2ban修改iptables所必需的https://example.com访问默认主页(默认情况下禁用通过端口80的http访问,您可以通过编辑/config/nginx/site-confs/default.conf中的默认站点配置来启用它)。/config/log/letsencrypt下的日志,了解续订失败的原因。建议在docker参数中输入您的电子邮件,以便在这种情况下收到Let's Encrypt的过期通知。SWAG默认包含许多Certbot插件,但并非所有插件都能包含。 如果您需要未包含的插件,最快的获取方法是使用我们的https://github.com/linuxserver/docker-mods/tree/universal-package-install%E3%80%82
在容器上设置以下环境变量:
yamldocker run -d \ --name=swag \ --cap-add=NET_ADMIN \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e URL=example.com \ -e VALIDATION=http \ -e SUBDOMAINS=www, `#可选` \ -e CERTPROVIDER= `#可选` \ -e DNSPLUGIN=cloudflare `#可选` \ -e PROPAGATION= `#可选` \ -e EMAIL= `#可选` \ -e ONLY_SUBDOMAINS=false `#可选` \ -e EXTRA_DOMAINS= `#可选` \ -e STAGING=false `#可选` \ -e DISABLE_F2B= `#可选` \ -e SWAG_AUTORELOAD= `#可选` \ -e SWAG_AUTORELOAD_WATCHLIST= `#可选` \ -p 443:443 \ -p 80:80 `#可选` \ -p 443:443/udp `#可选` \ -v /path/to/swag/config:/config \ --restart unless-stopped \ lscr.io/linuxserver/swag:latest
在/config/dns-conf/<plugin>.ini中设置所需的凭据(通常可在插件文档中找到)。
建议先使用STAGING=true获取证书,以确保插件正常工作。
dhparams.pem提供。docker exec -it swag htpasswd -c /config/nginx/.htpasswd <username>.htpasswd添加多个用户:密码。对于第一个用户,使用上述命令,对于其他用户,使用不带-c标志的上述命令,因为-c会强制删除现有.htpasswd并创建新文件/config/nginx/site-confs/default.conf。您可以随意修改此文件,也可以向此目录添加其他conf文件。但是,如果删除default文件,容器启动时将创建一个新的默认文件。/config/nginx/proxy_confs下的README.md文件。预设的conf文件位于并从https://github.com/linuxserver/reverse-proxy-confs%E5%AF%BC%E5%85%A5%E3%80%82add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
这将"请求"Google等不要索引和列出您的站点。使用此选项时要小心,因为如果您在希望出现在搜索引擎上的站点上保留此行,最终会被除名-v /path-to-swag-config:/swag-ssl),在其他容器中,使用证书位置/swag-ssl/keys/letsencrypt//config下的SWAG文件夹etc(即-v /path-to-swag-config/etc:/swag-ssl),在其他容器中,使用证书位置/swag-ssl/letsencrypt/live/<your.domain.url>/(这更安全,因为第一种方法与其他容器共享整个SWAG配置文件夹,包括www文件,而第二种方法只共享ssl证书)cert.pem、chain.pem、fullchain.pem和privkey.pem,由Certbot生成,供nginx和各种其他应用使用privkey.pfx,一种Microsoft支持的格式,通常由dotnet应用(如Emby Server)使用(无密码)priv-fullchain-bundle.pem,捆绑私钥和fullchain的pem证书,供ZNC等应用使用/config/fail2ban/jail.local.conf文件,而是创建同名的.local文件并编辑这些文件,因为.conf文件在操作和过滤器更新时会被覆盖。.local文件将附加.conf文件中的内容(即nginx-http-auth.conf --> nginx-http-auth.local)docker exec -it swag fail2ban-client status检查哪些jail处于活动状态docker exec -it swag fail2ban-client status <jail name>检查特定jail的状态docker exec -it swag fail2ban-client set <jail name> unbanip <IP>解除IP禁令此镜像支持QUIC(也称为HTTP/3),但必须在每个代理conf和默认conf中显式启用,因为如果启用了监听器但不暴露443/UDP,可能会中断某些浏览器的连接。
要启用QUIC,请将443/UDP暴露给您的客户端,然后取消注释所有活动代理conf以及默认conf中的QUIC监听器,并重启容器。
您还应该取消注释ssl.conf中的Alt-Svc头,以便浏览器知道您提供QUIC连接。
建议增加主机上的UDP发送/接收缓冲区,方法是设置net.core.rmem_max和net.core.wmem_max sysctl。建议值为4-16Mb(4194304-***字节)。要在重启之间保持持久性,请使用/etc/sysctl.d/。
linuxserver/letsencrypt镜像迁移请按照此博客文章上的说明进行操作。
bashdocker run -d \ --name=swag \ --cap-add=NET_ADMIN \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e URL=example.com \ -e VALIDATION=http \ -e SUBDOMAINS=www, `#可选` \ -e CERTPROVIDER= `#可选` \ -e DNSPLUGIN=cloudflare `#可选` \ -e PROPAGATION= `#可选` \ -e EMAIL= `#可选` \ -e ONLY_SUBDOMAINS=false `#可选` \ -e EXTRA_DOMAINS= `#可选` \ -e STAGING=false `#可选` \ -e DISABLE_F2B= `#可选` \ -e SWAG_AUTORELOAD= `#可选` \ -e SWAG_AUTORELOAD_WATCHLIST= `#可选` \ -p 443:443 \ -p 80:80 `#可选` \ -p 443:443/udp `#可选` \ -v /path/to/swag/config:/config \ --restart unless-stopped \ lscr.io/linuxserver/swag:latest
以下是 linuxserver/swag 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务