个人常用项目Docker的Compose配置模板
NapCat
接入QQ消息框架
# docker-compose.yml
services:
napcat:
environment:
- NAPCAT_UID=0
- NAPCAT_GID=0
ports:
- 3000:3000
- 3001:3001
- 6099:6099
container_name: napcat
network_mode: bridge
restart: always
image: mlikiowa/napcat-docker:latest
volumes:
- ./napcat/config:/app/napcat/config
- ./ntqq:/app/.config/QQ
- /volume1/docker/app:/app/sharedFolderAsrtBot
AI智能体
version: '3.8'
# 当接入 QQ NapCat 时,请使用这个 compose 文件一键部署: https://github.com/NapNeko/NapCat-Docker/blob/main/compose/astrbot.yml
services:
astrbot:
image: soulter/astrbot:latest
container_name: astrbot
restart: always
ports: # mappings description: https://github.com/AstrBotDevs/AstrBot/issues/497
- "6185:6185" # 必选,AstrBot WebUI 端口
- "6199:6199" # 可选, QQ 个人号 WebSocket 端口
# - "6195:6195" # 可选, 企业微信 Webhook 端口
# - "6196:6196" # 可选, QQ 官方接口 Webhook 端口
- "8899:8899" # 表情包偷取插件
- "1451:1451" # 读空气插件
environment:
- TZ=Asia/Shanghai
volumes:
- ./data:/AstrBot/data
# - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /volume1/docker/app:/app/sharedFolderAsrtBot-t2i
给AsrtBot使用的一个渲染HTML为图片的服务
version: "3.9"
services:
astrbot-t2i:
image: soulter/astrbot-t2i-service:latest
container_name: astrbot-t2i
restart: always
ports:
- "8999:8999"
stdin_open: true
tty: true
Halo
个人建站
version: "3"
services:
halo:
image: registry.fit2cloud.com/halo/halo-pro:2.24.2
container_name: halo
restart: always
depends_on:
halodb:
condition: service_healthy
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
environment:
# JVM 参数,默认为 -Xmx256m -Xms256m,可以根据实际情况做调整,置空表示不添加 JVM 参数
- JVM_OPTS=-Xmx256m -Xms256m
command:
- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
- --spring.r2dbc.username=halo
# PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
- --spring.r2dbc.password=openpostgresqlqsc
- --spring.sql.init.platform=postgresql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=http://localhost:8090/
halodb:
image: postgres:15.4
restart: on-failure:3
networks:
halo_network:
volumes:
- ./db:/var/lib/postgresql/data
healthcheck:
test: [ "CMD", "pg_isready" ]
interval: 10s
timeout: 5s
retries: 5
environment:
- POSTGRES_PASSWORD=openpostgresqlqsc
- POSTGRES_USER=halo
- POSTGRES_DB=halo
- PGUSER=halo
networks:
halo_network:FRP客户端
frp内网穿透客户端
services:
frpc:
container_name: frpc
image: ghcr.io/fatedier/frpc:v0.69.1
network_mode: host
restart: unless-stopped
volumes:
- ./data/frpc.toml:/etc/frp/frpc.toml
- /etc/localtime:/etc/localtime:ro
command: ["-c", "/etc/frp/frpc.toml"]frpc.toml 文件内容
serverAddr = "frp服务的IP地址"
serverPort = 7000
auth.method = "token"
auth.token = "服务端配置密钥"
[[proxies]]
name = "www"
type = "tcp"
localIP = "192.168.1.5"
localPort = 8090
remotePort = 5203
[[proxies]]
name = "asrtbot"
type = "tcp"
localIP = "192.168.1.5"
localPort = 6185
remotePort = 5300
[[proxies]]
name = "napcat"
type = "tcp"
localIP = "192.168.1.5"
localPort = 6099
remotePort = 5301