2021年4月11日星期日

使用 Docker 镜像安装 Lychee 相册

 1. 准备工作

建立caddy相关目录
```
mkdir -p /home/{caddy,www,webdav}
mkdir -p /home/caddy/logs
```

下载Lychee最新版本:[https://hub.fastgit.org/LycheeOrg/Lychee/releases](https://hub.fastgit.org/LycheeOrg/Lychee/releases),解压到 /home/www
```
unzip Lychee.zip -d /home/www
```

2. 拉取镜像
```
docker pull cnkmmk/php-fpm:7.4.15
docker pull cnkmmk/caddy:2.3.0
```

3. 启动 php 容器
```
docker run -d -p 9005:9005 -v /home/www:/var/www --restart=always --name php-fpm cnkmmk/php-fpm:7.4.15
```

确认PHP容器IP,填入caddy配置文件
```
docker inspect php-fpm | grep IPAddress
```

4. 启动 caddy 容器

生成 caddy 配置文档,基本工作目录使用80端口,Lychee相册使用8081端口
```
cat << EOF > /home/caddy/Caddyfile
(global) {
    encode gzip zstd
    php_fastcgi 172.17.0.2:9005
    file_server
}
:80 {
    import global
    root * /var/www/html
    log {
        format single_field common_log
        output file /var/logs/caddy/caddy.log
    }
}
:8081 {
    import global
    root * /var/www/Lychee/public
    log {
        format single_field common_log
        output file /var/logs/caddy/lychee.log
    }
}
EOF
```

启动 caddy 容器
```
docker run -d -p 80:80 -p 8081:8081 -v /home/caddy/Caddyfile:/etc/caddy/Caddyfile -v /home/caddy/logs:/var/log/caddy -v /home/www:/var/www --name caddy cnkmmk/caddy:2.3.0
```

5. 配置 Lychee

进入php容器
```
docker exec -it php-fpm sh
```

进入 Lychee 目录
```
cd /var/www/Lychee
```

生成变量文件
```
cp .env.example .env
```

生成密钥
```
php artisan key:generate
```

生成初始化数据,出现提示后输入 “yes”
```
php artisan migrate
```

6. 使用 IP:8081 访问 Lychee