如果你使用 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™无关联)是一个集成Nginx Web服务器、反向代理、PHP支持、Certbot客户端及fail2ban入侵防护的安全Web应用网关。Certbot客户端可自动完成免费SSL服务器证书(Let's Encrypt和ZeroSSL)的生成与续期流程,为Web应用提供安全访问能力。
运行前准备
yoursubdomain.duckdns.org,子域名可设为www,ftp,cloud(HTTP验证)或wildcard(DNS验证)证书验证方式
/config/dns-conf目录下对应插件的ini(或部分插件的json)文件中填入凭据
wildcard)必要配置
--cap-add=NET_ADMIN参数,确保fail2ban能修改iptables规则https://yourdomain.url访问默认主页(HTTP访问默认禁用,可编辑/config/nginx/site-confs/default.conf启用)SWAG内置多种Certbot插件,若需额外插件,可通过以下步骤安装:
使用Universal Package Install Docker Mod,设置容器环境变量:
yamlDOCKER_MODS=linuxserver/mods:universal-package-install INSTALL_PIP_PACKAGES=certbot-dns-<插件名>
在/config/dns-conf/<插件名>.ini中填入插件所需凭据(参考插件文档)
建议先设置STAGING=true测试插件功能,确认正常后再正式申请证书
证书自动更新
容器启动时会检测URL和子域名变化,自动吊销旧证书并生成新证书
密码保护(htpasswd)
docker exec -it swag htpasswd -c /config/nginx/.htpasswd <用户名>(首次创建用户,-c为创建文件)docker exec -it swag htpasswd /config/nginx/.htpasswd <用户名>(不含-c,避免覆盖现有文件)LDAP认证
可通过LDAP进行安全和访问控制,需配合独立镜像linuxserver/ldap-auth与LDAP服务器通信。容器提供可配置的示例ldap.conf文件
默认配置
/config/nginx/site-confs/default.conf,可修改此文件或添加其他.conf文件至该目录。若删除default.conf,容器启动时会自动生成新文件预设反向代理配置
/config/nginx/proxy_confs目录,参考该目录下README.md启用方法。预设配置来源于https://github.com/linuxserver/reverse-proxy-confs搜索引擎隐藏
在站点配置的server块中、ssl.conf引用行上方添加:
nginxadd_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
可请求搜索引擎不索引站点,注意:长期启用会导致站点从搜索引擎中移除
HTTP转HTTPS重定向
需暴露80端口并配置相应重定向规则
容器自动生成其他应用(如Emby、Znc)所需的证书文件,包括:
cert.pem、chain.pem、fullchain.pem、privkey.pemprivkey.pfx(Windows/.NET应用支持,无密码)priv-fullchain-bundle.pem(私钥与证书链捆绑,适用于Znc等应用)证书共享方法
/config目录挂载至其他容器(如-v /path-to-swag-config:/swag-ssl),证书路径为/swag-ssl/keys/letsencrypt//config/etc目录(如-v /path-to-swag-config/etc:/swag-ssl),证书路径为/swag-ssl/letsencrypt/live/<your.domain.url>/(仅共享证书,不暴露完整配置)默认启用的Jail
容器默认启用5个fail2ban jail:
常用命令
docker exec -it swag fail2ban-client statusdocker exec -it swag fail2ban-client status <jail名称>docker exec -it swag fail2ban-client set <jail名称> unbanip <IP>配置修改
/config/fail2ban/jail.local(而非.conf文件,.conf会在更新时被覆盖,.local文件优先级更高).conf同名的.local文件(如nginx-http-auth.conf对应nginx-http-auth.local),.local内容会追加至.conf配置文件更新策略
反向代理配置更新
app.subdomain.conf.sample重命名为app.subdomain.conf)不会自动更新,需手动对比新示例文件调整从旧版linuxserver/letsencrypt镜像迁移,请参考官方博客指南
bashdocker run -d \ --name=swag \ --cap-add=NET_ADMIN \ -e PUID=1000 \ # 用户ID,默认1000 -e PGID=1000 \ # 组ID,默认1000 -e TZ=Etc/UTC \ # 时区,如Asia/Shanghai -e URL=yourdomain.url \ # 主域名 -e VALIDATION=http \ # 验证方式:http或dns -e SUBDOMAINS=www, `# 可选,子域名列表,逗号分隔` \ -e CERTPROVIDER= `# 可选,证书提供商,默认Let's Encrypt` \ -e DNSPLUGIN=cloudflare `# 可选,DNS验证插件,如cloudflare` \ -e PROPAGATION= `# 可选,DNS传播等待时间(秒)` \ -e EMAIL= `# 可选,接收证书通知的***` \ -e ONLY_SUBDOMAINS=false `# 可选,是否仅为子域名生成证书` \ -e EXTRA_DOMAINS= `# 可选,额外域名,逗号分隔` \ -e STAGING=false `# 可选,是否使用测试环境(避免证书申请限制)` \ -p 443:443 \ # HTTPS端口 -p 80:80 `# 可选,HTTP端口(用于验证或重定向)` \ -v /path/to/appdata/config:/config \ # 配置文件挂载路径 --restart unless-stopped \ # 重启策略 lscr.io/linuxserver/swag:latest
以下是 lsiodev/swag 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务