本文完成于
9
月下旬,当时的版本是v1.10.4
,发稿时最新版本为v1.10.5
什么是 LinkAce ?
LinkAce
是一个自托管档案,用于收集您喜爱的网站的链接,并保存文章以供日后阅读。LinkAce
提供了一个长期存档来存储指向网站、媒体文件或其他任何具有有效URL
的链接。用户可以对添加的链接进行分类以便以后找到它们,并与朋友、家人或同事共享链接列表。但是,LinkAce
不提供同步浏览器书签的解决方案。
LinkAce
有两个不同版本的镜像:
- 一个包含应用程序和
Web
服务器的容器(标记为linkace/linkace:simple
),simple
版中,只需要一个Docker
容器和一个可选的数据库。如果您在Docker
之外使用托管数据库,则只需运行一个容器。 LinkAce
作为带有独立Web
服务器的独立容器(标记为linkace/linkace:latest
),高级设置与简单设置没有太大区别,但可能不适合某些环境。具体来说,它为应用程序和Web
服务器使用不同的容器。docker-compose
文件还包括Redis
的配置,从而提高了性能。
老苏介绍的是基于
linkace/linkace:simple
的安装,你可以在 https://github.com/Kovah/LinkAce/releases/tag/v1.10.5 找到官方提供的安装样板文件,当然你也可以跟着老苏一步一步操作
如果不想搭建,可以试试官方的 demo
站点:https://demo.linkace.org/guest/links
准备
建数据库
数据库直接用的群晖的 MariaDB 10
,在 phpMyAdmin
中创建了名为 linkace
的数据库
.env 文件
环境变量文件 .env
的设置,需要根据上一步数据库的设定做调整
## LINKACE CONFIGURATION
## Basic app configuration
COMPOSE_PROJECT_NAME=linkace
# The app key is generated later, please leave it like that
APP_KEY=z8E9VP5NAV2Bhtt2ewDy8vJcv25fYjCi
## Configuration of the database connection
## Attention: Those settings are configured during the web setup, please do not modify them now.
# Set the database driver (mysql, pgsql, sqlsrv)
DB_CONNECTION=mysql
# Set the host of your database here
DB_HOST=192.168.0.197
# Set the port of your database here
DB_PORT=3307
# Set the database name here
DB_DATABASE=linkace
# Set both username and password of the user accessing the database
DB_USERNAME=linkace
DB_PASSWORD=123456
变量的具体说明见下表👇
可变 | 值 |
---|---|
COMPOSE_PROJECT_NAME | 项目名称 |
APP_KEY | 应用程序标识,用验证接入的合法性,老苏一般用 Bitwarden 生成 |
DB_CONNECTION | 数据库类型 |
DB_HOST | 数据库主机名或者 IP |
DB_PORT | 数据库端口 |
DB_DATABASE | 数据库库名 |
DB_USERNAME | 数据库用户 |
DB_PASSWORD | 数据库密码,老苏只是演示用的 |
还支持邮件设置,具体参数可以看:https://www.linkace.org/docs/v1/setup/post-setup/
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 linkace
,选择第一个 linkace/linkace
,版本选择 simple
。
卷
在 docker
文件夹中,创建一个新文件夹 linkace
,并在其中建两个子文件夹,分别是 backups
和 logs
,并将 .env
放入到 linkace
目录
需要为 .env
文件和 logs
目录设置 Everyone
用户的写入权限
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/linkace/.env | /app/.env | 环境变量文件 |
docker/linkace/backups | /app/storage/app/backups | 备份目录 |
docker/linkace/logs | /app/storage/logs | 日志目录 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
8766 | 80 |
默认有 3
个端口
老苏只保留了 80
端口
导入数据库表
在导入数据库表之前,如果你打开网页,会看到服务器错误
需要进入终端机中
执行 php artisan migrate
,并输入 yes
进行导入
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 linkace 和 子目录
mkdir -p /volume2/docker/linkace/{backups,logs}
# 进入 linkace 目录
cd /volume2/docker/linkace
# 将 .env 放入当前目录
# 修改 .env 文件 和 logs 目录的权限
chmod 666 {.env,logs}
# 运行容器
docker run -d \
--restart unless-stopped \
--name linkace \
-p 8766:80 \
-v $(pwd)/.env:/app/.env \
-v $(pwd)/backups:/app/storage/app/backups \
-v $(pwd)/logs:/app/storage/logs \
linkace/linkace:simple
# 导入数据库表,输入 yes 开始导入
docker exec -it linkace php artisan migrate
如果你再次执行,会显示 Nothing to migrate.
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: "3"
services:
linkace:
image: linkace/linkace:simple
container_name: linkace
restart: unless-stopped
ports:
- "8766:80"
volumes:
- ./.env:/app/.env
- ./backups:/app/storage/app/backups
- ./logs:/app/storage/logs
然后执行下面的命令
# 新建文件夹 linkace 和 子目录
mkdir -p /volume2/docker/linkace/{backups,logs}
# 进入 linkace 目录
cd /volume2/docker/linkace
# 将 .env、docker-compose.yml 放入当前目录
# 修改 .env 文件 和 logs 目录的权限
chmod 666 {.env,logs}
# 一键启动
docker-compose up -d
# 导入数据库表,输入 yes 开始导入
docker exec -it linkace php artisan migrate
运行
在浏览器中输入 http://群晖IP:8766
就能看到主界面
向导
如果没有执行 chmod 666 {.env,logs}
必须都是小绿勾才行
配置数据库,直接点 Configue Database
勾选 I confirm that all data should be deleted and overwritten with a new LinkAce database
继续点 Configue Database
创建管理员账号
设置完成,点 Go to the Dashboard
中文
配置完成后,进入主界面
右上角 Setting
中可以设置语言
保存之后,界面就是中文了
书签
设置完成后,尝试添加第一个书签
添加完成
回到首页
参考文档
GitHub - Kovah/LinkAce: Your self-hosted bookmark archive. Free and open source.
地址:https://github.com/Kovah/LinkAce
LinkAce - Your self-hosted bookmark archive. Free and open source.
地址:https://www.linkace.org/
Setup with Docker - LinkAce
地址:https://www.linkace.org/docs/v1/setup/setup-with-docker/