小类随手记

私有化笔记软件从思源迁移到outline

前后尝试了一圈笔记软件 最后停留在思源,但是因为除了思源的黑历史的膈应和最近的同步收费问题。思源本身也有一些问题。所以尝试了一下outline。

迁移过程说明

思源逐个导出md.zip 逐个解压到同一个文件夹。然后压缩成zip 导入到outline。 如果文档笔记多,可以现在思源把多个文档合并到3-5个文档的子文档里面再导出md。

::: 丢失部分内联变成纯文本了。 部分图片地址有误。

体验不好的地方

  • 没有多文件编辑 需要用收藏功能或者浏览器的多标签替代多标签切换,
  • 两个连续的区块(代码库 提示 引用之类的)中间无法插入新内容,需要删除后面的内容加空行后重新粘贴(或者是我不会) 在上一个区块的末行空行回车即可
  • 需要pgsql redis 还有强制s3储存 第三方登陆等 部署麻烦一丢丢,用了vicalloy/outline-docker-compose 直接搞也还好
  • 貌似没有ai支持 试了试Codeium的浏览器插件好像识别不了,暂时没有找到解决办法先忍一下。
  • 也没有纯md代码编辑模式

爽点

  • 多人协作
  • 评论功能
  • url分享
  • 历史记录
  • 模板功能直观易用,可以在outline直接写hugo hexo vuepress的草稿
  • 整个工作区导出为md
  • 复制md到剪切板(思源的需要单独的主题插件才支持,貌似那个主题也被下架了)
  • 和思源一样支持web部署,移动版多平台可以直接webapp,更是支持多用户

安装过程

clone vicalloy的脚本

1
2
3
4
5
mkdir -p /myfile/outline && cd  /myfile/outline 
echo "https://github.com/vicalloy/outline-docker-compose.git">/myfile/outline/README_outline-docker-compose.md
git clone https://github.com/vicalloy/outline-docker-compose.git
cd outline-docker-compose
cp scripts/config.sh.sample scripts/config.sh

简单修改

修改点

  • 语言 DEFAULT_LANGUAGE
  • 时区 TIME_ZONE
  • nginx端口和ip HTTP_PORT_IP HTTP_IP
  • outline版本 OUTLINE_VERSION
  • nas上统一的管理的https域名和端口 URL 这个和这里的nginx无关,是外部访问用的,我这里是caddy+dnspods
    代码 (50 行)
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    
    # update config file: vim scripts/config.sh
    cat > /myfile/outline/outline-docker-compose/scripts/config.sh <<\EOF
    # Outline Wiki 0.72.0-1 supports local file storage.
    # Specify what storage system to use. Possible value is one of "s3" or "local".
    # For "local", the avatar images and document attachments will be saved on local disk. 
    FILE_STORAGE=local
    # The url used to vist this web site.
    URL=https://XXXXXXX.leiyanhui.com:XXX
    # The default interface language. See translate.getoutline.com for a list of
    # available language codes and their rough percentage translated.
    DEFAULT_LANGUAGE=zh_CN
    # https://docs.djangoproject.com/en/2.2/ref/settings/#language-code
    LANGUAGE_CODE=en-us
    # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
    TIME_ZONE=Asia/Shanghai
    FORCE_HTTPS=false
    # The domain in you email.
    # Comma separated list of domains to be allowed (optional).
    # If not set, the first user's domain is allowed by default.
    ALLOWED_DOMAINS=
    
    # Docker image version
    OUTLINE_VERSION=0.75.2
    POSTGRES_VERSION=15.2-alpine3.17
    MINIO_VERSION=RELEASE.2022-11-17T23-20-09Z
    MINIO_MC_VERSION=RELEASE.2022-11-17T21-20-39Z
    
    # Nginx
    # The nginx bind ip and port.
    # If you use ip address to access outline, this ip and port should be same as the URL.
    # If this server behind a proxy(nginx), you can bind to `127.0.0.1`.
    HTTP_IP=0.0.0.0
    HTTP_PORT_IP=8081
    
    # Docker
    # If you server behind a proxy(nginx), and the proxy created by docker. You can use the proxy's network. Set the `NETWORKS` to proxy's network name, and set `NETWORKS_EXTERNAL` to `true` .
    # The sample config for host nginx can be find in `config/sample/nginx_outline.conf`.
    NETWORKS=outlinewiki
    NETWORKS_EXTERNAL=false
    
    # Secret keys, update by script.
    # You shouldn't edit it.
    MINIO_ACCESS_KEY=
    MINIO_SECRET_KEY=
    OIDC_CLIENT_SECRET=
    OUTLINE_SECRET_KEY=
    OUTLINE_UTILS_SECRET=
    DJANGO_SECRET_KEY=
    
    EOF
    

常用命令

1
2
3
4
5
make install
make start #start outline
make stop #stop outline 也会删除容器
make clean #remove all config file generated by script.
make clean-data # You will lose all your data

数据备份

/myfile/outline/outline-docker-compose/data 目录 或者 outline内直接导出

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Theme Stack