frps compose:
version: "3"
services:
minio:
image: snowdreamtech/frpc:latest
container_name: frpc
restart: always
user: "0:0"
deploy:
resources:
limits:
cpus: '1' # 数据库需要更多计算资源
memory: 1G # 最大内存
networks:
bridge:
volumes:
- ./frpc.toml:/etc/frp/frpc.toml
environment:
- TZ=Asia/Shanghai
networks:
bridge:frps配置
bindPort = 7000
vhostHTTPPort = 80
# 设置认证信息
auth.method = "token"
auth.token = "*"
# 开始控制台
webServer.addr = "0.0.0.0"
webServer.port = 7500
# dashboard's username and password are both optional
webServer.user = "admin"
webServer.password = "admin"frpc配置端口映射
serverAddr = "121.41.xxx.xxx"
serverPort = 7000
auth.method = "token"
auth.token = "xxxx"
[[proxies]]
name = "dify-web"
type = "http"
localIP = "192.168.1.128"
localPort = 8081
customDomains = ["dify.xxx.cn"]
[[proxies]]
name = "forum-web"
type = "http"
localIP = "192.168.1.121"
localPort = 8090
customDomains = ["forum.xxx.cn"]
[[proxies]]
name = "os-service"
type = "http"
localIP = "192.168.1.121"
localPort = 9000
customDomains = ["zos.xxx.cn"]
[[proxies]]
name = "mysql8-1"
type = "tcp"
localIP = "192.168.1.148"
localPort = 30200
remotePort = 30200
[[proxies]]
name = "mysql8-2"
type = "tcp"
localIP = "192.168.1.148"
localPort = 30201
remotePort = 30201
[[proxies]]
name = "nacos2.5.1-1"
type = "tcp"
localIP = "192.168.1.148"
localPort = 30300
remotePort = 30300
[[proxies]]
name = "rancher-1"
type = "tcp"
localIP = "192.168.1.121"
localPort = 30443
remotePort = 30443
[[proxies]]
name = "postgresql"
type = "tcp"
localIP = "192.168.1.148"
localPort = 30500
remotePort = 30500Halo部署:
version: "3"
services:
halo:
image: halohub/halo:2.21
restart: always
depends_on:
halodb:
condition: service_healthy
deploy:
resources:
limits:
cpus: '1' # 数据库需要更多计算资源
memory: 2G # 最大内存
networks:
halo_network:
volumes:
- ./halo2:/root/.halo2
ports:
- "8090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
command:
- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
- --spring.r2dbc.username=halo
# PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
- --spring.r2dbc.password=openpostgresql
- --spring.sql.init.platform=postgresql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=http://localhost:8090/
halodb:
image: postgres:15.4
restart: always
deploy:
resources:
limits:
cpus: '0.5' # 数据库需要更多计算资源
memory: 1G # 最大内存
networks:
halo_network:
volumes:
- ./db:/var/lib/postgresql/data
# 默认没有设置端口映射,如果需要在容器外部访问数据库,可以添加端口为 5432(默认)
healthcheck:
test: [ "CMD", "pg_isready" ]
interval: 10s
timeout: 5s
retries: 5
environment:
- POSTGRES_PASSWORD=openpostgresql
- POSTGRES_USER=halo
- POSTGRES_DB=halo
- PGUSER=halo
networks:
halo_network:
rocketmq Compose配置
version: '3.8'
services:
namesrv:
image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/rocketmq:5.3.3
container_name: rmqnamesrv
user: "0:0"
restart: always
ports:
- "9876:9876"
volumes:
- ./data/namesrv/logs:/home/rocketmq/logs
- ./data/namesrv/store:/home/rocketmq/store
networks:
- rocketmq-net
command: sh mqnamesrv
broker:
image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/rocketmq:5.3.3
container_name: rmqbroker
user: "0:0"
restart: always
ports:
- "10909:10909"
- "10911:10911"
- "10912:10912"
- "8080:8080"
- "8081:8081"
volumes:
- ./data/broker/logs:/home/rocketmq/logs
- ./data/broker/store:/home/rocketmq/store
- ./data/broker/broker.conf:/home/rocketmq/rocketmq-5.3.3/conf/broker.conf
environment:
- NAMESRV_ADDR=namesrv:9876
networks:
- rocketmq-net
depends_on:
- namesrv
command: sh mqbroker --enable-proxy -c /home/rocketmq/rocketmq-5.3.3/conf/broker.conf
dashboard:
image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/rocketmq-dashboard:2.1.0
container_name: rmq-dashboard
user: "0:0"
restart: always
ports:
- "20330:8082"
environment:
- JAVA_OPTS= -Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false
networks:
- rocketmq-net
depends_on:
- namesrv
networks:
rocketmq-net:
driver: bridgerocketmq broker的broker.conf配置
namesrvAddr=rocketmq-namesrv-1:9876
# 所属集群名称,如果节点较多可以配置多个
brokerClusterName = DefaultCluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName = broker-a
#0表示Master,大于0表示不同的slave
brokerId = 0
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen = 04
#在磁盘上保留消息的时长,单位是小时
fileReservedTime = 48
#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;
brokerRole = ASYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType = ASYNC_FLUSH
# 设置broker节点所在服务器的ip地址,线上可用内网,如果和服务器同一局域网,开发本地配ip映射外网
brokerIP1 = 192.168.1.xxx
# 磁盘使用达到95%之后,生产者再写入消息会报错 CODE: 14 DESC: service not available now, maybe disk full
diskMaxUsedSpaceRatio=95
#自动创建topic
autoCreateTopicEnable = true
traceTopicEnable=true
autoCreateSubscriptionGroup=true
waitTimeMillsInSendQueue=3000
tlsTestModeEnable = false
# 设置broker对外可访问端口
listenPort=30413mysql8部署
version: "3"
services:
mysql8-1:
image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/mysql:8.4.7
restart: always
user: "1000:10"
deploy:
resources:
limits:
cpus: '2' # 数据库需要更多计算资源
memory: 4G # 最大内存
networks:
bridge:
volumes:
- ./data:/var/lib/mysql/
ports:
- "20200:3306"
environment:
- MYSQL_ROOT_PASSWORD=mysql8
- TZ=Asia/Shanghai
mysql8-2:
image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/mysql:8.4.7
restart: always
user: "1000:10"
deploy:
resources:
limits:
cpus: '2' # 数据库需要更多计算资源
memory: 4G # 最大内存
networks:
bridge:
volumes:
- ./data2:/var/lib/mysql/
ports:
- "20201:3306"
environment:
- MYSQL_ROOT_PASSWORD=mysql8
- TZ=Asia/Shanghai
networks:
bridge:redis6部署
version: "3"
services:
redis6-1:
image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/redis:6
restart: always
user: "1000:10"
deploy:
resources:
limits:
cpus: '1' # 数据库需要更多计算资源
memory: 2G # 最大内存
networks:
bridge:
volumes:
- ./data:/data
ports:
- "20100:6379"
environment:
- REDIS_PASSWORD=redis6
- TZ=Asia/Shanghai
command: redis-server --save 300 1 --save 180 100 --save 60 10000 --loglevel warning --appendonly yes --appendfsync everysec --appendfilename appendonly.aof
redis6-2:
image: registry.cn-hangzhou.aliyuncs.com/zhouweiwei-common/redis:6
restart: always
user: "1000:10"
deploy:
resources:
limits:
cpus: '1' # 数据库需要更多计算资源
memory: 2G # 最大内存
networks:
bridge:
volumes:
- ./data2:/data
ports:
- "20101:6379"
environment:
- REDIS_PASSWORD=redis6
- TZ=Asia/Shanghai
command: redis-server --save 300 1 --save 180 100 --save 60 10000 --loglevel warning --appendonly yes --appendfsync everysec --appendfilename appendonly.aof
networks:
bridge:minio部署
version: "3"
services:
minio:
image: quay.io/minio/minio
restart: always
deploy:
resources:
limits:
cpus: '2' # 数据库需要更多计算资源
memory: 4G # 最大内存
networks:
bridge:
volumes:
- ./data:/data
ports:
- "9000:9000"
- "9001:9001"
environment:
- MINIO_ROOT_USER=minio
- MINIO_ROOT_PASSWORD=zhouweiwei331023
- MINIO_CONSOLE_ADDRESS=:9001
command: server /data
networks:
bridge:halo2部署
version: "3"
services:
halo:
image: halohub/halo:2.21
restart: always
depends_on:
halodb:
condition: service_healthy
deploy:
resources:
limits:
cpus: '1' # 数据库需要更多计算资源
memory: 4G # 最大内存
networks:
halo_network:
volumes:
- ./halo2:/root/.halo2
ports:
- "8090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
command:
- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
- --spring.r2dbc.username=halo
# PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
- --spring.r2dbc.password=openpostgresql
- --spring.sql.init.platform=postgresql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=http://localhost:8090/
halodb:
image: postgres:15.4
restart: always
deploy:
resources:
limits:
cpus: '0.5' # 数据库需要更多计算资源
memory: 1G # 最大内存
networks:
halo_network:
volumes:
- ./db:/var/lib/postgresql/data
# 默认没有设置端口映射,如果需要在容器外部访问数据库,可以添加端口为 5432(默认)
healthcheck:
test: [ "CMD", "pg_isready" ]
interval: 10s
timeout: 5s
retries: 5
environment:
- POSTGRES_PASSWORD=openpostgresql
- POSTGRES_USER=halo
- POSTGRES_DB=halo
- PGUSER=halo
networks:
halo_network: