首页
Linux常用
docker常用
关于
Search
1
docker安装MDCX
276 阅读
2
iStoreOS上使用WireGuard
213 阅读
3
麒麟KylinV10离线下载安装包及安装
210 阅读
4
麒麟v10系统openssh升级OpenSSH_10.0p2-OpenSSL 3.4.2
77 阅读
5
UNRAID增加和缩小虚拟机虚拟磁盘大小
63 阅读
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
Tomcat
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
硬件
登录
Search
标签搜索
nginx
数据库
unraid
PVE
麒麟
dockerfile
同步
wow服务器
装机硬件
宏
v2ray
直通
电视盒子
相册
黑裙7.0.1
远程穿透
定时
ssh
emby
symlink
奥黛丽·逐爱者
累计撰写
132
篇文章
累计收到
7
条评论
首页
栏目
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
Tomcat
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
硬件
页面
Linux常用
docker常用
关于
搜索到
37
篇与
默认分类
的结果
2026-04-03
可视化Docker Compose构建器VCompose
简介什么是 VCompose ?VCompose 是一个开源的可视化 Docker Compose 构建器,可以通过拖拽操作、绘制连接在浏览器中直接生成可用于生产的 docker-compose.yml 文件。而手动编写docker-compose.yml 意味着要处理缩进、记住镜像标签,还要对照 depends_on 条目。主要特点可视化拖拽:通过拖拽服务、绘制连接线来构建 Docker Compose 配置实时预览:实时生成 YAML 输出,带语法高亮AI 生成:支持 OpenAI、Anthropic、Gemini、GLM 等大模型,用自然语言描述生成配置MCP 集成:支持 MCP 协议,可从 Claude、Cursor 等 AI 工具中调用YAML 导入:支持粘贴现有 compose 文件进行可视化编辑智能推荐:自动推荐配套服务(如 postgres 搭配 pgadmin)无需后端:所有操作在浏览器中完成,数据不会离开本地应用场景开发者快速部署:开发人员可以快速搭建和可视化复杂的 Docker 开发环境Docker 学习:初学者可以通过可视化操作理解 docker-compose 的配置结构团队协作:团队成员可以通过可视化界面共享和讨论 Docker 配置VCompose 是一个让 Docker Compose 配置变得简单直观的可视化工具安装在群晖上以 Docker 方式安装。由于镜像托管在 ghcr.io,群晖 Docker 套件无法直接搜索,需要通过命令行拉取镜像。docker cli 安装如果你熟悉命令行,可能用 docker cli 更快捷docker run -d \ --name=vcompose \ --restart=unless-stopped \ -p 7482:80 \ ghcr.io/zbrave/vcompose:latestdocker-compose 安装也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件version: '3.8'services: vcompose: image: ghcr.io/zbrave/vcompose:latest container_name: vcompose restart: unless-stopped ports: - "7482:80"然后通过 SSH 登录到您的群晖,执行下面的命令:# 新建文件夹 vcompose 和 子目录mkdir -p /volume1/docker/vcompose进入 vcompose 目录cd /volume1/docker/vcompose将 docker-compose.yml 放入当前目录一键启动docker-compose up -d运行在浏览器中访问 http://<群晖IP>:7482 即可进入 VCompose Web 界面。点下方的 Open VCompose 按钮,进入主界面Stacks 中是编排好的,像 Smart Home 包含了 6 个 services从侧边栏拖拽服务到画布配置镜像、端口、卷、环境变量绘制连接线自动生成 depends_on复制或下载生成的 docker-compose.yml而 Marketplace 中则是单个的镜像,也可以添加自定义镜像设置 AI 之后,可以进行优化VCompose 还可以作为 MCP 使用,但是看文档 http://<群晖IP>:7482/mcp 似乎应该只支持 stdio 传输注意事项无需配置:这是一个纯前端应用,不需要环境变量和持久化存储数据安全:所有数据保存在浏览器 localStorage 中,不会发送到任何服务器版本更新:如需更新镜像,重新拉取最新版本即可参考文档VCompose: Visual Docker Compose Builder地址:https://github.com/zbrave/vcomposevcompose - Docker Image地址:https://ghcr.io/zbrave/vcomposeVCompose 在线版地址:https://vcompose.cc@所有人:写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。
2026年04月03日
7 阅读
0 评论
0 点赞
2026-01-22
工控机sata硬盘电源线序调整
黄色线是+12V,红色是+5V,粉色(实际上电源用的线一般是橙色)是+3.3V,黑色是地线(GND)硬盘线序定义黄12,红5 才对。 实际拿万用表测试挑线,重新排下顺序电源接错,会烧硬盘的。
2026年01月22日
16 阅读
0 评论
1 点赞
2026-01-08
nginx配置「锦上添花」的小修小补
1. 统一 SSL 配置块(可维护性)把重复的 ssl_* 指令抽成一个独立文件,主配置里 include 即可,例如:# /etc/nginx/ssl/ssl_best.conf ssl_certificate /etc/nginx/ssl/_baidu.com.crt; ssl_certificate_key /etc/nginx/ssl/_baidu.com.key; ssl_trusted_certificate /etc/nginx/ssl/_baidu.com.crt; ssl_session_timeout 1d; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA^...............:ECDHE-RSA-AE^.............-GCM-SHA384;然后在每个 443 段里写一句:include ssl_best.conf; 配上路径,容器运行注意! 比如include /etc/nginx/ssl/ssl_best.conf;以后换证书/调加密套件只改一行。2. 补充安全响应头(看情况用吧)新建 /etc/nginx/conf.d/security_headers.conf:add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; # 如需上传或外链,按需调整 CSP add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline';" always; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;在 所有 443 段 的 location / 里加:include security_headers.conf; 配上路径,容器运行注意! 比如include /etc/nginx/conf.d/security_headers.conf;(Tomcat 已自带 X-Frame-Options,nginx 再统一一次无冲突。)3. 代理头统一模板把 proxy 头也抽成 /etc/nginx/conf.d/proxy_headers.conf:proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header REMOTE-HOST $remote_addr; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";以后 location / 里只要写:proxy_pass http://backend_5800; include proxy_headers.conf; 比如include /etc/nginx/conf.d/proxy_headers.conf;Tomcat 路径同理。4. 小优化:正则 location 加 breaklocation ~ ^/(test|oa|ob|oc) { proxy_pass http://tomcat; include proxy_headers.conf; }• 正则 ~ 会顺序匹配,保持放在「普通 location /」前面即可。• 若担心性能,可改为:location /oa { ... } location /ob { ... }5. 可选:Tomcat 真实 IP 日志Tomcat 要记录访客真实 IP,在 server.xml 里加:<Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="X-Forwarded-For" protocolHeader="X-Forwarded-Proto" />nginx 已传头,直接可用。{lamp/}附配置:{collapse}{collapse-item label="一、nginx的default.conf的配置"}# ---------- upstream ---------- upstream tomcat { server tomcat:8080; } upstream backend_5800 { server 172.25.194.247:5800; } # ---------- 80 → 443 统一跳转 ---------- server { listen 80; listen [::]:80; server_name baidu.com *.baidu.com *.cloud.baidu.com; return 301 https://$host$request_uri; } # ---------- 主域名 + 通配证书 ---------- server { listen 443 ssl; listen [::]:443 ssl; server_name baidu.com *.baidu.com *.cloud.baidu.com; #ssl_best统一SSL配置块,要配路径,容器运行注意! include /etc/nginx/ssl/ssl_best.conf; # 根目录 → 5800 location / { proxy_pass http://backend_5800; #代理头proxy_header,要配路径容器运行要注意! include /etc/nginx/conf.d/proxy_headers.conf; #安全响应头security_headers,要配路径容器运行要注意! include /etc/nginx/conf.d/security_headers.conf; } # 子路径 → tomcat location ~ ^/(ixjkj|oa|ob|oc) { proxy_pass http://tomcat; #代理头proxy_header,要配路径容器运行要注意! include /etc/nginx/conf.d/proxy_headers.conf; #安全响应头security_headers,要配路径容器运行要注意! include /etc/nginx/conf.d/security_headers.conf; } } # ---------- oa.cloud.baidu.com 专用 ---------- server { listen 443 ssl; listen [::]:443 ssl; server_name oa.cloud.baidu.com; #ssl_best统一SSL配置块,要配路径,容器运行注意! include /etc/nginx/ssl/ssl_best.conf; # 根目录 → tomcat /oa(去掉路径前缀) location / { proxy_pass http://tomcat/oa/; #代理头proxy_header,要配路径容器运行要注意! include /etc/nginx/conf.d/proxy_headers.conf; #安全响应头security_headers,要配路径容器运行要注意! include /etc/nginx/conf.d/security_headers.conf; } } # ========== ob.cloud.baidu.com 专用 ========== server { listen 443 ssl; listen [::]:443 ssl; server_name ob.cloud.baidu.com; #ssl_best统一SSL配置块,要配路径,容器运行注意! include /etc/nginx/ssl/ssl_best.conf; # 根目录反向代理到 Tomcat 的 /ob(去掉前缀) location / { proxy_pass http://tomcat/ob/; # 注意末尾斜杠 #代理头proxy_header,要配路径容器运行要注意! include /etc/nginx/conf.d/proxy_headers.conf; #安全响应头security_headers,要配路径容器运行要注意! include /etc/nginx/conf.d/security_headers.conf; } }{/collapse-item}{collapse-item label="二、统一SSL配置块的配置"}ssl_certificate /etc/nginx/ssl/_.cloud.baidu.com.crt; ssl_certificate_key /etc/nginx/ssl/_.cloud.baidu.com.key; ssl_trusted_certificate /etc/nginx/ssl/_.cloud.baidu.com_issuerCertificate.crt; ssl_session_timeout 1d; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-....................................................SHA384;{/collapse-item}{collapse-item label="三、安全响应头的配置"}add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always;{/collapse-item}{collapse-item label="四、统一代理头的配置"}proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header REMOTE-HOST $remote_addr; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";{/collapse-item}{collapse-item label="2026年1月16日配置重写路径"}虽然页面转过来了,但页面资源元素全部404,随后添加一个server块server { listen 8888 ssl; listen [::]:8888 ssl; server_name jxzy2.baidu.com; ssl_certificate /etc/nginx/ssl/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256'; ssl_prefer_server_ciphers on; location / { # 保留请求的 URI set $backend_uri $request_uri; # 如果请求的不是 /hzsjapi/ 开头,则添加前缀 if ($request_uri !~ ^/hzsjapi/) { set $backend_uri /hzsjapi$request_uri; } proxy_pass http://tomcat2$backend_uri; #设置正确的 Host 头,包含端口 proxy_set_header Host $host:$server_port; #proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Original-URI $request_uri; client_max_body_size 20000m; #重写重定向 proxy_redirect http:// https://; }{/collapse-item}{/collapse}
2026年01月08日
11 阅读
0 评论
0 点赞
2026-01-07
Tomcat强制跳转https
不使用nginx代理Tomcat直接服务1 全局Tomcat的conf/server.xml找到这一段默认是这样<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" <!-- 改回 8443,不再强制 443 --> maxParameterCount="1000" URIEncoding="utf-8"/>需要https<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" maxParameterCount="1000" uRIEncoding="utf-8"2 单个应用里webapps/你的项目/WEB-INF/web.xml默认<!-- <security-constraint> ... <transport-guarantee>CONFIDENTIAL</transport-guarantee> </security-constraint> -->需要强制https<!--跳转--> <security-constraint> <web-resource-collection> <web-resource-name>Secure Area</web-resource-name> <url-pattern>/*</url-pattern> <!-- 匹配所有 URL --> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> <!-- 强制 HTTPS --> </user-data-constraint> </security-constraint>“作用域”速查表文件位置作用域优先级说明conf/server.xml全局(整个 Tomcat)最低里面的 Connector、Host、Context 对所有应用生效。conf/web.xml全局默认(所有应用共用)中Tomcat 自带的默认部署描述符,相当于“父模板”。webapps/xxx/WEB-INF/web.xml单个应用最高只影响 xxx 这个应用;与上面冲突时以它为准。
2026年01月07日
10 阅读
0 评论
0 点赞
2026-01-07
linux系统RPM方式编译升级openssh
linux系统RPM方式编译升级openssh遵义市妇幼保健院李明在医院运维时经常会出现linux服务器openssl及openssh组件存在高危漏洞,但官方库无法更新到最新或者指定的版本,例如Anolis OS8官方库ssh最新只到8.0p1,而要求要9.2以上,常规编译安装的方式不适合批量更新。本文所使用的方法可以编译成rpm以到达快速更新的目的。本文使用龙蜥Anolis OS8.10系统,源码为目前最新的openssl-3.5.0和openssh-10.0p1。需要注意的是本方法编译的RPM包只更新sshd的ssl版本,不更新本机的ssl版本。一、编译程序1、下载编译工具wget https://gitee.com/boforest/boforest/raw/master/OpenSSH/openssh-rpms-main.zipunzip openssh-rpms-main.zipcd openssh-rpms-main/2、修改版本文件vim version.env 3、将下载的源码包放到openssh-rpms-main的downloads目录,建议在官网进行下载。openssl-3.5.0.tar.gz openssh-10.0p1.tar.gz x11-ssh-askpass-1.2.4.1.tar.gz 4、修改openssh.spec文件vim el7/SPECS/openssh.spec在install -d $RPM_BUILD_ROOT%{_libexecdir}/openssh后面增加install -m755 contrib/ssh-copy-id $RPM_BUILD_ROOT/usr/bin/ssh-copy-id(大概330行左右位置) 在 %attr(0755,root,root) %{_bindir}/ssh-keygen后添加%attr(0755,root,root) %{_bindir}/ssh-copy-id,并在endif前添加%{_libexecdir}/openssh/*(重要) 5、下载编译工具和依赖yum groupinstall -y "Development Tools"yum install -y make rpm-build pam-devel krb5-devel zlib-devel libXt-devel libX11-devel gtk2-devel perl6、生成rpm包./compile.sh编译好的rpm包放在el7/RPMS目录下 二、安装编译好的程序后续大家可以将编译好的文件拷贝到需要更新的服务器,用yum的本地安装命令操作,最好是先卸载原有程序,笔者实际操作中直接覆盖安装也未发现问题。1、升级OpenSSH备份原有配置cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backupcp /etc/pam.d/sshd /etc/pam.d/sshd.backupcp /etc/pam.d/system-auth /etc/pam.d/system-auth.backup安装并赋予文件权限yum localinstall -y openssh-*.rpmchmod 0600 /etc/ssh/ssh_host_rsa_keychmod 0600 /etc/ssh/ssh_host_ecdsa_keychmod 0600 /etc/ssh/ssh_host_ed25519_key还原备份文件\cp -f /etc/ssh/sshd_config.backup /etc/ssh/sshd_config\cp -f /etc/pam.d/sshd.backup /etc/pam.d/sshd\cp -f /etc/pam.d/system-auth.backup /etc/pam.d/system-auth2、如未备份可以直接修改sshd_config文件,添加:Port 22 AddressFamily any ListenAddress 0.0.0.0 ListenAddress :: PermitRootLogin yes PasswordAuthentication yes 3、重启服务systemctl restart sshd #重启服务4、查看版本及测试连接 以下是我编译好的rpm包链接:https://pan.quark.cn/s/c44e2f4b6915提取码:gGxa
2026年01月07日
8 阅读
0 评论
0 点赞
1
2
...
8