bashcurl -fsSL https://get.docker.com -o get-docker.sh&&sudo sh get-docker.sh
bashcurl -L https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-aarch64 | sudo tee /usr/local/bin/docker-compose >/dev/null
bashcurl -L https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-x86_64 | sudo tee /usr/local/bin/docker-compose >/dev/null
bashsudo chmod +x /usr/local/bin/docker-compose
docker -v && docker-compose -v
bashmkdir ~/ms365
cd ~/ms365
bashmkdir appdata DataProtection-Keys Deploy static
bashcd ~/ms365/Deploy && touch Config.xml && vim Config.xml
写配置文件,这是原始模版,可根据实际情况修改。
xml<?xml version="1.0" encoding="utf-8" ?>
<Configuration>
<!--站点服务器基本配置-->
<Serivce>
<!--服务访问端口-->
<Port>1066</Port>
<!--管理员密码(管理员登录路由/Admin/Login) 重要:首次启动前必须更改-->
<LoginPassword>12345678</LoginPassword>
<!--是否启用内核多线程支持-->
<CoreMultiThread>true</CoreMultiThread>
<!--网站备案号(选填)-->
<ICP></ICP>
<!--备案管理查询机构跳转链接(选填)-->
<ICPLink>https://beian.miit.gov.cn</ICPLink>
</Serivce>
<!--站点Kestrel服务器HTTPS配置 (只支持IIS证书类型 即PFX格式的证书)-->
<HTTPS>
<!--Kestrel是否启用HTTPS(SSL加密传输)-->
<Enable>false</Enable>
<!--SSL证书文件名 (需要将PFX格式的SSL证书放置于该配置文件的同级目录Deploy文件夹下) 如e5.sundayrx.net.pfx-->
<!--不填则默认使用Dev localhost 本地证书-->
<Certificate></Certificate>
<!--SSL证书密钥(PFX证书的访问密钥)-->
<Password></Password>
</HTTPS>
<!--共享站点配置,不共享可无视以下内容 (若要共享站点 请自备以下所需的配置信息 且配置中HTTPS必须启用)-->
<ShareSite>
<!--是否启用站点共享-->
<Enable>false</Enable>
<!--SMTP邮件发送支持-->
<SMTP>
<!--发件邮箱-->
<Email></Email>
<!--邮箱密钥-->
<Password></Password>
<!--SMTP服务器地址-->
<Host></Host>
<!--SMTP服务器端口-->
<Port>587</Port>
<!--SMTP服务器是否使用SSL传输-->
<EnableSSL>true</EnableSSL>
</SMTP>
<!--第三方OAuth登录支持(至少启用以下一种OAuth否则其他用户无法注册)-->
<OAuth>
<!--微软登录授权-->
<Microsoft>
<!--是否启用该OAuth-->
<Enable>true</Enable>
<!--应用程序Id-->
<ClientId></ClientId>
<!--应用程序访问机密-->
<ClientSecret></ClientSecret>
</Microsoft>
<!--GitHub登录授权-->
<Github>
<!--是否启用该OAuth-->
<Enable>true</Enable>
<!--应用程序Id-->
<ClientId></ClientId>
<!--应用程序访问机密-->
<ClientSecret></ClientSecret>
</Github>
</OAuth>
<!--站点系统设置-->
<System>
<!--站点启动后默认是否允许用户注册 建议为false-->
<AllowRegister>false</AllowRegister>
<!--站点启动后默认公告(换行符请使用 
 进行换行)-->
<Notice></Notice>
<!--站点运营者-->
<Master></Master>
<!--站点运营者推广链接-->
<MasterLink></MasterLink>
<!--站点新用户默认配额数-->
<DefaultQuota>1</DefaultQuota>
<!--站点自动特赦时间间隔 (单位:天 至少30天)-->
<AutoSpecialPardonInterval>30</AutoSpecialPardonInterval>
</System>
</ShareSite>
</Configuration>
⚠️如果vim文件显示中文乱码,请打开/etc/vim/vimrc
bashvim /etc/vim/vimrc
在文件代码结束前加入如下内容:
set encoding=UTF-8 set langmenu=zh_CN.UTF-8 set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1 set fileencoding=utf-8
bashcd ~/ms365 && touch docker-compose.yml && vim docker-compose.yml
写入配置文件
yamlversion: '3'
services:
ms365:
image: hanhongyong/ms365-e5-renew-x:arm # amd参数改为latest
container_name: ms365
restart: always
ports:
- "1066:1066"
environment:
- TZ=Asia/Shanghai
volumes:
- /root/ms365/Deploy:/app/Deploy
- /root/ms365/DataProtection-Keys:/root/.aspnet/DataProtection-Keys
- /root/ms365/appdata/:/app/appdata/
- /root/ms365/static/:/app/wwwroot/static/
如果把nginx proxy manager 加进来, 在ms365下创建 npm文件夹来储存nginx proxy manager数据,
bashcd ~/ms365 && mkdir npm
根据官网可以直接在代码后边加入,这是一个配置模板。
yamlversion: '3'
services:
ms365:
image: hanhongyong/ms365-e5-renew-x:arm
container_name: ms365
restart: always
ports:
- "1066:1066"
environment:
- TZ=Asia/Shanghai
volumes:
- /root/ms365/Deploy:/app/Deploy
- /root/ms365/DataProtection-Keys:/root/.aspnet/DataProtection-Keys
- /root/ms365/appdata/:/app/appdata/
- /root/ms365/static/:/app/wwwroot/static/
nginx-proxy-manager:
image: jc21/nginx-proxy-manager:latest
container_name: npm
restart: unless-stopped
ports:
- "80:80"
- "81:81"
- "443:443"
volumes:
- ./npm/data:/data
- ./npm/letsencrypt:/etc/letsencrypt
docker-compose up -d
docker-compose down
已完成,未实行编辑,使用同一个IP,不同端口号,反向代理到不同网址,以达到E5和npm都使用域名访问,比如a.a.com和b.a.com在cloudflare解析到同一IP,然后a.a.com和b.a.com都申请证书。。。。
本文作者:我本无罪
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!