Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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自动构建,支持多平台
- Host: GitHub
- URL: https://github.com/HalcyonAzure/lsky-pro-docker
- Owner: HalcyonAzure
- License: agpl-3.0
- Created: 2022-03-15T11:00:10.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-29T16:33:02.000Z (7 months ago)
- Last Synced: 2024-08-01T08:11:08.804Z (3 months ago)
- Language: Dockerfile
- Homepage:
- Size: 14.1 MB
- Stars: 244
- Watchers: 2
- Forks: 57
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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-netnetworks:
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),来备份主要文件以进行恢复/升级