LinuxServer.io 的 Docker-Swag 教程

LinuxServer.io 的 Docker-Swag 教程

docker-swagNginx webserver and reverse proxy with php support and a built-in Certbot (Let's Encrypt) client. It also contains fail2ban for intrusion prevention.项目地址:https://gitcode.com/gh_mirrors/do/docker-swag

1. 项目的目录结构及介绍

Docker-Swag 是一个用于自动获取和续签 Let's Encrypt SSL 证书的工具,同时也能够作为反向代理来管理你的服务。其默认的目录结构大致如下:

/config/
├── nginx/
│   ├── conf.d/           # 存放 Nginx 配置片段
│   └── proxy-confs/      # 存放自定义的反向代理配置
└── swag.yml               # Swag 容器的主要配置文件

在这个结构中:

  • /config/nginx/conf.d/: 包含了 Nginx 的全局配置或者特定服务的配置文件片段。
  • /config/nginx/proxy-confs/: 提供了一个地方来存储自定义的反向代理配置,这些配置将被 Nginx 用来转发流量到你的应用服务器。
  • /config/swag.yml: 这是容器启动时使用的主配置文件,包含了 Swag 容器的环境变量和绑定卷等信息。

2. 项目的启动文件介绍

Swag 容器可以使用 Docker CLI 或者 Docker Compose 来启动。以下是两种方式的示例:

Docker CLI 启动

docker create \
  --name=swag \
  --cap-add=NET_ADMIN \
  --net=lsio \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/London \
  -e URL=linuxserver-test.com \
  -e SUBDOMAINS=wildcard \
  -e VALIDATION=dns \
  -e DNSPLUGIN=cloudflare \
  -p 443:443 \
  -p 80:80 \
  -v /home/aptalca/appdata/swag:/config \
  --restart unless-stopped \
  lscr.io/linuxserver/swag

docker start swag

Docker Compose 启动

version: "2.1"
services:
  swag:
    image: lscr.io/linuxserver/swag
    container_name: swag
    cap_add:
      - NET_ADMIN
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - URL=linuxserver-test.com
      - SUBDOMAINS=www,ombi
      - VALIDATION=http
    volumes:
      - /home/aptalca/appdata/swag:/config
    ports:
      - 443:443
      - 80:80
    restart: unless-stopped

docker-compose up -d

启动脚本中涉及的参数包括网络设置、环境变量(如证书验证方式、DNS 插件、时间区)、端口映射以及数据卷挂载,它们共同决定了 Swag 容器的行为。

3. 项目的配置文件介绍

主要配置文件 swag.yml

Swag 的配置主要通过 swag.yml 文件中的环境变量实现,例如:

environment:
  - PUID=1000
  - PGID=1000
  - TZ=Europe/London
  - URL=linuxserver-test.com
  - SUBDOMAINS=www,ombi
  - VALIDATION=http
  - DNSPLUGIN=cloudflare
  • PUIDPGID 分别指定运行容器内部进程的用户和组 ID。
  • TZ 设定时区。
  • URL 指定要获取证书的域名。
  • SUBDOMAINS 列出要添加到证书的子域名,可以用逗号分隔。
  • VALIDATION 决定了证书的验证方法,如 HTTP 或 DNS。
  • DNSPLUGIN 用于 DNS 验证的插件名称,比如 Cloudflare。

Nginx 反向代理配置

除了 swag.yml 外,Nginx 的配置位于 /config/nginx/proxy-confs 目录下。你可以在这里创建自定义的 .conf 文件,每个文件对应一个反向代理规则,例如:

server {
    listen 443 ssl http2;
    server_name subdomain.linuxserver-test.com;

    ssl_certificate         /etc/nginx/certs/subdomain.linuxserver-test.com.crt;
    ssl_certificate_key     /etc/nginx/certs/subdomain.linuxserver-test.com.key;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Origin' '*';
    }
}

这个配置将会把所有到 subdomain.linuxserver-test.com 的请求转发给本地的 8080 端口。

在更新或调整配置后,记得重启 Swag 容器以应用新的设置。

希望这篇教程对您理解并使用 Docker-Swag 起到了帮助作用。如果您在使用过程中遇到任何问题,建议查阅 LinuxServer.io 的官方文档或社区资源进行解答。

docker-swagNginx webserver and reverse proxy with php support and a built-in Certbot (Let's Encrypt) client. It also contains fail2ban for intrusion prevention.项目地址:https://gitcode.com/gh_mirrors/do/docker-swag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昌隽艳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值