Loading... [原文](https://github.com/tootsuite/documentation/issues/778) 修改自: literal ## 1. 克隆 mastodon ```bash $ git clone https://github.com/tootsuite/mastodon $ cd mastodon $ git checkout <你钟意的版本> ``` ## 2. 准备数据库 ```bash # 初始化数据库 $ docker run \ -d --name bootstrap-postgres # 容器名字(建议改短一点) -e POSTGRES_USER=mastodon # 数据库用户 -e POSTGRES_PASSWORD=<password> # 密码 -e POSTGRES_DB=mastodon_production # 数据库名字 -v /.../postgres:/var/lib/postgresql/data # 储存卷 主机:容器 注意要写绝对路径,不知道提前 pwd 看一下 postgres 是指当前你签出代码的项目根文件夹创建一个 postgres 的目录,容器的数据库目录映射出来 postgres:9.6-alpine # 查看结果 $ docker ps -a # 检查输出 $docker logs bootstrap-postgres # 没问题了删掉容器(数据库目录映射出来了) $ docker stop bootstrap-postgres # 正常退出 $ docker rm bootstrap-postgres ``` # 3. 构建镜像 我打算这里开始魔改 ```bash $ docker-compose build ``` # 4. 取 .env.production 内容 ```bash $ docker-compose run --rm web bundle exec rake mastodon:setup ``` 跟着教程输入信息,最后会往屏幕打印内容 他会问你是否用 docker: 是 数据库和缓存的主机名就是 docker-compose.yml 里写的服务名 要改的也就数据库名字,用户,密码 编译资源: 是 添加管理员: 否(你环境没法配,数据库连不上) 拷贝下来 ```bash $ cp .env.production.sample .env.production $ ${EDITOR} .env.production # 把上面的信息弄进去 ``` # 5. 启动数据库 ```bash $ docker-compose up -d db $ docker-compose logs db # 检查输出 ``` # 6. 初始化数据库 我根本不懂 ruby 不好意思 输出说要加一个环境变量,我加了就能用了 ```bash $ docker-compose run -e 不记得了=true --rm web bundle exec rake db:setup ``` # 7. 添加管理员账号 ```bash $ docker-compose run --rm web bin/tootctl accounts create <用户名> --email <邮箱> --confirmed --role admin ``` # 8. 准备 nginx ```bash $ cp /源码目录/dist/nginx.conf /etc/nginx/sites-available/mastodon $ ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon $ ${EDITOR} /etc/nginx/sites-available/mastodon $ nginx -t # 检查配置 $ systemctl restart nginx ``` 修改 server_name <这里>,改成你的域名 其他不要动 # 9. 启动服务 ```bash $ docker-compose up -d $ docker-compose down # 关闭服务 (真的是太占内存了) ``` Last modification:August 20th, 2020 at 01:48 am © 允许规范转载 Support 如果觉得我的文章对你有用,请随意赞赏