Ultima attività 1772787573

一些常用的winsw服务配置文件

Revisione 9bd4ba765c95daa4766ba5d0506582a2b0bf9caf

winsw-dufs-config.yml Raw
1# dufs.yaml - 通用的配置文件示例
2# 所有选项都有默认值,以下是推荐的通用设置 + 注释
3# 你可以根据需要注释掉或修改
4
5# 要服务的根目录(默认当前目录 .)
6serve-path: '/path/to/serve'
7
8# 监听地址
9# - 0.0.0.0: 允许所有网络接口访问(推荐公网或内网暴露时用)
10# - 127.0.0.1:仅本地访问(最安全)
11# - :: IPv6 全监听
12# - ::1 IPv6 仅本地监听
13# - /run/dufs.sock:Unix socket(抽象路径用 @/tmp/dufs.sock)
14bind: 127.0.0.1
15
16# 监听端口(默认 5000)
17port: 5000
18
19# URL 路径前缀,例如访问 http://your-ip:5000/dufs/ 才生效
20# 留空或注释掉 = 无前缀(根路径 / 直接服务)
21# path-prefix: /dufs
22
23# 隐藏的文件/目录(glob 模式,支持多个)
24# 不会在列表中显示,但仍可通过直链访问(除非权限限制)
25hidden:
26 - 'tmp'
27 - 'temp'
28 - '__pycache__'
29 - '*.log'
30 - '*.lock'
31 - '.git'
32 - '.svn'
33 - '.DS_Store'
34 - '*.db'
35 - '*.bak'
36 - '*.pem'
37
38# 认证规则(最重要部分!)
39# 格式:user:pass@路径:权限
40# 权限:rw(读写)、ro(只读)、wo(只写,很少用)、空=只读
41# 支持 hashed 密码(从 0.37 开始),但这里示例用明文(生产建议 hashed)
42# '@/' 表示匿名访问(公开)
43auth:
44 # 管理员
45 - admin:StrongPassword@/:rw
46
47 # 用户1
48 - user1:password1@/private/user1:rw
49
50 # 用户2
51 - user2:password2@/private/user2:rw
52
53 # 共享下载区
54 - download:downloadpass@/downloads:ro
55
56 # 匿名访问(只读)
57 - '@/public:ro'
58
59# ========================
60# 功能控制
61# ========================
62# 是否允许所有操作(upload/delete 等),设为 true 会覆盖下面的 allow-*
63allow-all: false
64
65# 允许上传文件/文件夹
66allow-upload: true
67
68# 允许删除
69allow-delete: false
70
71# 允许搜索 (?q=xxx)
72allow-search: false
73
74# 允许跟随根目录外的符号链接
75allow-symlink: true
76
77# 允许打包下载文件夹为 zip
78allow-archive: false
79
80# 允许 ?hash 获取文件 SHA-256
81allow-hash: false
82
83# ========================
84# CORS 支持(前端跨域请求时有用,默认 true)
85# ========================
86enable-cors: true
87
88# ========================
89# Web UI 渲染
90# ========================
91# 有 index.html 就返回,没有就显示列表(推荐开启,自定义主题的话则必须开启)
92render-try-index: true
93
94# 单页应用模式(路径不存在时回退到 index.html,和上面一条配置搭配使用,常用于前端项目)
95render-spa: true
96
97# 如果目录有 index.html,直接返回它(否则 404)
98render-index: false
99
100# ========================
101# 自定义 UI 资源目录(想改 dufs 的网页界面时用)
102# ========================
103assets: ./dufs-material-assets/
104
105# ========================
106# 日志
107# ========================
108log-format: '$remote_addr - $user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"'
109
110# 指定日志文件(默认输出到终端)
111# log-file: ./dufs-access.log
112
113# ========================
114# ZIP 压缩级别(打包下载文件夹时)
115# ========================
116# none / low / medium / high(默认 low,平衡速度和体积)
117compress: low
118
119# ========================
120# TLS HTTPS
121# ========================
122# 直接用 dufs 开 HTTPS
123# 不建议公网这样用
124# 更推荐用 Caddy/Nginx
125# tls-cert: /path/to/fullchain.pem
126# tls-key: /path/to/privkey.pem
127
128# 其他高级/不常用选项(按需启用)
129
130# 如果想单独监听 HTTPS 端口
131# tls-port: 443
132
133# HTTP 自动跳 HTTPS(需同时配 tls-cert/key)
134# redirect-to-https: true
135
winsw-dufs.xml Raw
1<!--
2 This is an example of a minimal Windows Service Wrapper configuration, which includes only mandatory options.
3
4 This configuration file should be placed near the WinSW executable, the name should be the same.
5 E.g. for myapp.exe the configuration file name should be myapp.xml
6
7 You can find more information about the configuration options here: https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md
8 Full example: https://github.com/kohsuke/winsw/blob/master/examples/sample-allOptions.xml
9-->
10<service>
11
12 <!-- ID of the service. It should be unique across the Windows system-->
13 <id>dufs</id>
14 <!-- Display name of the service -->
15 <name>dufs</name>
16 <!-- Service description -->
17 <description>"A file server that supports static serving, uploading, searching, accessing control, webdav"</description>
18
19 <!-- Path to the executable, which should be started -->
20 <executable>%BASE%\dufs.exe</executable>
21 <arguments> -c %BASE%\config.yml</arguments>
22
23 <!-- https://github.com/winsw/winsw/blob/master/doc/loggingAndErrorReporting.md -->
24 <logpath>%BASE%\logs</logpath>
25 <log mode="roll-by-size">
26 <sizeThreshold>10240</sizeThreshold> <!-- 10MB -->
27 <keepFiles>4</keepFiles>
28 </log>
29 <onfailure action="restart" delay="10 sec"/>
30 <onfailure action="restart" delay="20 sec"/>
31 <onfailure action="none" />
32 <!-- 服务启动模式:Automatic(自动启动),也可设为 Manual 或 Disabled -->
33 <startmode>Manual</startmode>
34 <!-- 是否延迟自动启动,默认 false -->
35 <delayedAutoStart>true</delayedAutoStart>
36
37</service>
winsw-frpc-config.toml Raw
1serverAddr = "server.frp.twotiger.cn"
2serverPort = 7000
3auth.token = "StrongPassword"
4
5[[proxies]]
6name = "A"
7type = "tcp"
8localIP = "192.168.0.11"
9localPort = 7001
10remotePort = 7001
11
12[[proxies]]
13name = "B"
14type = "tcp"
15localIP = "192.168.0.12"
16localPort = 7002
17remotePort = 7002
18
19
winsw-frpc.xml Raw
1<!--
2 This is an example of a minimal Windows Service Wrapper configuration, which includes only mandatory options.
3
4 This configuration file should be placed near the WinSW executable, the name should be the same.
5 E.g. for myapp.exe the configuration file name should be myapp.xml
6
7 You can find more information about the configuration options here: https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md
8 Full example: https://github.com/kohsuke/winsw/blob/master/examples/sample-allOptions.xml
9-->
10<service>
11
12 <!-- ID of the service. It should be unique across the Windows system-->
13 <id>Frpc</id>
14 <!-- Display name of the service -->
15 <name>Frpc</name>
16 <!-- Service description -->
17 <description>Frp Client</description>
18
19 <!-- Path to the executable, which should be started -->
20 <executable>%BASE%\frpc.exe</executable>
21 <arguments> -c %BASE%\frpc.toml</arguments>
22
23 <!-- https://github.com/winsw/winsw/blob/master/doc/loggingAndErrorReporting.md -->
24 <logpath>%BASE%\winsw-logs</logpath>
25 <log mode="roll-by-size">
26 <sizeThreshold>1024</sizeThreshold>
27 <keepFiles>10</keepFiles>
28 </log>
29
30 <onfailure action="restart" delay="10 sec"/>
31 <onfailure action="restart" delay="20 sec"/>
32 <onfailure action="none" />
33
34</service>
winsw-gitea.xml Raw
1<!--
2 This is an example of a minimal Windows Service Wrapper configuration, which includes only mandatory options.
3
4 This configuration file should be placed near the WinSW executable, the name should be the same.
5 E.g. for myapp.exe the configuration file name should be myapp.xml
6
7 You can find more information about the configuration options here: https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md
8 Full example: https://github.com/kohsuke/winsw/blob/master/examples/sample-allOptions.xml
9-->
10<service>
11
12 <!-- ID of the service. It should be unique across the Windows system-->
13 <id>Gitea</id>
14 <!-- Display name of the service -->
15 <name>Gitea</name>
16 <!-- Service description -->
17 <description>Gitea Windows </description>
18
19 <!-- Path to the executable, which should be started -->
20 <executable>%BASE%\gitea-1.24.6-windows-4.0-amd64.exe</executable>
21 <arguments></arguments>
22
23 <!-- https://github.com/winsw/winsw/blob/master/doc/loggingAndErrorReporting.md -->
24 <logpath>%BASE%\winsw-logs</logpath>
25 <log mode="roll-by-size">
26 <sizeThreshold>1024</sizeThreshold>
27 <keepFiles>10</keepFiles>
28 </log>
29
30 <onfailure action="restart" delay="10 sec"/>
31 <onfailure action="restart" delay="20 sec"/>
32 <onfailure action="none" />
33
34</service>
winsw-gopeedweb.xml Raw
1<!--
2 This is an example of a minimal Windows Service Wrapper configuration, which includes only mandatory options.
3
4 This configuration file should be placed near the WinSW executable, the name should be the same.
5 E.g. for myapp.exe the configuration file name should be myapp.xml
6
7 You can find more information about the configuration options here: https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md
8 Full example: https://github.com/kohsuke/winsw/blob/master/examples/sample-allOptions.xml
9-->
10<service>
11
12 <!-- ID of the service. It should be unique across the Windows system-->
13 <id>GopeedWeb</id>
14 <!-- Display name of the service -->
15 <name>GopeedWeb</name>
16 <!-- Service description -->
17 <description>GopeedWeb</description>
18
19 <!-- Path to the executable, which should be started -->
20 <executable>%BASE%\gopeed.exe</executable>
21 <arguments></arguments>
22
23 <!-- https://github.com/winsw/winsw/blob/master/doc/loggingAndErrorReporting.md -->
24 <logpath>%BASE%\logs</logpath>
25 <log mode="roll-by-size">
26 <sizeThreshold>1024</sizeThreshold>
27 <keepFiles>4</keepFiles>
28 </log>
29
30 <onfailure action="restart" delay="10 sec"/>
31 <onfailure action="restart" delay="20 sec"/>
32 <onfailure action="none" />
33
34</service>
winsw-minio.xml Raw
1<!--
2 这是一个最小化的Windows服务包装器配置示例,仅包含必选项。
3
4 此配置文件应放置在WinSW可执行文件附近,且名称应相同。
5
6 例如,对于myapp.exe,配置文件名应为myapp.xml。
7
8 有关配置选项的更多信息,请访问: https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md
9 完整示例: https://github.com/kohsuke/winsw/blob/master/examples/sample-allOptions.xml
10-->
11<service>
12
13 <!-- 服务的唯一标识,不能与其他服务重复-->
14 <id>Minio</id>
15 <!-- 服务显示名称 -->
16 <name>Minio</name>
17 <!-- 服务描述 -->
18 <description>Minio Server RELEASE.2024-09-13T20-26-02Z (commit-id=5bf41aff1702adf2a11fa96a7b68f8651191e24d)</description>
19
20 <!-- Path to the executable, which should be started -->
21 <executable>%BASE%\minio.exe</executable>
22 <arguments>server filedata --address ":9000" --console-address ":9001"</arguments>
23
24 <!--
25 如果指定,则设置为可执行文件的默认工作目录。
26 默认值:服务可执行文件的目录。
27 -->
28 <workingdirectory>%BASE%</workingdirectory>
29
30 <!--
31 OPTION: env
32 设置或覆盖环境变量。
33 There may be multiple entries configured on the top level.
34 -->
35 <env name="MINIO_ROOT_USER" value="minioadmin" />
36 <env name="MINIO_ROOT_PASSWORD" value="minioadmin" />
37
38 <!-- https://github.com/winsw/winsw/blob/master/doc/loggingAndErrorReporting.md -->
39 <logpath>%BASE%\logs</logpath>
40 <log mode="roll-by-size">
41 <sizeThreshold>1024</sizeThreshold>
42 <keepFiles>4</keepFiles>
43 </log>
44
45 <onfailure action="restart" delay="10 sec"/>
46 <onfailure action="restart" delay="20 sec"/>
47 <onfailure action="none" />
48
49 <!-- 设置为“自动(延迟启动)”,避免开机时与其他服务争抢资源 -->
50 <delayedAutoStart>true</delayedAutoStart>
51
52</service>
53
winsw-nexus.xml Raw
1<service>
2 <!-- 服务的唯一标识符,建议与名称保持一致 -->
3 <id>nexus</id>
4 <!-- 服务显示名称,可自定义 -->
5 <name>Nexus Repository Manager</name>
6 <!-- 服务描述 -->
7 <description>Sonatype Nexus Repository Manager (wrapped by WinSW)</description>
8
9 <!-- 可执行文件路径:请替换为您的 Nexus 安装目录下的 nexus.exe -->
10 <executable>%BASE%\nexus.exe</executable>
11 <!-- 运行参数:/run 让 nexus.exe 以前台模式运行,便于服务管理 -->
12 <arguments>/run</arguments>
13
14 <!-- 工作目录:通常设为 nexus.exe 所在目录或 Nexus 安装根目录 -->
15 <workingdirectory>%BASE%</workingdirectory>
16
17 <!-- 服务启动模式:Automatic(自动启动),也可设为 Manual 或 Disabled -->
18 <startmode>Automatic</startmode>
19 <!-- 是否延迟自动启动,默认 false -->
20 <delayedAutoStart>true</delayedAutoStart>
21
22 <!-- 服务依赖项(可选),例如依赖数据库服务,留空表示无依赖 -->
23 <depend></depend>
24
25 <!-- 日志输出目录,请替换为实际路径 -->
26 <logpath>%BASE%\logs</logpath>
27 <!-- 日志滚动模式:rotate(按日期/大小滚动),也可设为 append(单一文件追加)或 none(不记录) -->
28
29 <log mode="roll-by-size">
30 <sizeThreshold>1024</sizeThreshold>
31 <keepFiles>10</keepFiles>
32 </log>
33
34 <!-- 可选:指定服务登录账户,若不需要可删除此块或留空 -->
35 <!--
36 <serviceaccount>
37 <domain>YOUR_DOMAIN</domain>
38 <user>YOUR_USER</user>
39 <password>YOUR_PASSWORD</password>
40 </serviceaccount>
41 -->
42
43 <!-- 可选:环境变量设置,例如若 Nexus 需要特定的 JAVA_HOME,可在此指定 -->
44 <!--
45 <env name="JAVA_HOME" value="C:\Program Files\Java\jdk1.8.0_201"/>
46 <env name="NEXUS_HOME" value="C:\Program Files\sonatype\nexus"/>
47 -->
48</service>
winsw-nginx.xml Raw
1<!--
2 This is an example of a minimal Windows Service Wrapper configuration, which includes only mandatory options.
3
4 This configuration file should be placed near the WinSW executable, the name should be the same.
5 E.g. for myapp.exe the configuration file name should be myapp.xml
6
7 You can find more information about the configuration options here: https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md
8 Full example: https://github.com/kohsuke/winsw/blob/master/examples/sample-allOptions.xml
9-->
10<service>
11
12 <!-- ID of the service. It should be unique across the Windows system-->
13 <id>Nginx</id>
14 <!-- Display name of the service -->
15 <name>Nginx</name>
16 <!-- Service description -->
17 <description>Nginx 1.22.1 </description>
18
19 <!-- Path to the executable, which should be started -->
20 <executable>%BASE%\nginx.exe</executable>
21 <arguments></arguments>
22
23 <!-- https://github.com/winsw/winsw/blob/master/doc/loggingAndErrorReporting.md -->
24 <logpath>%BASE%\logs</logpath>
25 <log mode="roll-by-size">
26 <sizeThreshold>1024</sizeThreshold>
27 <keepFiles>4</keepFiles>
28 </log>
29
30 <onfailure action="restart" delay="10 sec"/>
31 <onfailure action="restart" delay="20 sec"/>
32 <onfailure action="none" />
33
34</service>
winsw-stashapp.xml Raw
1<!--
2 This is an example of a minimal Windows Service Wrapper configuration, which includes only mandatory options.
3
4 This configuration file should be placed near the WinSW executable, the name should be the same.
5 E.g. for myapp.exe the configuration file name should be myapp.xml
6
7 You can find more information about the configuration options here: https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md
8 Full example: https://github.com/kohsuke/winsw/blob/master/examples/sample-allOptions.xml
9-->
10<service>
11
12 <!-- ID of the service. It should be unique across the Windows system-->
13 <id>Stash</id>
14 <!-- Display name of the service -->
15 <name>Stash</name>
16 <!-- Service description -->
17 <description>Stash v0.28.1</description>
18
19 <!-- Path to the executable, which should be started -->
20 <executable>%BASE%\stash-win-v0.28.1.exe</executable>
21 <arguments></arguments>
22
23 <!-- https://github.com/winsw/winsw/blob/master/doc/loggingAndErrorReporting.md -->
24 <logpath>%BASE%\logs</logpath>
25 <log mode="roll-by-size">
26 <sizeThreshold>1024</sizeThreshold>
27 <keepFiles>4</keepFiles>
28 </log>
29
30 <onfailure action="restart" delay="10 sec"/>
31 <onfailure action="restart" delay="20 sec"/>
32 <onfailure action="none" />
33
34</service>