windows通过docker compose部署oktopus服务

Oktopus 是一个开源的 TR-069(CWMP)(v1.0/v1.1/v1.2)自动配置服务器 (ACS)、TR369服务器 ,用 Go 语言实现,侧重 轻量、可嵌入、脚本化,适合运营商/企业做 CPE 远程管理、批量升级、参数监控。

一、虚拟机ubuntu系统通过ssh执行命令

虚拟机的终端界面并不是很友好,日志颜色、查看日志、拷贝日志等都不够便捷。可以通过ssh方式访问虚拟机ip地址:

bash 复制代码
安装ssh server:
sudo apt-get openssh-server
启动ssh:
sudo systemctl start ssh
查看虚拟机ip:
ifconfig
通过mobaxterm等工具访问ssh:
地址:ip:22
用户名密码同virtualbox账户

二、安装docker compose

oktopus服务通过docker compose一键部署,需要先安装docker。

1. 下载docker

bash 复制代码
# 官方脚本下载
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun

2.docker配置

bash 复制代码
# 添加当前用户到docker组
sudo usermod -aG docker $USER

# 配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}
EOF

# 重启Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

# 检查Docker版本
docker --version
# 输出示例: Docker version 24.0.7, build afdd53b

# 检查Docker Compose
docker compose version
# 输出示例: Docker Compose version v2.23.0

三、启动oktopus服务

1. 拉取oktopus并配置

bash 复制代码
# 克隆代码
git clone https://github.com/OktopUSP/oktopus.git

# 进入部署目录
cd oktopus/deploy/compose

# 创建 .env.nats
cat > .env.nats << 'EOF'
NATS_URL=nats://msg_broker:4222
EOF

# 创建 .env.controller
cat > .env.controller << 'EOF'
MONGO_URI=mongodb://mongo_usp:27017
NATS_URL=nats://msg_broker:4222
PORT=8000
CONTROLLER_EID=oktopusController
EOF

# 创建 .env.mqtt
cat > .env.mqtt << 'EOF'
MQTT_PORT=:1883
MQTT_TLS_PORT=:8883
MQTT_NO_TLS=true
MQTT_TLS=false
AUTH_ENABLE=false
REDIS_ENABLE=false
NATS_URL=nats://msg_broker:4222
LOG_LEVEL=0
EOF

# 创建 .env.ws
cat > .env.ws << 'EOF'
WS_PORT=:8080
WS_NO_TLS=true
WS_TLS=false
CONTROLLER_EID=oktopusController
NATS_URL=nats://msg_broker:4222
AUTH=false
EOF

# 创建 .env.mqtt-adapter
cat > .env.mqtt-adapter << 'EOF'
NATS_URL=nats://msg_broker:4222
MONGO_URI=mongodb://mongo_usp:27017
EOF

# 创建 .env.ws-adapter
cat > .env.ws-adapter << 'EOF'
NATS_URL=nats://msg_broker:4222
MONGO_URI=mongodb://mongo_usp:27017
EOF

# 创建 .env.adapter
cat > .env.adapter << 'EOF'
NATS_URL=nats://msg_broker:4222
MONGO_URI=mongodb://mongo_usp:27017
EOF

# 创建 .env.socketio
cat > .env.socketio << 'EOF'
NATS_URL=nats://msg_broker:4222
PORT=5000
EOF

# 创建 .env.file-server
cat > .env.file-server << 'EOF'
PORT=8004
EOF

# 赋予脚本执行权限
chmod +x run.sh

2. 启动服务

bash 复制代码
# 启动服务
./run.sh

# 或者手动指定要启动的服务
COMPOSE_PROFILES=nats,controller,mqtt,ws,adapter,frontend docker compose up -d

直到容器都创建成功即可,启动过程:

bash 复制代码
# 查看服务状态
docker compose ps

# 查看日志
docker compose logs -f

# 只查看特定服务的日志
docker compose logs -f mqtt
docker compose logs -f controller
docker compose logs -f frontend

查看到服务状态均为UP:

通过mqttfx或者官方测试服务obuspa连接至ip:1883的mqtt服务器,即可连接成功。

相关推荐
明志数科7 小时前
手持式机器人数据采集方案的生态化演进:从开源工具到数据交易
机器人·开源
Yana.nice7 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
神奇霸王龙7 小时前
GB/T 46886 闭环屠夫:5 旗舰多模态 LLM 工业质检实测
人工智能·计算机视觉·ai·开源·ai编程·本地部署
冬奇Lab8 小时前
开源项目第165期:superfile — 颜值与效率并重的现代终端文件管理器
开源·资讯
fthux9 小时前
“装闭”,让装修套路“装”不下去
人工智能·ai·开源·github·open source
DFT计算杂谈10 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
张忠琳10 小时前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
Zhang~Ling11 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind11 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的森11 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei