使用 Docker Compose 安装 LinkStack 指南
目录
LinkStack 简介
LinkStack 是一个高度可自定义的链接分享平台,具有直观、易用的用户界面。它允许您创建个人资料页面,在一个站点上放置多个可点击的链接。与只允许一个链接的社交媒体平台不同,LinkStack 让您可以在一个页面上展示所有您想要分享的链接。
LinkStack Docker 版本基于 Alpine Linux,运行 Apache2 网络服务器和 PHP 8.2,提供高兼容性和性能。
前置条件
在开始之前,请确保您的系统上已安装以下软件:
- Docker (版本 19.03.0+)
- Docker Compose (版本 1.27.0+)
您可以使用以下命令检查版本:
docker --version
docker-compose --version
Docker Compose 安装步骤
1. 创建项目目录
mkdir linkstack
cd linkstack
2. 创建 docker-compose.yml 文件
使用您喜欢的文本编辑器创建一个 docker-compose.yml
文件:
nano docker-compose.yml
3. 添加以下配置到文件中
version: "3.8"
services:
linkstack:
hostname: 'linkstack'
image: 'linkstackorg/linkstack:latest'
environment:
TZ: 'Asia/Shanghai' # 设置为您的时区
SERVER_ADMIN: '[email protected]' # 设置管理员邮箱
HTTP_SERVER_NAME: 'example.com' # 设置您的域名
HTTPS_SERVER_NAME: 'example.com' # 设置您的域名
LOG_LEVEL: 'info'
PHP_MEMORY_LIMIT: '256M'
UPLOAD_MAX_FILESIZE: '8M'
volumes:
- 'linkstack_data:/htdocs'
ports:
- '80:80' # HTTP 端口映射
- '443:443' # HTTPS 端口映射
restart: unless-stopped
volumes:
linkstack_data: # 定义持久化存储卷
4. 启动 LinkStack 容器
保存文件后,运行以下命令启动容器:
docker-compose up -d
-d
参数使容器在后台运行。
5. 访问 LinkStack
现在您可以通过浏览器访问 http://localhost
或 https://localhost
(如果您在服务器上部署,则使用服务器的 IP 地址或域名)。
首次访问时,您将进入安装向导,按照指示完成 LinkStack 的设置。
配置选项说明
在 docker-compose.yml
文件中,您可以自定义以下环境变量:
- TZ: 时区设置(默认为 UTC)
- SERVER_ADMIN: 管理员邮箱地址(默认为 [email protected])
- HTTP_SERVER_NAME: HTTP 服务器名称(默认为 localhost)
- HTTPS_SERVER_NAME: HTTPS 服务器名称(默认为 localhost)
- LOG_LEVEL: 日志级别(默认为 info)
- PHP_MEMORY_LIMIT: PHP 内存限制(默认为 256M)
- UPLOAD_MAX_FILESIZE: 上传文件大小限制(默认为 8M)
持久化存储
LinkStack 的所有重要文件都存储在容器内的 /htdocs
目录中。通过使用 Docker 卷,这些数据会在容器重启或删除后保留。
在 docker-compose.yml
中,我们已经配置了名为 linkstack_data
的卷,它会自动映射到容器的 /htdocs
目录。
您可以使用以下命令查看卷的详细信息:
docker volume inspect linkstack_data
反向代理设置
如果您想使用 NGINX 作为反向代理,以下是一个配置示例:
server {
listen 443 ssl;
listen [::]:443 ssl;
listen 80;
listen [::]:80;
server_name your.domain.name; # 替换为您的域名
# SSL 证书配置
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
location / {
# 将下面的 IP 地址和端口替换为您的 Docker 容器的地址和端口
proxy_pass https://127.0.0.1:443;
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 https;
proxy_set_header X-VerifiedViaNginx yes;
proxy_read_timeout 60;
proxy_connect_timeout 60;
proxy_redirect off;
# Websocket 支持配置
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-Proto $scheme;
# 修复混合内容错误
add_header 'Content-Security-Policy' 'upgrade-insecure-requests';
}
}
请确保使用 HTTPS 访问您的容器,以避免混合内容错误。
更新 LinkStack
当新版本发布时,您将在管理面板上收到更新通知。
自动一键更新器
LinkStack 提供了一键更新功能:
- 点击管理面板上的更新通知
- 点击"自动更新"按钮,更新程序将处理剩下的事项
手动更新 Docker 容器
如果您想手动更新 Docker 容器,可以执行以下命令:
cd linkstack
docker-compose pull # 拉取最新的镜像
docker-compose down # 停止当前容器
docker-compose up -d # 使用新镜像启动容器
常见问题解答
Q: 如何查看容器日志?
docker-compose logs -f linkstack
Q: 如何备份 LinkStack 数据?
您可以备份 Docker 卷中的数据:
docker run --rm -v linkstack_data:/source -v $(pwd):/backup alpine sh -c "tar -czf /backup/linkstack_backup_$(date +%Y%m%d).tar.gz -C /source ."
Q: 如何恢复备份?
docker run --rm -v linkstack_data:/target -v $(pwd):/backup alpine sh -c "tar -xzf /backup/your_backup_file.tar.gz -C /target"
Q: 修改环境变量后如何使其生效?
修改 docker-compose.yml
文件后,运行以下命令重启容器:
docker-compose down
docker-compose up -d