Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/HalcyonAzure/lsky-pro-docker

☁️兰空图床(Lsky Pro) - Docker自动构建,支持多平台
https://github.com/HalcyonAzure/lsky-pro-docker

Last synced: 14 days ago
JSON representation

☁️兰空图床(Lsky Pro) - Docker自动构建,支持多平台

Awesome Lists containing this project

README

        

# Lsky-Pro Docker镜像

~~每天自动拉取最新代码构建Docker镜像,~~ 现已上传amd64和arm64两种硬件架构。
> 由于开源版长时间未维护,目前暂停了自动拉取代码上传。待开源版有更新之后会恢复自动构建

## 使用方法

```docker
docker run -d \
--name lsky-pro \
--restart unless-stopped \
-p 8089:8089 \
-v $PWD/lsky:/var/www/html \
-e WEB_PORT=8089 \
halcyonazure/lsky-pro-docker:latest
```

### 如果要使用Nginx反向代理配置HTTPS,则使用HTTPS访问容器

```docker
docker run -d \
--name lsky-pro \
--restart unless-stopped \
-p 8088:8088 \
-p 8089:8089 \
-v $PWD/lsky:/var/www/html \
-e HTTPS_PORT=8088 \
-e WEB_PORT=8089 \
halcyonazure/lsky-pro-docker:latest
```

Nginx配置文件示例:

```nginx
location ^~ /
{
proxy_pass https://127.0.0.1:8088;
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 REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_http_version 1.1;
}
```

## 环境变量

目前该容器只有一个环境变量:`WEB_PORT`,用于指定容器内的`Apache`监听的端口,默认为`8089`,如果需要修改的话可以在启动容器时添加`-e WEB_PORT=8089`来指定端口

### Windows内以`WSL`的方式部署`Docker`容器

按照 [#13](https://github.com/HalcyonAzure/lsky-pro-docker/issues/13) 的反馈来看,如果在`Windows`内创建容器出现了将文件挂载于`WSL`内,然后出现了重启系统文件未识别的情况,可以将映射目录修改为类似`\\wsl$\Ubuntu\path-mount-lsky\`的形式

## 反代HTTPS

### 使用非443端口反代服务

如果是在自家宽带进行图床的部署,无法使用`443`端口,在`Nginx`的配置文件需要进行一些修改,可以参考:Docker部署后,[非443端口域名反代图床服务配置问题](https://github.com/HalcyonAzure/lsky-pro-docker/issues/7)

## Docker-Compose部署参考

使用`MySQL`来作为数据库的话可以参考原项目 [#256](https://github.com/lsky-org/lsky-pro/issues/256) 来创建`docker-compose.yaml`,参考内容如下:

```yaml
version: '3'
services:
lskypro:
image: halcyonazure/lsky-pro-docker:latest
restart: unless-stopped
hostname: lskypro
container_name: lskypro
environment:
- WEB_PORT=8089
volumes:
- $PWD/web:/var/www/html/
ports:
- "9080:8089"
networks:
- lsky-net

# 注:arm64的无法使用该镜像,请选择sqlite或自建数据库
mysql-lsky:
image: mysql:5.7.22
restart: unless-stopped
# 主机名,可作为"数据库连接地址"
hostname: mysql-lsky
# 容器名称
container_name: mysql-lsky
# 修改加密规则
command: --default-authentication-plugin=mysql_native_password
volumes:
- $PWD/mysql/data:/var/lib/mysql
- $PWD/mysql/conf:/etc/mysql
- $PWD/mysql/log:/var/log/mysql
environment:
MYSQL_ROOT_PASSWORD: lAsWjb6rzSzENUYg # 数据库root用户密码,自行修改
MYSQL_DATABASE: lsky-data # 可作为"数据库名称/路径"
networks:
- lsky-net

networks:
lsky-net: {}
```

原项目:[☁️兰空图床(Lsky Pro) - Your photo album on the cloud.](https://github.com/lsky-org/lsky-pro)

## 构建您自己的镜像

现在,您可以通过提供的Dockerfile直接构建自己的Lsky-Pro镜像。Dockerfile已经配置为多段构建,不再需要手动拉取源码。下面的命令展示了如何构建镜像:

```bash
docker build -t lsky-pro-docker .
```

如果您想为不同的硬件架构构建镜像(例如,arm64或amd64),您可以使用以下命令:

```bash
docker buildx create --use
docker buildx build --platform linux/amd64,linux/arm64 -t lsky-pro-docker .
```

## 手动备份/升级

如果需要迁移数据库/手动升级`Lsky-Pro`,可以参考官方文档:[升级|Lsky Pro](https://docs.lsky.pro/docs/free/v2/quick-start/upgrade.html),来备份主要文件以进行恢复/升级