This commit is contained in:
2023-06-29 11:55:02 +08:00
commit 36e95249b1
1236 changed files with 464197 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
## 地址
https://github.com/acmesh-official/acme.sh
## 通过acme.sh脚本来设置证书
安装acme.sh
```
apt-get update && apt-get -y install socat //安装socat
yum install socat
wget -qO- get.acme.sh | bash //安装脚本
source ~/.bashrc
```
## 申请证书
在你的域名解析服务提供商那里添加好解析记录假定你的域名是yourdomain.com记得不要开启CDN然后执行下面命令申请证书。
```
acme.sh --issue --standalone -d yourdomain.com -k ec-256
```
因为本人要有blog需要与nginx容器共存所以使用网站目录方式
```
acme.sh --issue -d blueroses.top -d www.blueroses.top -d tj.blueroses.top -k ec-256 --webroot /root/docker/nginx/html
```
### 通配符证书申请
通配符证书只支持dns方式这里使用CloudFlare。首先在https://dash.cloudflare.com/profile/api-tokens 申请一个Global API Token。点击Global API Key栏的View即可之后输入
```bash
export CF_Key="19db67256c0eca16b5f4f4e8a7150c00eec16"
export CF_Email="378100977@qq.com"
```
```bash
acme.sh --issue -d blueroses.top -d *.blueroses.top --dns dns_cf \
--key-file /root/docker/trojan/trojan.key \
--fullchain-file /root/docker/trojan/trojan.crt \
--reloadcmd "docker restart nginx-web trojan"
```
## 安装证书和私钥到指定位置
```
acme.sh --installcert -d blueroses.top \
--fullchain-file /root/docker/trojan/trojan.crt \
--key-file /root/docker/trojan/trojan.key \
--ecc --reloadcmd "docker restart nginx-web trojan"
```
## 自动续期
```
acme.sh --upgrade --auto-upgrade
```

View File

@@ -0,0 +1,21 @@
## CloudFlare Key
https://dash.cloudflare.com/profile
点击 API令牌->API秘钥
- Global API Key23402010e956bb4d996ab994e178c62b3742c
- Origin CA Keyv1.0-e2bbd4334c2f22123bde5da9-6540095b825ebbcfcf3e4abb47a07c51ea3a7ae66042059fb54ec5711cdbc11c4d380d09e3ed2837d55a90e918f10c86a6bdcf782601501fccc67191064186d9246842b23cd3092f
在域名的概述里有个区域ID就是zoneId。
- 区域IDf84f14315f6b630be28364a1c217eea2
## 华硕路由器CloundFlare DDNS
说明网址http://tech.mornlong.com/post/29.html
## NodeJS DDNS服务
最后更新于2018年最好再自己看看
- https://xcoder.in/2014/09/20/lets-build-ourselves-ddns/
- https://github.com/XadillaX/dloucflare
其他:
- https://www.npmjs.com/package/@oawu/ddns
- https://www.npmjs.com/package/cloudflare-ddns-sync

View File

@@ -0,0 +1,70 @@
## 安装教程地址
https://hub.docker.com/r/xavierniu/cloudreve
## 安装caddy用于反向代理
```
www.blueroses.top {
tls admin@blueroses.top
proxy / cloudreve:5212 {
transparent
}
}
```
```
docker run -d \
--name caddy \
-e "ACME_AGREE=true" \
-e "CADDYPATH=/etc/caddycerts" \
-v /dockercnf/caddy/certs:/etc/caddycerts \
-v /dockercnf/caddy/Caddyfile:/etc/Caddyfile \
--network my-network \
-p 80:80 -p 443:443 \
--restart unless-stopped \
abiosoft/caddy
```
## aria2
uid=0(root) gid=0(root) groups=0(root)
```
docker run -d \
--name aria2 \
--restart unless-stopped \
--log-opt max-size=1m \
-e PUID=0 \
-e PGID=0 \
-p 6800:6800 \
-p 6888:6888 -p 6888:6888/udp \
--network my-network \
-v /dockercnf/aria2/config:/config \
-v /dockercnf/aria2/downloads:/downloads \
p3terx/aria2-pro
```
## cloudreve本体
```
docker run -d \
--name cloudreve \
-e PUID=0 \
-e PGID=0 \
-e TZ="Asia" \
--network my-network \
--restart=unless-stopped \
-p 5212:5212 \
-v /dockercnf/cloudreve/uploads:/cloudreve/uploads \
-v /dockercnf/aria2/downloads:/downloads \
-v /dockercnf/cloudreve/conf.ini:/cloudreve/conf.ini \
-v /dockercnf/cloudreve/cloudreve.db:/cloudreve/cloudreve.db \
xavierniu/cloudreve
```
## 账号密码
首次启动后请执行docker logs -f cloudreve
```
[Info] 2020-04-08 07:15:19 初始化数据库连接
[Info] 2020-04-08 07:15:19 开始进行数据库初始化...
[Info] 2020-04-08 07:15:19 初始管理员账号admin@cloudreve.org
[Info] 2020-04-08 07:15:19 初始管理员密码IAFhUH3m
[Info] 2020-04-08 07:15:20 数据库初始化结束
[Info] 2020-04-08 07:15:20 初始化任务队列WorkerNum = 10
[Info] 2020-04-08 07:15:20 初始化定时任务...
[Info] 2020-04-08 07:15:20 当前运行模式Master
[Info] 2020-04-08 07:15:20 开始监听 :5212
```
账号为本人QQ邮箱密码为常用密码

View File

@@ -0,0 +1,27 @@
#TODO
# Jenkins通过命令行启动Ue4的自动测试框架
https://www.emidee.net/ue4/2018/11/13/UE4-Unit-Tests-in-Jenkins.html
好像可以通过 命令行来启动Ue4的自动测试框架
基础过程
https://patricevignola.com/post/automation-jenkins-unreal
# GitHook
Git hooks是基于事件的。当你执行特定的git指令时该软件会从git仓库下的hooks目录下检查是否有相对应的脚本如果有就执行。
有些脚本是在动作执行之前被执行的这种“先行脚本”可用于实现代码规范的统一、完整性检查、环境搭建等功能。有些脚本则在事件之后被执行这种“后行脚本”可用于实现代码的部署、权限错误纠正git在这方面的功能有点欠缺等功能。
# 安装一个钩子
钩子都被存储在Git目录下的hooks子目录中。也即绝大部分项目中的.git/hooks。当你用git init初始化一个新版本库时Git 默认会在这个目录中放置一些示例脚本。这些脚本除了本身可以被调用外,它们还暴露了被触发时所传入的参数。这些示例的名字都是以 .sample 结尾,如果想启用它们,移除这个后缀即可。
把一个正确命名且可执行的文件放入 Git 目录下的 hooks 子目录中,即可激活该钩子脚本。这样一来,它就能 被 Git 调用。
第三方选择使用
# Gitlab Webhooks
Webhooks 允许第三方应用监听 GitLab 上的特定事件,在这些事件发生时通过 HTTP POST 方式通知( 超时5秒) 到第三方应用指定的 Web URL。 例如项目有新的内容 Push或是 Merge Request 有更新等。 WebHooks 可方便用户实现自动部署,自动测试,自动打包,监控项目变化等。
webhooks, 可以在 pull request / merge master 等几个场景下, 设置异步回调通知(http 请求)。这个背后就是 git hooks 在起作用。
因此,利用 WebHooks 的特性,可配合 Jenkins 实现一系列的自动化任务。

