IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    trilium server服务安装流程

    1900发表于 2021-12-18 12:00:15
    love 0

    博客圈前段时间一直在讨论笔记应用,先是讨论印象笔记如何如何恶心,开了会员也有广告之类的。后来又讨论到那个笔记好,推荐的可谓五花八门,如mybase、notion之类的。

    我以前没用过这一类的程序,也没搭建过个人知识库系统,但是了解到这个东西后又发现自己其实挺有需求的,最简单的例子就是在执行ubuntu命令的时候有些命令每次都去百度,但是下次又可能需要用上,然后又去百度,但是会查找到很多无效的内容。如果我把查找到的正确的内容收藏起来,下次直接打开不久好了么。

    s所以还是有点心动的,notion之前尝试过国内的抄作业版:wolai,当时用不太懂,也没理解到这类工具的真正用途。这次再打开wolai有点豁然开朗的感觉,notion也很好,但是这类服务数据都是托管在运营商那边,我们并没有完全的把握权限让我有点不安。所以又试了很多工具,如:思源笔记、为知笔记、Obsidian、trilium等等

    最后我选了trilium,我总结了一下选trilium的原因

    1. 开源
    2. 有中文版
    3. 可以使用markdown语法,所见既得
    4. 可以纯本地使用,也可以用docker搭建服务端同步。
    5. 有浏览器收藏工具
    6. 主题定制简单
    7. 更新频繁,提的issue两天内开发者都会跟进。至少后续出问题了不用担心没人管。

    目前使用起来挺舒服的,改了一个主题,也把官方的插件都继承进来了。目前编辑器偶尔会出现打中文会出现有个字母在前面的bug,我用ghost的网页编辑器也会这样,不知道怎么回事。

    这个版本的主题我frok了一份原版的,然后修改了一下night部分的css,如果你喜欢的话可以进行尝试。

    GitHub - QingShui23/Allure-modify: A more beautiful and simple theme for trilium
    A more beautiful and simple theme for trilium. Contribute to QingShui23/Allure-modify development by creating an account on GitHub.
    altGitHubQingShui23
    alt
    alt
    另外:trilium完全可以不依赖server再本地运行,但是注意不要使用onedrive等第三方同步服务同步数据。因为trilium使用的是数据库,这样会导致数据库损坏。如果你使用过这种方式同步数据,你的原有数据将无法导入trilium server端中,只能新建,或者选择本地打包导出数据再进行导入。

    安装流程

    安装环境

    Ubuntu 18-20,推荐Ubuntu 20.04 LTS

    博客圈的均哥之前用centos6.7跟着这教程走连docker都装不上,所以建议还是用新一点的系统。理论上20年的系统版本应该都是没有问题的。

    安装docker

    拉取docker镜像

    $ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

    配置国内镜像源,并设置docker开机自动启动

    $ mkdir -p /etc/docker/
    $ echo "{'registry-mirrors': ['https://docker.mirrors.ustc.edu.cn']}" > /etc/docker/daemon.json
    $ systemctl daemon-reload
    $ systemctl start docker
    # 把docker加入开机自启
    $ systemctl enable docker

    其他国内镜像源

    网易 http://hub-mirror.c.163.com
    ustc https://docker.mirrors.ustc.edu.cn
    中国科技大学 https://docker.mirrors.ustc.edu.cn

    申请ssl证书

    现在有很多平台都可以免费申请ssl证书,因为我的域名备案在腾讯云的,所以我直接在腾讯申请了个免费的ssl证书。

    登录后台,在搜索处搜索SSL,点击【域名与网站】下的【ssl证书】

    alt

    点击【我的证书】-> 【申请免费证书】,然后按要求填资料就好了,一般十几分钟就能下来。

    alt

    申请完后点列表的下载就可以下载到SSL的证书文件压缩包。

    我们通过sftp工具或者其他的方式把证书压缩包里的nginx目录下的两个【.crt,.key】文件放到服务器上去,并记住存放路径,之后会用到。

    配置nginx

    我这边nginx的配置文件目录在etc/nginx/conf.d进入该目录,新增一个后缀为conf的nginx配置文件,内容如下:

    server {
        listen              443 ssl;  
        server_name         #你的绑定的笔记域名;
        ssl_certificate     #你的证书crt文件地址;  
        ssl_certificate_key #你的证书key文件地址;
        ssl_session_cache   shared:SSL:1m;  
        ssl_session_timeout 5m;  
        ssl_ciphers         HIGH:!aNULL:!MD5;         
        ssl_prefer_server_ciphers  on;
       
       
     #因为我的主站没有ssl,不知道为什么如果手动输入https访问我的主站会跳转到这里,所以做了处理
       
     #如果你主站绑定了ssl,可以不用写这一段
        #location / {
    	#if ( $host = "主站域名,不带www" ){
       		#return 301 http://$host$request_uri;
       	#}
    	#if ( $host = "主站域名,带www" ){
       		#return 301 http://$host$request_uri;
       	#}
    
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_pass http://127.0.0.1:8080;
            proxy_http_version 1.1;
        }
    
    
        location ~ /.well-known {
            allow all;
        }
    
        client_max_body_size 50m;
    }
    

    保存后用sudo nginx -s reload重启nginx服务

    拉取trilium中文docker镜像

    感谢以下这些作者们,让我们使用到了如此优秀的软件

    • 原版github地址:https://github.com/zadam/trilium
    • 汉化版github地址:https://github.com/Nriver/trilium-translation

    拉取镜像(选一条,上面是中文的,下面是原版的)

    docker pull nriver/trilium-cn 
    docker pull zadam/trilium:latest

    创建并启动容器

    sudo docker run --name tmserver -t -i -p 127.0.0.1:8080:8080 -e TRILIUM_DATA_DIR='/home/node/trilium-data' -v /data/trilium-data:/home/node/trilium-data --restart=always nriver/trilium-cn 
    参数说明:
    --name 容器名称
    -p 容器映射的ip和端口
    -v 把容器里的trilium文件路径映射到vps上,防止容器停止后数据丢失
    --restart=always 开机自动启动

    现在访问你绑定的域名因该就可以使用了。



沪ICP备19023445号-2号
友情链接