mirror of https://github.com/jkjoy/sunpeiwen.git
128 lines
2.3 KiB
Markdown
128 lines
2.3 KiB
Markdown
|
---
|
||
|
title: Docker部署Activity-Relay服务
|
||
|
date: 2023-10-03 09:06:40
|
||
|
tags: Docker
|
||
|
categories: 分享
|
||
|
cover:
|
||
|
---
|
||
|
|
||
|
## 准备工作
|
||
|
- git
|
||
|
- openssl
|
||
|
- nginx
|
||
|
- docker
|
||
|
- docker-compose
|
||
|
## 从仓库Pull a repository
|
||
|
```
|
||
|
git clone https://github.com/yukimochi/Activity-Relay.git -b v2.0.0
|
||
|
```
|
||
|
注意: 这里可以选择latest version
|
||
|
|
||
|
## 复制编辑config.yml
|
||
|
进入`Activity-Relay`目录
|
||
|
```
|
||
|
cd Activity-Relay
|
||
|
cp config.yml.example config.yml
|
||
|
```
|
||
|
修改相关配置
|
||
|
```
|
||
|
vim config.yml
|
||
|
```
|
||
|
## 生成actor RSA 证书 ./actor.pem
|
||
|
ubuntu使用
|
||
|
```
|
||
|
openssl genrsa -traditional | tee actor.pem
|
||
|
```
|
||
|
centos使用
|
||
|
```
|
||
|
openssl genrsa -out actor.pem 1024 | tee actor.pem
|
||
|
```
|
||
|
赋予权限600
|
||
|
```
|
||
|
chmod 600 actor.pem
|
||
|
```
|
||
|
## 构建镜像与运行服务
|
||
|
```
|
||
|
docker-compose build
|
||
|
docker-compose up -d
|
||
|
```
|
||
|
## 查看容器运行状态
|
||
|
```
|
||
|
docker-compose ps
|
||
|
```
|
||
|
## 停止服务
|
||
|
```
|
||
|
docker-compose down
|
||
|
```
|
||
|
## 相关参考
|
||
|
docker-compose配置
|
||
|
```
|
||
|
version: "2.3"
|
||
|
services:
|
||
|
redis:
|
||
|
restart: always
|
||
|
image: redis:alpine
|
||
|
healthcheck:
|
||
|
test: ["CMD", "redis-cli", "ping"]
|
||
|
volumes:
|
||
|
- "./redisdata:/data"
|
||
|
|
||
|
worker:
|
||
|
container_name: worker
|
||
|
build: .
|
||
|
image: yukimochi/activity-relay
|
||
|
working_dir: /var/lib/relay
|
||
|
restart: always
|
||
|
init: true
|
||
|
command: relay worker
|
||
|
volumes:
|
||
|
- "./actor.pem:/var/lib/relay/actor.pem"
|
||
|
- "./config.yml:/var/lib/relay/config.yml"
|
||
|
depends_on:
|
||
|
- redis
|
||
|
|
||
|
server:
|
||
|
container_name: relay
|
||
|
build: .
|
||
|
image: yukimochi/activity-relay
|
||
|
working_dir: /var/lib/relay
|
||
|
restart: always
|
||
|
init: true
|
||
|
ports:
|
||
|
- "8080:8080"
|
||
|
command: relay server
|
||
|
volumes:
|
||
|
- "./actor.pem:/var/lib/relay/actor.pem"
|
||
|
- "./config.yml:/var/lib/relay/config.yml"
|
||
|
depends_on:
|
||
|
- redis
|
||
|
```
|
||
|
Nginx设置
|
||
|
```
|
||
|
upstream relay {
|
||
|
server 127.0.0.1:8080;
|
||
|
}
|
||
|
server {
|
||
|
server_name relay.example.com;
|
||
|
|
||
|
location / {
|
||
|
root /var/lib/relay;
|
||
|
try_files $uri $uri/index.html =404;
|
||
|
}
|
||
|
|
||
|
location /inbox {
|
||
|
rewrite ^/inbox(.*) /$1 break;
|
||
|
proxy_pass http://relay/;
|
||
|
proxy_pass_request_headers on;
|
||
|
proxy_set_header Host $http_host;
|
||
|
}
|
||
|
|
||
|
location /actor {
|
||
|
rewrite ^/inbox(.*) /$1 break;
|
||
|
proxy_pass http://relay/;
|
||
|
proxy_pass_request_headers on;
|
||
|
proxy_set_header Host $http_host;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
```
|