基于 IIS + Docker 部署 Walle-Web

背景

乱七八糟的机器太多,部署操作太费劲,于是找了个 star 数最高的代码部署平台 walle-web 打算部署到 htpc 上执行自动化部署操作。部署环境直接基于 docker 了,数据库仍使用本地库。

启动

假设部署服务到 example.com 编辑 docker-compose.xml:

version: '3.7'

services: 
    web:
        image: alenx/walle-web:2.1
        container_name: walle-nginx
        hostname: nginx-web
        ports:
          - "8085:80"
        depends_on:
          - python
        networks:
          - walle-net
        restart: always

    python:
        image: alenx/walle-python:2.1
        container_name: walle-python
        hostname: walle-python
        env_file:
          # walle.env需和docker-compose在同级目录
          - ./walle.env
        command: bash -c "cd /opt/walle_home/ && /bin/bash admin.sh migration &&  python waller.py"
        expose:
          - "5000"
        volumes:
          - d:/Docker/walle/plugins/:/opt/walle_home/plugins/
          - d:/Docker/walle/codebase/:/opt/walle_home/codebase/
          - d:/Docker/walle/logs/:/opt/walle_home/logs/
        networks:
          - walle-net
        restart: always
        extra_hosts:
          - "example.com:0.0.0.0"

networks:
    walle-net:
        driver: bridge

新建 walle.env 存储数据库信息,和 docker-compose.xml 放在同级目录:

MYSQL_USER=xxx
MYSQL_PASSWORD=xxx
MYSQL_DATABASE=walle
MYSQL_HOST=192.168.x.x
MYSQL_PORT=3306

至此直接运行 docker-compse up -d 即启动了,然后就是添加域名映射

IIS 配置

添加站点那些就不说了,只说一个注意事项,打开 IIS 管理器 => 配置编辑器 => system.webServer/proxy => xForwardedForHeaderName 编辑为 X-Real-IP 后即可。

如果不做这个修改,会出现外网无限登录的问题。

All Done !

其它配置直接参照官网

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注