三国杀(无名版)Web服务和联机服务一起集成。联机IP即当前服务器IP
10K+
本镜像(开源地址 https://github.com/xiaochun-z/noname/ )是基于原地址( https://github.com/libccy/noname )的master分支所作,是基于原来基础上的docker化。 主要解决部署难的问题,使用此镜像可一键部署此你的服务器(或你家里局域网的服务器,以供家人娱乐)。 联机服务一并包含在内,需要联机时,输入当前服务器的IP即可。
例如,你当前在 192.168.2.5 部署本镜像,可以遵循下列步骤。
docker run -d --name sgs -p 80:80 -p 8080:8082 --restart unless-stopped hsiaoshun/noname:latest
将sgs.ent.shenhe.org替换成你自己的域名并解析到局域网的IP地址,例如192.168.2.6。
下面的例子中,输入联机地址填写wss://sgs.ent.shenhe.org/ws。
name: basic-service
services:
reverse-proxy:
image: docker.io/traefik:latest
container_name: traefik
command:
- --api.insecure=true
- --providers.docker=true
- --providers.docker.exposedByDefault=false
- --providers.docker.network=traefik-net # 确保与下方 networks key 一致
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --api.dashboard=false
- --entrypoints.websecure.http.tls=true
- --providers.file.directory=/etc/traefik/dynamic
- --providers.file.watch=true
ports:
- 80:80
- 443:443
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- path/to/docker/all/traefik/certs:/etc/certs/:ro # 放置你的证书位置
- path/to/docker/all/traefik/dynamic:/etc/traefik/dynamic:ro # 文件内容参考后面
restart: unless-stopped
networks:
- traefik-net
sgs:
container_name: sgs
image: hsiaoshun/noname:latest
restart: unless-stopped
labels:
- traefik.enable=true
# Web 路由
- traefik.http.routers.sgs-web.rule=Host(`sgs.ent.shenhe.org`) && PathPrefix(`/`)
- traefik.http.routers.sgs-web.entrypoints=websecure
- traefik.http.routers.sgs-web.service=sgs-web-svc
- traefik.http.services.sgs-web-svc.loadbalancer.server.port=80
# WebSocket 路由
- traefik.http.routers.sgs-websocket.rule=Host(`sgs.ent.shenhe.org`) && PathPrefix(`/ws`)
- traefik.http.routers.sgs-websocket.entrypoints=websecure
- traefik.http.routers.sgs-websocket.service=sgs-websocket-svc
- traefik.http.routers.sgs-websocket.middlewares=strip-ws@docker
# Sticky Cookie 配置 (服务名需匹配 sgs-websocket-svc)
- traefik.http.services.sgs-websocket-svc.loadbalancer.server.port=8082
- traefik.http.services.sgs-websocket-svc.loadbalancer.sticky.cookie.name=__sgs_sticky
- traefik.http.services.sgs-websocket-svc.loadbalancer.sticky.cookie.secure=true
- traefik.http.services.sgs-websocket-svc.loadbalancer.sticky.cookie.httponly=true
# 中间件定义
- traefik.http.middlewares.strip-ws.stripprefix.prefixes=/ws
networks:
- traefik-net
networks:
traefik-net:
driver: bridge
ipam:
config:
- subnet: 10.5.1.0/24
gateway: 10.5.1.1
你可以使用自签名https证书,或通过let's encrypt获取。
# path/to/docker/all/traefik/dynamic/dynamic.yml
tls:
certificates:
- certFile: "/etc/certs/ent.shenhe.crt"
keyFile: "/etc/certs/ent.shenhe.key"
stores:
default:
defaultCertificate:
certFile: "/etc/certs/ent.shenhe.crt"
keyFile: "/etc/certs/ent.shenhe.key"
http:
middlewares:
redirect-to-https:
redirectscheme:
scheme: https
permanent: true
log:
level: ERROR # TRACE, DEBUG, INFO, WARN, ERROR, FATAL
Content type
Image
Digest
sha256:434de1781…
Size
1.2 GB
Last updated
3 months ago
docker pull hsiaoshun/noname