自托管书签管理器LinkAce

本文完成于 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 的设置,需要根据上一步数据库的设定做调整

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
## 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,并在其中建两个子文件夹,分别是 backupslogs,并将 .env 放入到 linkace 目录

需要为 .env 文件和 logs 目录设置 Everyone 用户的写入权限

文件夹 装载路径 说明
docker/linkace/.env /app/.env 环境变量文件
docker/linkace/backups /app/storage/app/backups 备份目录
docker/linkace/logs /app/storage/logs 日志目录

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8766 80

默认有 3 个端口

老苏只保留了 80 端口

导入数据库表

在导入数据库表之前,如果你打开网页,会看到服务器错误

需要进入终端机中

执行 php artisan migrate,并输入 yes 进行导入

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 新建文件夹 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 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
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

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 新建文件夹 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/