View File

@@ -0,0 +1,809 @@
---
title: NAS与服务部署
date: 2022-09-15 10:02:03
excerpt:
tags:
rating: ⭐
---
## 路由器DDNS
https://blueroses.asuscomm.com:8443/Main_Login.asp
## 杂项
- 星际蜗牛
- [阿文菌爱捡垃圾 篇二十九手把手教您组装一台ITX的高性能NAS598元的6盘位准系统+I5 8代+B365+万兆网卡](https://post.smzdm.com/p/a834noe6/)
- 黑群晖
- [文菌装NAS 篇五手把手教您安装黑群晖918+ 6.2保姆级教程这应该是装黑群晖NAS最详细的教程了含群晖设置](https://post.smzdm.com/p/aqx07xmk/)
- UPS
- 山特SANTAK)TG-BOX600/850 UPS
## NAS系统选择
- OMV与FreeNAS相比拥有原生Docker可以直接让容器使用硬件。
- [官方下载地址](https://www.openmediavault.org/download.html)
- [一次满足两个愿望HTPC_NAS二合一服务器搭建教学OMV新手入门](https://www.bilibili.com/video/BV1Ge41147B9?spm_id_from=333.999.0.0&vd_source=d47c0bb42f9c72fd7d74562185cee290)
- [OMV搭建系列教程[0] 最小化安装Debian11](https://www.bilibili.com/read/cv13834759/)
- 可使用protainer管理Docker
- FreeNAS比较适合企业使用优势在于拷贝速度以及硬盘寿命。
- ZFS
- Docker需要在虚拟机上安装系统再部署。
- UnRaid要钱……
测速网速测试:
```
apt-get install speedtest-cli
speedtest-cli --secure
```
测速脚本:
`wget -qO- bench.sh | bash`
## 待部署列表
- [ ] Heidmall 导航页方便找对应应用
- [x] 百度网盘
- [x] gitea
- 漫画
- [x] LANraragi
- [x] OnlyOffice
- 影片
- Emby Server收费
- Plex收费
- Overseerr附带BT下载、传输功能
- [x] nas-tools
- [x] JellyfinEmby Server代替品
- [x] qbittorrent
- 下载
- [x] Aria2
- [x] Aria-NG
- [ ] Transmisiion
- 智能设备管理
- HomeBridge
- 照片
- Moment
- ResilioSync手机照片备份
- Drive
- hentaiathome
# Docker源
Portainer可以更换Docker的源来加快下载速度。
- azure源docker源dockerhub.azk8s.cn
- Docker中国区官方registry.docker-cn.com
- 网易:[http://hub-mirror.c.163.com](https://link.zhihu.com/?target=http%3A//hub-mirror.c.163.com/)
- 中国科技大学镜像加速:[https://docker.mirrors.ustc.edu.cn](https://link.zhihu.com/?target=https%3A//docker.mirrors.ustc.edu.cn/)
# 域名与地址
https://blueroses.asuscomm.com:8443
ipv4.blueroses.top
bluerose.top
## DNSPod
ID:350298
Token:ed4a9b995c02c1185964f0fdb01b76df
350311
# 服务部署
- Portainer:9000 admin ljj@88483649
- 路由器:https://blueroses.asuscomm.com:8443/
- ~~Heidmall:8080~~
- CloudReve:5212
- Gitea:8888
- SVN: http://ipv4.blueroses.top:7777/svnadmin
- baidunetdisk:5800
- lanraragi:9999
- NASTools:10000
- qbittorrenthttp:8080
- Jellyfin:8096
- [[#Perlite]]
## Heidmall
参考https://zhuanlan.zhihu.com/p/405906100
```bash
cd /home
mkdir -vp heimdall
```
```bash
docker run -d \
--name=heimdall \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-p 8080:80 \
-p 666:443 \
-v /home/heimdall:/config \
--restart unless-stopped \
linuxserver/heimdall:latest
```
### 增加密码保护
This image now supports password protection through htpasswd. Run the following command on your host to generate the htpasswd file `docker exec -it heimdall htpasswd -c /config/nginx/.htpasswd <username>`. Replace
## CloudReve
### 创建目录结构
```c++
cd /home
mkdir -vp cloudreve/{uploads,avatar} \
&& touch cloudreve/conf.ini \
&& touch cloudreve/cloudreve.db \
&& mkdir -p aria2/config \
&& mkdir -p data/aria2 \
&& chmod -R 777 data/aria2
```
### 运行
然后将以下文件保存为 `docker-compose.yml`,放置于当前目录,与 cloudreve 同一层级,同时,修改文件中的 `RPC_SECRET`。
```c++
version: "3.8"
services:
  cloudreve:
    container_name: cloudreve
    image: cloudreve/cloudreve:latest
    restart: unless-stopped
    ports:
      - "5212:5212"
    volumes:
      - temp_data:/data
      - ./cloudreve/uploads:/cloudreve/uploads
      - ../srv/dev-disk-by-uuid-186bd712-77aa-422d-972f-8666404ff8ea/jellyfin/:/cloudreve/uploads/1/H
      - ./cloudreve/conf.ini:/cloudreve/conf.ini
      - ./cloudreve/cloudreve.db:/cloudreve/cloudreve.db
      - ./cloudreve/avatar:/cloudreve/avatar
    depends_on:
      - aria2
  aria2:
    container_name: aria2
    image: p3terx/aria2-pro
    restart: unless-stopped
ports:
      - "6800:6800"
    environment:
      - RPC_SECRET=bluerose
      - RPC_PORT=6800
    volumes:
      - ./aria2/config:/config
      - temp_data:/data
volumes:
  temp_data:
    driver: local
    driver_opts:
      type: none
      device: $PWD/data
      o: bind
```
### 运行镜像
后台运行模式,可以从 docker/docker-compose 的日志中获取默认管理员账户用户名和密码
```c++
docker-compose up -d
```
或者直接运行log 将会直接输出在当前控制台中,请注意退出之后保持当前容器运行
```c++
docker-compose up
```
在之后的控制面板中,按照如下配置
1. **[不可修改]** RPC 服务器地址 => `http://aria2:6800`
2. **[可修改, 需保持和 docker-compose.yml 文件一致]** RPC 授权令牌 => `your_aria_rpc_token`
3. **[不可修改]** Aria2 用作临时下载目录的 节点上的绝对路径 => `/data`
### 更新
关闭当前运行的容器,此步骤不会删除挂载的配置文件以及相关目录
>docker-compose down
如果此前已经拉取 docker 镜像,使用以下命令获取最新镜像
>docker pull cloudreve/cloudreve
## Aria2-NG
- http://192.168.50.6:6800/jsonrpc
- get
- bluerose
```c++
docker run -d \
--name ariang \
--log-opt max-size=1m \
--restart unless-stopped \
-p 6880:6880 \
p3terx/ariang
```
## Gitea
```c++
cd /home
mkdir -vp gitea
```
```c++
docker run -d --restart=always --privileged=true --name=gitea \
-p 822:22 \
-p 8888:3000 \
-v /home/gitea:/data \
gitea/gitea:latest
```
## SVN
参考文章:
- https://www.cnblogs.com/zepc007/p/14521394.html
- https://blog.csdn.net/zhuocailing3390/article/details/123777266
创建目录并且修改权限:
```c++
cd /home
mkdir -vp svn
chmod -R 777 /home/svn
```
```c++
docker run -d --name svn-server --restart=always \
-v /home/svn:/home/svn \
-p 7777:80 \
-p 3690:3690 \
elleflorio/svn-server
```
创建管理员用户
```c++
docker exec -t svn-server htpasswd -b /etc/subversion/passwd <username> <password>
docker exec -t svn-server htpasswd -b /etc/subversion/passwd bluerose ljj199221
```
进入容器内部
```bash
docker exec -it svn-server /bin/sh
```
修改配置:
```shell
# 进入apache2目录
cd /etc/apache2/
# 修改
vi httpd.conf
```
修改内容:
```shell
ServerName ipv4.blueroses.top:7777
```
### 配置
访问地址http://ipv4.blueroses.top:7777/svnadmin进行后台的配置管理配置内容如下
- Subversion authorization file /etc/subversion/subversion-access-control
- User authentication file (SVNUserFile) /etc/subversion/passwd
- Parent directory of the repositories (SVNParentPath) /home/svn
- Subversion client executable/usr/bin/svn
- Subversion admin executable/usr/bin/svnadmin
>注意配置填写好后进行test测试Test passed后再进行保存配置信息
![](https://cdn.jsdelivr.net/gh/blueroseslol/ImageBag@latest/ImageBag/Images/20220924184130.png)
### 测试
访问仓库,地址规则为:`ip:prot/svn/仓库名称`,比如:[http://ipv4.blueroses.top:7777/svn/demo/](http://ipv4.blueroses.top:7777/svn/demo/)svn客户端也用这个地址。
## 百度网盘
```bash
cd /home
mkdir -vp baidunetdisk/{config,downloads}
```
```c++
docker create \
--name=baidunetdisk \
-p 5800:5800 \
-p 5900:5900 \
-v /home/baidunetdisk/config:/config \
-v /home/baidunetdisk/downloads:/config/baidunetdiskdownload \
--restart unless-stopped \
johngong/baidunetdisk:latest
```
## calibre-web
```bash
cd /home
mkdir -vp calibre/{config,books}
```
```bash
docker run -d \
--name=calibre-web \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e DOCKER_MODS=linuxserver/mods:universal-calibre `#optional` \
-e OAUTHLIB_RELAX_TOKEN_SCOPE=1 `#optional` \
-p 8083:8083 \
-v /home/calibre/config:/config \
-v /home/calibre/books/library:/books \
--restart unless-stopped \
linuxserver/calibre-web:latest
```
安装完进入网页界面会提示没有Meta.db可以通过安装另一个镜像来获得
```c++
docker run -d \
  --name=calibre \
  --security-opt seccomp=unconfined `#optional` \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/London \
  -e PASSWORD= `#optional` \
  -e CLI_ARGS= `#optional` \
  -p 8080:8080 \
  -p 8081:8081 \
  -v /home/calibreTest/:/config \
  --restart unless-stopped \
  linuxserver/calibre:latest
```
安装完进入8080完成安装即可之后在Calibre Library中就有Meta.db了。
## lanraragi
https://post.smzdm.com/p/aenz8k7q/
```bash
cd /home
mkdir -vp lanraragi/{content,database}
```
```c++
docker run --name=lanraragi -d \
-p 9999:3000 \
-v /home/lanraragi/content:/home/koyomi/lanraragi/content \
-v /home/lanraragi/database:/home/koyomi/lanraragi/database \
--restart unless-stopped \
dezhao/lanraragi_cn
```
```bash
cd /srv/dev-disk-by-uuid-186bd712-77aa-422d-972f-8666404ff8ea
mkdir -vp lanraragi/{content,database}
```
```c++
docker run --name=lanraragi -d \
-p 9999:3000 \
-v /srv/dev-disk-by-uuid-186bd712-77aa-422d-972f-8666404ff8ea/lanraragi/content:/home/koyomi/lanraragi/content \
-v /srv/dev-disk-by-uuid-186bd712-77aa-422d-972f-8666404ff8ea/lanraragi/database:/home/koyomi/lanraragi/database \
--restart unless-stopped \
dezhao/lanraragi_cn
```
/srv/dev-disk-by-uuid-186bd712-77aa-422d-972f-8666404ff8ea/
https://e-hentai.org/
IOS APPhttps://github.com/Doraemoe/DuReader
## 影音系列
media使用一个公共外部文件夹
```c++
cd /home
mkdir -vp media
```
- TMDB:blueroses
- API 36dfc472117c89d9d747184c31c4777d
- TMDB超时问题解决 https://todsay.com/views/59.html
- TMDB超时问题解决https://www.hao4k.cn/thread-56601-1-1.html
- 检测工具
- https://tools.ipip.net/dns.php
- 爱站ping检测工具
修改NAS Host即可修改/etc/hosts文件。
NAS翻墙https://www.youtube.com/watch?v=ha6mYJW8tIo
### V2ray
```c++
cd /home
mkdir -vp v2ray/modules
```
```c++
docker run -d \
--restart=always \
--privileged \
--network=host \
--name v2raya \
-e V2RAYA_ADDRESS=0.0.0.0:2017 \
-v /home/v2ray/modules:/lib/modules:ro \
-v /home/v2ray/resolv.conf:/etc/resolv.conf \
-v /home/v2ray:/etc/v2raya \
mzz2017/v2raya
```
预览端口2017
进入之后选择导入V2ray设置之后选择这一行的“选择”按钮并且点击左上角的开启。并且勾选放置DNS污染。
### NAS-TOOl
```bash
cd /home
mkdir -vp nastools/{config,media}
```
```bash
docker run -d \
--name nas-tools \
--hostname nas-tools \
-p 10000:3000 `# 默认的webui控制端口` \
-v /home/nastools/config:/config `# 冒号左边请修改为你想在主机上保存配置文件的路径` \
-v /home/media:/media `# 媒体目录,多个目录需要分别映射进来` \
-e PUID=0 `# 想切换为哪个用户来运行程序该用户的uid详见下方说明` \
-e PGID=0 `# 想切换为哪个用户来运行程序该用户的gid详见下方说明` \
-e UMASK=000 `# 掩码权限默认000可以考虑设置为022` \
-e NASTOOL_AUTO_UPDATE=false `# 如需在启动容器时自动升级程程序请设置为true` \
-e REPO_URL="https://ghproxy.com/https://github.com/jxxghp/nas-tools.git" `# 如果你访问github的网络不太好可以考虑在创建容器时增加设置一个环境变量` \
--restart unless-stopped \
jxxghp/nas-tools
```
NASToolsadmin password
- 从零开始的软路由之爱快docker安装nastools:https://zhuanlan.zhihu.com/p/547732022
- 耗资过万新手如何搭建家庭影院绿联nas-tools详细教程:https://zhuanlan.zhihu.com/p/553313603
其他需要安装的:
- Kodi Sync Queue(电视盒子)
- kodi-19.4-Matrix-armeabi-v7a.apk电视机上安装
### jellyfin
- 中国特供版https://hub.docker.com/r/nyanmisaka/jellyfin
```bash
cd /home
mkdir -vp jellyfin/{config,tvshows,movies}
cd /srv/dev-disk-by-uuid-186bd712-77aa-422d-972f-8666404ff8ea
mkdir -vp jellyfin/H
```
```c++
docker run -d \
--name=jellyfin \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-p 8096:8096 \
-p 8920:8920 `#optional` \
-p 7359:7359/udp `#optional` \
-p 1900:1900/udp `#optional` \
-v /home/jellyfin/config:/config \
-v /home/media/tvshows:/data/tvshows \
-v /home/media:/data/movies \
-v /srv/dev-disk-by-uuid-186bd712-77aa-422d-972f-8666404ff8ea/jellyfin:/data/movies/H \
--restart unless-stopped \
nyanmisaka/jellyfin:latest
```
### prowlarr
```bash
cd /home
mkdir -vp prowlarr/{config}
```
```bash
docker run -d \
--name=prowlarr \
-e PUID=1000 \
-e PGID=1000 \
--network=host \
-e TZ=Asia/Shanghai \
-p 9696:9696 \
-v /home/prowlarr/config:/config \
--restart unless-stopped \
linuxserver/prowlarr:develop
```
/home/prowlarr/config/config.xml 中api key
ACG资源
- https://www.acgbox.link/#term-7
### ChineseSubFinder
```c++
cd /home
mkdir -vp ChineseSubFinder /{config,media,browser}
```
```c++
docker run -d \
-v /home/ChineseSubFinder/config:/config `# 冒号左边请修改为你想在主机上保存配置、日志等文件的路径` \
-v /home/media:/media `# 请修改为需要下载字幕的媒体目录,冒号右边可以改成你方便记忆的目录,多个媒体目录需要添加多个-v映射` \
-e PUID=1000 \
-e PGID=1000 \
-e PERMS=true `# 是否重设/media权限` \
-e TZ=Asia/Shanghai `# 时区` \
-e UMASK=022 `# 权限掩码` \
-p 19035:19035 \
-p 19037:19037 `# webui 的视频列表读取图片用,务必设置不要暴露到外网` \
--name chinesesubfinder \
--hostname chinesesubfinder \
--log-driver "json-file" \
--log-opt "max-size=100m" `# 限制docker控制台日志大小可自行调整` \
allanpk716/chinesesubfinder:latest-lite
```
### opensubtitles
- blueroses
- Ljj@88483649
### qBittorent
```bash
cd /home
mkdir -vp qBittorent/{config,media}
```
```c++
docker run -d \
--name=qbittorrent \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e WEBUI_PORT=8080 \
-p 8080:8080 \
-p 6881:6881 \
-p 6881:6881/udp \
-v /home/qBittorent/config:/config \
-v /home/media/home:/downloads/home \
-v /srv/dev-disk-by-uuid-186bd712-77aa-422d-972f-8666404ff8ea/jellyfin/:/downloads/home/H \
-v /srv/dev-disk-by-uuid-186bd712-77aa-422d-972f-8666404ff8ea/jellyfin/AV:/downloads/home/AV \
-v /srv/dev-disk-by-uuid-186bd712-77aa-422d-972f-8666404ff8ea/jellyfin/3D:/downloads/home/3D \
-v /srv/dev-disk-by-uuid-186bd712-77aa-422d-972f-8666404ff8ea/jellyfin/2D:/downloads/home/2D \
--restart unless-stopped \
linuxserver/qbittorrent
```
▼默认监听端口是6881即使想要映射监听端口也不要监听默认端口大多数PT站都是禁了的用6881端口进行PT下载就会遇到以下问题“Port 6881 is blacklisted端口被黑名单了。
![](https://pic1.zhimg.com/80/v2-c8f0814424dba32edaa5e495a721b3b4_720w.jpg)
▼翻看PT站点的公告或者是常见问题就可以看到被屏蔽的端口号6881-6889都是禁封的像这个站点推荐了49153-65535端口随便自行设置就好。
![](https://pic3.zhimg.com/80/v2-dd65dd3c6c6b35b191472527f0b7fd92_720w.jpg)
### 让qBit可以外网访问
去掉 启用Host Header属性验证。
▼刚安装好的qBit是不能通过外网访问的即使在路由器上做了端口转发访问时你会发现出现下面的情况。
![](https://pic2.zhimg.com/80/v2-47fb6ccb1c0db3b1788ba2bb07039851_720w.jpg)
▼这时候我们需要将配置文件”qbittorent.conf“下载到本地进行修改在文档末尾加入下面的代码。
> WebUI\HostHeaderValidation=false
![](https://pic4.zhimg.com/80/v2-746d06eecf6033183dd2115571b74167_720w.jpg)
▼将修改好的conf文件上传到qBit的config文件夹下进行覆盖。
![](https://pic3.zhimg.com/80/v2-e3fb5518745fd528d48f5b66f41f2b2a_720w.jpg)
**注意似乎只有admin用户有删除Container文件夹下文件的权限请用admin用户进行操作。**
![](https://pic3.zhimg.com/80/v2-d641fe50f0b7059e012a6563c27e9b92_720w.jpg)
### 初见qBittorrent
▼现在在外网环境下也能够登录qBittorent了用户名为admin密码为adminadmin。
![](https://pic3.zhimg.com/80/v2-8decd8224733caf24d02ebac03acf32a_720w.jpg)
▼此时的qBit还是英文找到图中的小齿轮➡Web UI➡简体中文。
![](https://pic1.zhimg.com/80/v2-8fe0b60a418f8ef05cb03fa910235a10_720w.jpg)
修改默认密码
▼在刚刚修改语言的位置往下拉一点点就可以看到修改账号密码的地方了为了省事偷懒也可以对局域网内网中的IP地址设置白名单省去身份验证的步骤。
![](https://pic1.zhimg.com/80/v2-5d4e2bab4e96687c157d0466b49e57b8_720w.jpg)
修改监听端口
▼就香前面说的监听端口在部署Docker时咱们没有做映射默认的时6881为了下载有速度咱们这里随便roll一个用于传入连接的端口同时开启UPnP功能转发端口下载就能跑的起来了。
![](https://pic1.zhimg.com/80/v2-4aca10689218c61724d8760cc6dc536c_720w.jpg)
### 修改下载位置与自动添加种子
▼我们之前将downloads文件夹映射到了Multimedia文件夹这里展示出来的download是容器内部的文件夹实际上是我们Nas上的Multimedia相当于是根目录是不能修改的能做的只是在后面跟上新的路径比如说”/Music“或者是”/Movie“之类的如此下载就会下载到Multimedia下的Music/Movie等自建文件夹。自动添加种子奶爸一般不用小伙伴们自行使用。
![](https://pic3.zhimg.com/80/v2-a81c515378b75eeb7b928a8cf5cd9ed6_720w.jpg)
### PT站
https://blog.csdn.net/u012558210/article/details/106538528
- http://share.dmhy.org/
- https://www.36dm.com/
- https://www.skyey2.com/login_notice.php
- https://www.nicept.net/donate.php
## OnlyOffice
```bash
cd /home
mkdir -vp onlyoffice/{logs,data}
```
```bash
docker run -i -t -d -p 9999:80 \
-v /home/onlyoffice/logs:/var/log/onlyoffice \
-v /home/onlyoffice/data:/var/www/onlyoffice/Data \
onlyoffice/documentserver
```
之后让Example自动启动
```bash
docker exec 6b51e5dd3e43 sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf
```
## hentaiathome
客户编号44771
客户端密钥m4NKWURvR83BsnJTuej1
44771-m4NKWURvR83BsnJTuej1
```bash
#Pull image
docker pull ghcr.io/disappear9/hentaiathome:latest
#Create volume for caches and logs
docker volume create h_at_h_data
#Run it
docker run -d --name h_at_h \
-p 9876:9876 \
-v /home/hentaiathome/data:/hath/data \
-v /home/hentaiathome/download:/hath/download \
-e HatH_KEY=44771-m4NKWURvR83BsnJTuej1 \
ghcr.io/disappear9/hentaiathome
```
Update:
```bash
#Stop
sudo docker stop h_at_h
#Delete
sudo docker rm h_at_h
#Delete old image
sudo docker rmi ghcr.io/disappear9/hentaiathome
#Pull new image
sudo docker pull ghcr.io/disappear9/hentaiathome
#Run it
sudo docker run -d --name h_at_h -p YOUR_PORT:YOUR_PORT -v h_at_h_data:/hath/data -v /DOWNLOAD_DIR:/hath/download ghcr.io/disappear9/hentaiathome
Or
sudo docker run -d --name h_at_h --net host -v h_at_h_data:/hath/data -v /DOWNLOAD_DIR:/hath/download ghcr.io/disappear9/hentaiathome
If you want to change port in the future.
```
## Perlite
```bash
cd /home
mkdir -vp perlite/{notes,config,web}
docker container rm perlite
docker image rm sec77/perlite:latest
docker-compose up -d
```
notes就是放笔记的位置
```bash
version: "3.9"
services:
perlite:
image: sec77/perlite:latest
container_name: perlite
restart: unless-stopped
environment:
- NOTES_PATH=note
- HIDE_FOLDERS=docs,private,trash
- LINE_BREAKS=true
volumes:
- ./note:/var/www/perlite/note:ro
- ./config:/web/config \
web:
build:
context: ./web
image: sec77/perlite_web:stable
container_name: perlite_web
restart: unless-stopped
ports:
- 9090:80
volumes_from:
- perlite
depends_on:
- perlite
```
Gitea Token e2eb7193b043e0d914ba76651197ad0a36daa974
## Perforce
参考:
- https://www.froyok.fr/blog/2018-09-setting-up-perforce-with-docker-for-unreal-engine-4/
- https://docs.unrealengine.com/5.1/zh-CN/using-perforce-as-source-control-for-unreal-engine/
Docker的Perforce镜像映射路径会报错导致无法提取文件与挂载到NAS硬盘上。
```
make perforce-server-{image,tag}
```
-v /mnt/nfs-1/perforce/data:/data \
-v /mnt/nfs-1/perforce/config:/etc/perforce \
```bash
docker run -d -h perforce --name perforce --restart unless-stopped \
-e PUID=1000 \
-e PGID=1000 \
-v /mnt/nfs-1/perforce/data:/data \
-v /mnt/nfs-1/perforce/config:/etc/perforce \
-p 8080:8080 \
-p 1666:1666 \
ambakshi/perforce-server
```
```bash
docker run -d -h perforce -u root --name perforce --restart unless-stopped \
-e PUID=1000 \
-e PGID=1000 \
-v /mnt/nfs-1/perforce/data:/app \
-p 8080:8080 \
-p 1666:1666 \
ambakshi/perforce-server
```
```bash
docker run -d -h perforce --name perforce --restart unless-stopped \
-p 8080:8080 \
-p 1666:1666 \
ambakshi/perforce-server
```
```bash
docker exec -it perforce /bin/sh
```
p4admin
pass12349ers!
https://www.perforce.com/blog/vcs/how-docker-works
官方提供的基准:
https://swarm.workshop.perforce.com/files/guest/robert_cowham/perforce/utils/benchmark/
官方提供的DockerFile
https://swarm.workshop.perforce.com/files/guest/robert_cowham/perforce/utils/benchmark/p4/docker/Dockerfile
https://swarm.workshop.perforce.com/files/guest/robert_cowham/perforce/utils/benchmark/run_browse_p4d_in_docker.sh
https://swarm.workshop.perforce.com/files/guest/robert_cowham/perforce/utils/benchmark/build_docker.sh
## Jenkins
参考https://zhuanlan.zhihu.com/p/89312003
```bash
docker run --name jenkinsci-blueocean -d -u root --restart unless-stopped \
-p 8080:8080 \
-p 50000:50000 \
-v /mnt/nfs-1/jenkins/Data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
```
## jeessy/ddns-go
- 不挂载主机目录, 删除容器同时会删除配置
```bash
# host模式, 同时支持IPv4/IPv6, Liunx系统推荐
docker run -d --name ddns-go --restart=always --net=host jeessy/ddns-go
# 桥接模式, 只支持IPv4, Mac/Windows系统推荐
docker run -d --name ddns-go --restart=always -p 9876:9876 jeessy/ddns-go
```
- 在浏览器中打开`http://主机IP:9876`,修改你的配置,成功
- [可选] 挂载主机目录, 删除容器后配置不会丢失。可替换 `/opt/ddns-go` 为主机目录, 配置文件为隐藏文件
```bash
docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go
```
- [可选] 支持启动带参数 `-l`监听地址 `-f`间隔时间(秒)
```bash
docker run -d --name ddns-go --restart=always --net=host jeessy/ddns-go -l :9877 -f 600
```
### DAWA使用配置
```bash
docker run -d --name ddns-go --restart=always --net=host \
-v /mnt/nfs-1/ddns-go:/root \
jeessy/ddns-go
```
DAWAHZ
ID369049
Tokeneb547401d3dddf813e018e7afeab8763

View File

@@ -0,0 +1,81 @@
## 运行 有问题不能使用
mkdir -p /root/docker/nginx/conf
mkdir -p /root/docker/nginx/html
mkdir -p /root/docker/nginx/log
mkdir -p /root/docker/nginx/ssl
```
docker run -d --restart=always --name nginx-web \
-v /root/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /root/docker/nginx/html:/usr/share/nginx/html \
-v /root/docker/nginx/log:/var/log/nginx \
-p 80:80 \
nginx
```
## 默认配置地址
https://github.com/nginx/nginx/blob/master/conf/nginx.conf
记得修改
```
location / {
root html;
index index.html index.htm;
}
```
```
location / {
root /usr/share/nginx/html/;
index index.html index.htm;
}
```
修改完配置后需要重启docker容器。
## 默认路径
/usr/share/nginx/html/
## 有关DNS
~~默认的域名blueroses.top是指向cloudflare的所以通过域名来访问SFTP需要访问在cloudflare设置的子域名~~。然而是cloudflare域名解析的问题。
- tj.blueroses.top
- www.blueroses.top
因为还添加了阿里云DNS解析所以更换VPS时需要记得**修改阿里云的DNS设置**。
## VPS Blog部署
其他方法都或多或少的比较麻烦所以最后用SFtp。
### SFtp
```
docker run --name sftp \
-v /root/docker/nginx/html:/home/web/ \
-p 2222:22 -d atmoz/sftp \
web:web
```
账号密码结为web,遇到权限问题,需要设置一下目录权限。
chmod -R 666 /docker/nginx/html/
```
docker run --name mysftp -p 2294:22 -d atmoz/sftp foo:pass:::upload
--name mysftp  容器名称
foo:pass:::upload  其中foo为用户名pass为密码upload为上传的文件会保存到容器里面的/home/foo/upload目录里面
-p 22:22  将宿主机的22端口映射到容器的22端口这样方位宿主机的22端口则会转发到容器的22端口上
-d atmoz/sftp  使用dockup hub中的atmoz/sftp镜像创建容器
```
### githook
因为使用docker所以没法直接执行bash。
```
rm -rf /docker/nginx/test/
mkdir /docker/nginx/test/
git clone /docker/gitea/git/repositories/bluerose/blog.git /docker/nginx/test/
rm -rf
cp -rf /docker/nginx/test/ /docker/nginx/html/
```
```
GIT_REPO=/docker/gitea/git/repositories/bluerose/blog.git \
TMP_GIT_CLONE=/docker/test/ \
PUBLIC_WWW=/docker/nginx/html/ \
rm -rf ${TMP_GIT_CLONE} \
mkdir ${TMP_GIT_CLONE} \
git clone $GIT_REPO $TMP_GIT_CLONE \
cp -rf ${TMP_GIT_CLONE} ${PUBLIC_WWW}
```

View File

@@ -0,0 +1,115 @@
---
title: Perforce Helix Core搭建
date: 2022-12-21 14:51:55
excerpt:
tags: Perforce
rating: ⭐
---
# Perforce Docker
可以使用这个容器:
https://hub.docker.com/r/sourcegraph/helix-p4d
但这个容器是2020年构建的我这里重新调整了一下并且手动构建成功具体可以参考下文。
## DockerFile构建
大致步骤如下:
1. 下载**blueroseslol/helix-docker**仓库的所有文件。
2. 构建DockerFile。
```bash
cd /home/perforce/helix-docker/helix-p4d/ && \
docker build -f /home/perforce/helix-docker/helix-p4d/Dockerfile -t helix-p4d:2023.5 .
```
## 使用
```shell
docker run -d --name helix-p4d\
-p 1666:1666 \
-v /home/perforce/p4:/p4 \
helix-p4d:2023.5
```
```bash
docker run -d \
-p 1666:1666 \
-v /home/perforce/p4:/p4 \
sourcegraph/helix-p4d:2020.2
```
### Github文档
```shell
docker run --rm \
--publish 1666:1666 \
sourcegraph/helix-p4d:2020.2
```
默认端口`:1666`, 默认用户名为 `admin`, 默认密码: `pass12349ers`。以下是所有配置的默认值。
```shell
NAME=perforce-server
P4HOME=/p4
P4NAME=master
P4TCP=1666
P4PORT=1666
P4USER=admin
P4PASSWD=pass12349ers
P4CASE=-C0
P4CHARSET=utf8
JNL_PREFIX=perforce-server
```
可以使用`--env` 覆盖上述环境变量:
```shell
docker run --rm \
--publish 1666:1666 \
--env P4USER=amy \
--env P4PASSWD=securepassword \
sourcegraph/helix-p4d:2020.2
```
请注意尽管服务器在重启后仍能存活即数据被保留但如果你在初始启动后即镜像的第一次运行在选项被硬编码为Perforce Helix核心服务器自身配置时改变选项它可能会中断。要启动一个长期运行的生产容器记得要把数据目录`P4HOME`)容器,把`--rm`标志换成`d`(分离):
```shell
docker run -d \
--publish 1666:1666 \
--env P4PASSWD=securepassword \
--volume ~/.helix-p4d-home:/p4 \
sourcegraph/helix-p4d:2020.2
```
### 推送镜像到Dockerhub
```text
docker tag 9f45f31246ac blueroses/perforce-helix-p4d:2023.5
docker push blueroses/perforce-helix-p4d:2023.5
```
# UE部分操作
- https://docs.unrealengine.com/5.1/en-US/using-perforce-as-source-control-for-unreal-engine/
- https://zhuanlan.zhihu.com/p/414193101?utm_id=0
- [UE4管理多重项目-WiseeEngineering](https://zhuanlan.zhihu.com/p/364346565)
- [UnrealEnigne源码构建&Perforce&UnrealGameSync开发版本控制基础部署](https://zhuanlan.zhihu.com/p/362276094)
- [打通UE4美术资源版本控制关节](https://zhuanlan.zhihu.com/p/261692804)
编码使用UTF8-no bom
- 注册源码引擎到EpicGames
经过上面的步骤,源码引擎已经构建成功,但是在对项目就行选择引擎版本的时候,发现并没有这个版本 。这是因为构建的引擎没有注册到EpicGames中找到EpicGames安装目录下的注册器。复制到源码工程并且运行即可。
```text
Launcher\Engine\Binaries\Win64
```
# Perforce
- https://help.perforce.com/helix-core/quickstart-unreal/Content/quickstart/game-home-quickstart.html
- https://www.perforce.com/manuals/p4v/Content/P4V/Home-p4v.html
- https://www.perforce.com/manuals/p4guide/Content/P4Guide/Home-p4guide.html
- https://www.perforce.com/manuals/p4sag/Content/P4SAG/Home-p4sag.html
- https://www.perforce.com/manuals/p4admin/Content/P4Admin/Home-p4admin.html
## 相关概念
### Workspace
Workspace可以理解为depot到本地的一个映射对应本地的一个目录。
新建Workspace在p4admin中depot查看在服务器中存放的所有Ddepot仓库
开发的过程中可以有多个Workspace例如一个用来开发一个用来更新验证保证提交没有错误但一般只推荐有一个Workspace
###

View File

@@ -0,0 +1,42 @@
## 参考网址
https://www.kutu66.com//GitHub/article_113357
## docker后缀
在 Docker 容器中运行带有smtp身份验证( sasldb )的postfix。 TLS和OpenDKIM支持是可选的。
## 需求
Docker 1.0
## 安装
```
sudo docker pull catatnight/postfix
```
## 用法
使用smtp身份验证创建后缀容器
```
docker run -p 25:25
-e maildomain=mail.example.com -e smtp_user=user:pwd
--name postfix -d catatnight/postfix# Set multiple user credentials: -e smtp_user=user1:pwd1,user2:pwd2,...,userN:pwdN
```
本人使用
```
docker run -p 25:25 -e maildomain=mail.blueroses.top -e smtp_user=gitea@blueroses.top:ljj@12345678 --name postfix -d catatnight/postfix
```
```
$ sudo docker run -p 25:25
-e maildomain=mail.example.com -e smtp_user=user:pwd
--name postfix -d catatnight/postfix# Set multiple user credentials: -e smtp_user=user1:pwd1,user2:pwd2,...,userN:pwdN
启用 OpenDKIM: 在 /path/to/domainkeys 中保存你的域密钥 .private
$ sudo docker run -p 25:25
-e maildomain=mail.example.com -e smtp_user=user:pwd
-v/path/to/domainkeys:/etc/opendkim/domainkeys
--name postfix -d catatnight/postfix
启用 TLS(587): 将SSL证书 .key 和 .crt 保存到 /path/to/certs
$ sudo docker run -p 587:587
-e maildomain=mail.example.com -e smtp_user=user:pwd
-v/path/to/certs:/etc/postfix/certs
--name postfix -d catatnight/postfix
```

View File

@@ -0,0 +1,304 @@
## vps 价格
### hostkey
1核 2G内存 30G硬盘 0.010K贝壳/小时 2M带宽 (≈72元/月)
2核 4G内存 40G硬盘 0.020K贝壳/小时 3M带宽 (≈144元/月)
### 搬瓦工
CN2 GIA 1190元/年
### UCloud
1M/2M 225元/年起
2M/5M 534元/年起
### 硅云
1核1G 带宽 2M 232 元/1年
2核2G 带宽 2M 482 元/1年
## blueroses.top(阿里云)
### DNS
alla.ns.cloudflare.com
micah.ns.cloudflare.com
dns19.hichina.com
dns20.hichina.com
f1g1ns1.dnspod.net
f1g1ns2.dnspod.net
### cloudflare
如果不通可能是cloudflare出问题了。
默认的域名blueroses.top是指向cloudflare的所以通过域名来访问SFTP需要访问在cloudflare设置的子域名。
- tj.blueroses.top
- www.blueroses.top
因为还添加了阿里云DNS解析所以更换VPS时需要记得**修改阿里云的DNS设置**。
## 搬瓦工
378100977@qq.com ljj199221
## 测速网址
### SpeedTest
https://www.speedtest.net/
测速命令:`wget -qO- bench.sh | bash`
### ip测速
https://tools.ipip.net/newping.php
### 检查Ip是否被墙
https://bandwagonhoster.com/653.html
http://www.ping.pe/
https://ping.pe/
### 搬瓦工免费换ip
https://kiwivm.64clouds.com/main-exec.php?mode=blacklistcheck
## 单位阿里云账号
```
阿里云账号(拜托华城租的服务器)
子账户zjsjcpzljczx@1042965787832287
密码:123456&*()LlL
123456&*()LlL
zaq1@XSW2
登录地址http://signin.aliyun.com/1042965787832287/login.htm
116.62.69.44
```
```
门户网站域名:轻工院方工管理。
```
# Trojan
## BBR Plus加速脚本
wget "https://github.com/chiakge/Linux-NetSpeed/raw/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh
## 一键Trojan脚本
curl -O https://raw.githubusercontent.com/atrandys/trojan/master/trojan_centos7.sh && chmod +x trojan_centos7.sh && ./trojan_centos7.sh
curl -O https://raw.githubusercontent.com/atrandys/trojan/master/trojan_mult.sh && chmod +x trojan_mult.sh && ./trojan_mult.sh
### 修改密码
修改Trojan服务端密码需用到的命令
```
sudo systemctl stop trojan
cd /usr/src/trojan
vi server.conf
sudo systemctl restart trojan
```
### 安卓Android端Igniter下载地址
https://github.com/trojan-gfw/igniter...
### IOS
需要借用他人IOS账号购买ShadowRocket。
## 使用Docker安装Trojan
### 安装Docker
1. 卸载老版本的 docker 及其相关依赖
sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
2. 更新yum
yum update
3. 安装 yum-utils它提供了 yum-config-manager可用来管理yum源
sudo yum install -y yum-utils
4. 添加yum源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5. 更新索引
sudo yum makecache fast
6. 安装 docker-ce
sudo yum install -y docker-ce
指定版本安装
yum -y install docker-ce-18.06.3.ce
yum install docker-ce docker-ce-cli containerd.io
7. 启动 docker
sudo systemctl start docker
8. 验证是否安装成功
sudo docker info
9. 开机自启动
systemctl enable docker
### 通过acme.sh脚本来设置证书
安装acme.sh
```
apt-get update && apt-get -y install socat //安装socat
yum install socat
wget -qO- get.acme.sh | bash //安装脚本
source ~/.bashrc
```
#### 申请证书
在你的域名解析服务提供商那里添加好解析记录假定你的域名是yourdomain.com记得不要开启CDN然后执行下面命令申请证书。
```
acme.sh --issue --standalone -d yourdomain.com -k ec-256
```
因为本人要有blog需要与nginx容器共存所以使用网站目录方式
```
acme.sh --issue -d blueroses.top -d www.blueroses.top -d tj.blueroses.top -k ec-256 --webroot /root/docker/nginx/html
```
#### 安装证书和私钥到指定位置
```
acme.sh --installcert -d blueroses.top \
--fullchain-file /root/docker/trojan/trojan.crt \
--key-file /root/docker/trojan/trojan.key \
--ecc --reloadcmd "docker restart nginx-web trojan"
```
#### 自动续期
```
acme.sh --upgrade --auto-upgrade
```
#### 证书过期解决方法手动使用DNS验证(没必要用这个)
通过Docker关闭Nginx服务器之后执行申请证书
```
acme.sh --issue --standalone -d tj.blueroses.top -k ec-256
```
2020.9.19遇到证书过期是cloudflare把我的DNS解析删掉了
如果出错可以考虑用DNS验证
```
acme.sh --issue --dns -d tj.blueroses.top -k ec-256 --yes-I-know-dns-manual-mode-enough-go-ahead-please
```
重启Trojan服务。
#### acme.sh证书签发单位更换
因为acme.sh 2.0更换了默认的签发单位为zerossl所以如果有需要可以更换
```
acme.sh --set-default-ca --server letsencrypt
acme.sh --set-default-ca --server zerossl
```
### 安装Docker
```
wget -qO- get.docker.com | bash //安装docker
systemctl start docker //启动docker服务
systemctl status docker //查看docker运行状态
docker -v //查看docker版本
systemctl enable docker //将docker服务加入开机自启动
```
### 安装Trojan
```
docker pull teddysun/trojan
```
创建并且修改配置文件**(证书路径、密码)**。
```cd /docker/trojan && vim config.json```
password可以设置多个方便多用户使用.
```
{
"run_type": "server",
"local_addr": "0.0.0.0",
"local_port": 443,
"remote_addr": "127.0.0.1",
"remote_port": 80,
"password": [
"512512512",
"512"
],
"log_level": 1,
"ssl": {
"cert": "/etc/trojan/trojan.crt",
"key": "/etc/trojan/trojan.key",
"key_password": "",
"cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384",
"cipher_tls13": "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384",
"prefer_server_cipher": true,
"alpn": [
"http/1.1"
],
"reuse_session": true,
"session_ticket": false,
"session_timeout": 600,
"plain_http_response": "",
"curves": "",
"dhparam": ""
},
"tcp": {
"prefer_ipv4": false,
"no_delay": true,
"keep_alive": true,
"reuse_port": false,
"fast_open": false,
"fast_open_qlen": 20
},
"mysql": {
"enabled": false,
"server_addr": "127.0.0.1",
"server_port": 3306,
"database": "trojan",
"username": "trojan",
"password": ""
}
}
```
#### 启动命令
trojan
```
docker run -d --name trojan --restart always --net host \
-p 443:443 \
-v /root/docker/trojan:/etc/trojan \
teddysun/trojan
```
trojan-go
```bash
docker run -d --network host --name trojan-go --restart=always \
-v /root/docker/trojan-go:/etc/trojan-go \
teddysun/trojan-go
```
#### 一键脚本紧急时候使用
```bash
curl -sL https://raw.githubusercontent.com/phlinhng/v2ray-tcp-tls-web/master/install.sh) && v2script
```
#### ~~带有管理后台的Docker部署~~ 会顶掉我Blog网站所以放弃
1. 安装mysql
因为mariadb内存使用比mysql至少减少一半, 所以推荐使用mariadb数据库
```
docker run --name trojan-mariadb --restart=always -p 3306:3306 \
-v /root/docker/mariadb:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=trojan \
-e MYSQL_ROOT_HOST=% \
-e MYSQL_DATABASE=trojan \
-d mariadb:10.2
```
数据库trojan
账号root
密码trojan
2. 安装trojan
```
docker run -it -d --name trojan-web --net=host --restart=always --privileged jrohy/trojan init
```
运行完后进入容器 `docker exec -it trojan-web bash`, 然后输入`trojan`即可进行初始化安装
- 启动web服务: `systemctl start trojan-web`
- 设置自启动: `systemctl enable trojan-web`
- 更新管理程序: `source <(curl -sL https://git.io/trojan-install)`
#### 查看日志
docker logs -f 容器id
docker logs -f --tail string 容器id
# Nginx
```bash
docker run -d --restart=always --name nginx-web \
-v /root/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /root/docker/nginx/html:/usr/share/nginx/html \
-v /root/docker/nginx/log:/var/log/nginx \
-v /root/docker/trojan/:/root/docker/trojan \
-v /etc/localtime:/etc/localtime:ro \
-p 80:80 \
nginx
```
# X-UI
```bash
docker run -itd --network=host \
-v /root/docker/x-ui/db/:/etc/x-ui/ \
-v /root/docker/trojan/:/root/cert/ \
--name x-ui --restart=unless-stopped \
enwaiax/x-ui
```

View File

@@ -0,0 +1,2 @@
## 访问指定页面需要输入账号密码的方法
https://www.cnblogs.com/brianzhu/p/8625502.html