@mashiro 你的index.lock文件在吗?我这边提示fatal: Unable to create ‘/home/mastodon/live/.git/index.lock’: File exists.

@maolog 你可以改用docker,以后更新会方便很多。数据库可以沿用以前装的,web、sidekiq、treaming这三个进程换成docker的就可以了,需要的话我给你一份配置文件。

@maolog 超级简单方便的诶,两三条指令运维

@mashiro 看来我要把辅导熊孩子的时间拿来看docker了…… :bili_tv_liulei:

@maolog Mastodon 迁移 Docker 指南(不用迁移数据库

Docker 和 dcoker-compose 安装

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

docker-compose配置文件使用

# 创建目录
mkdir mastodon && cd mastodon

# 下载 docker-compose 配置文件(小森林版本)
wget https://github.com/mashirozx/mastodon/raw/master/docker-compose.yml

# 这里需要编辑 docker-compose 配置文件和 .env.production 配置文件,说明见后文

# 如果没有使用对象储存,需要把以前的媒体文件复制(cp -r)或者移动(mv)过来:
mkdir public
cp -r /home/live/public/system public/system

# 修改权限
chmod -R 755 public/system

# 关闭原先在 systemctl 下运行的 mastodon-web、mastodon-sidekiq、mastodon-streaming 进程
systemctl stop mastodon-web mastodon-sidekiq mastodon-streaming

systemctl disable mastodon-web mastodon-sidekiq mastodon-streaming

# 启动 docker 进程
docker-compose up -d

编辑 docker-compose 配置文件

因为 PostgreSQL 数据库和 Redis 我们暂时不迁移到 Docker 里面,所以可以把 docker-compose.yml 里最前面的 db:redis: 两个大块注释掉,然后相应地把后续配置中 depends_on: 里的 - db- redis 也注释掉。如果不希望修改 Nginx 配置,可以把 web 和 streaming 两个服务的端口改为以前用的端口,默认是 3000 和 4000 不用变。

编辑 .env.production 配置文件

可以直接把以前的 .env.production 文件复制过来,需要修改的内容是 db 和 redis 的 host 地址(docker的localhost或者127.0.0.1不会映射到宿主机)。

获取 bridge 的 IP:

docker network inspect bridge

输出中找到 “IPv4Address” 这一行,后面是的IP就是容器中宿主localhost的映射。把配置文件中的localhost或者127.0.0.1换成刚刚拿到的这个IP。

接下来,如果你用的是小森林的代码,注意把示例配置文件里面最后 “git repo”、“translation server”和“Markdown image proxy”三段配置复制过来,这是魔改里的功能。

Follow

@a This is the migration guide (without PostgreSQL migration). Hope Google translation works good for you.

· · Web · 0 · 0 · 1
Sign in to participate in the conversation
小森林

每个人都有属于自己的一片森林,也许我们从来不曾走过,但它一直在那里,总会在那里。迷失的人迷失了,相逢的人会再相逢。愿这里,成为属于你的小森林。