Giter VIP home page Giter VIP logo

Comments (8)

vicalloy avatar vicalloy commented on September 17, 2024

最初的镜像里统一用的 latest 版,升级后容易出现问题。
后续的脚本里各软件版本都有明确指定。

我对自己用的环境做了个升级。
目前发现:

  1. Postgres/Minio 不能随便换版本。换版本后会无法启动。
  2. Outline可以正常升级不受影响。

建议做法:
更新到最版本的 outline-docker-composescripts/config.sh 中指定各软件的版本。

注:查看版本方法

sudo docker-compose exec wk-minio minio --version
sudo docker-compose exec wk-postgres postgres --version

from outline-docker-compose.

enjoy-learning-everything avatar enjoy-learning-everything commented on September 17, 2024

可以考虑使用导入和导出功能,会把图片等附件一起导出,导入的时候引用关系也会处理好,文章内容不需要重新编辑
就是要注意新搭建的时候注意修改参数以下参数来放开outline以及存储服务对上传文件的限制:
修改env.outline文件中参数值,单位为Byte:
AWS_S3_UPLOAD_MAX_SIZE=102400000
env.outline文件中添加参数,单位为Byte:
MAXIMUM_IMPORT_SIZE=102400000
如果你外部自己还有一个nginx,你还需要注意修改nginx的client_max_body_size参数来提高nginx对上传文件的大小限制,比如设置client_max_body_size 100m;
这些所有值都需要大于你导出的文件大小。

from outline-docker-compose.

wangweitung avatar wangweitung commented on September 17, 2024

我是这个项目比较早期的用户,当时部署完测试良好并且立马在团队内投入使用。不过使用了一段时间发现Outline落后了很多个版本,并且当时正在用的版本(v0.63.0)的确有一些bug,所以打算备份数据做一次升级。

先是尝试直接把所有依赖的docker镜像更新,结果无法正常使用。后来又发现项目的安装脚本更新了,在新的环境上的确能安装到最新的Outline版本,但是依然无法把老版本的数据备份提供给新环境使用。也尝试了多次只把Outline或者个别的镜像更新,其他镜像保留老版本,但都失败而终了。

目前是把Outline固定在v0.63.0这个版本了,Redis、Postgres这些其他镜像也都保留一开始安装时的版本。唯一能升级的办法貌似只能重新搭建一个,但是数据迁移成了问题,手工去重新编辑文章太麻烦了。

有啥好的办法吗?

你导入导出数据成功了吗?

from outline-docker-compose.

vicalloy avatar vicalloy commented on September 17, 2024

Postgres和minio要固定版本,不然服务可能跑不起来。
Outline自身有数据库升级到处理,可以直接将Outline升级为新版本。

from outline-docker-compose.

wangweitung avatar wangweitung commented on September 17, 2024

Postgres和minio要固定版本,不然服务可能跑不起来。 Outline自身有数据库升级到处理,可以直接将Outline升级为新版本。

谢谢,升级outline至0.72.2后可以导出了。

from outline-docker-compose.

wangweitung avatar wangweitung commented on September 17, 2024

新增一个问题:

旧的outline有多个账户,每个目录不同用户有不同权限,这个要如何迁移?

from outline-docker-compose.

vicalloy avatar vicalloy commented on September 17, 2024

新增一个问题:

旧的outline有多个账户,每个目录不同用户有不同权限,这个要如何迁移?

一直是一个人用,没注意过这个问题。

from outline-docker-compose.

fan-wen avatar fan-wen commented on September 17, 2024

最近折腾了很久这个升级,终于搞定了。楼上各位说的都很有帮助,主要的问题出在1) Postgres/Minio 版本不能换,2) 不能更换为local storage(否则之前的attachment链接失效)

我是从版本0.65.2升级到最新0.78.2.在docker-compose.yml中,保留其他的image信息,仅仅修改wk-outline下:
image: outlinewiki/outline:0.75.2 (我的配置在这里

  wk-outline:
    image: outlinewiki/outline:0.75.2
    command: sh -c "yarn db:migrate --env production-ssl-disabled && yarn start"
    environment:
      - DATABASE_URL=postgres://user:pass@wk-postgres:5432/outline
      - DATABASE_URL_TEST=postgres://user:pass@wk-postgres:5432/outline-test
      - REDIS_URL=redis://wk-redis:6379
      - AWS_S3_UPLOAD_BUCKET_NAME=outline-bucket
    env_file:
      - ./env.outline
      - ./env.oidc
    restart: always
    depends_on:
      - wk-postgres
      - wk-redis
      - wk-minio
    networks:
      - outlinewiki

然后重新pull outline这个image(非常重要,否则会pull全部image——之前的latest tag继续保留即可,不要改成具体版本,否则如果版本跟local不一样,也会重新pull 并且导致不兼容)

docker-compose pull wk-outline

然后更新数据库

docker compose run --rm wk-outline yarn db:migrate --env=production-ssl-disabled

在env.outline中,添加这一行(非常重要)
FILE_STORAGE=s3

之所以继续选择s3而不是local,是因为我发现之前保存的附件格式都有点奇怪,明明是一个image,但是保存成一个folder(xxx.png),里面还有文件。如果改成FILE_STORAGE=local,就会直接读取这个文件,出现错误“EISDIR: illegal operation on a directory, read"

@S4kur4

from outline-docker-compose.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.