使用docker搭建chirpstack lora服务环境

公司有需要要搭建chirpstack环境,搭建途中遇到挺多坑的,记录一下搭建过程.

这篇文章是给萌新一个0基础搭建服务的参考.

其实官网已经有docker-compose一键部署的方案的,但是因为种种原因, 我无法使用这种模式部署...

好吧,具体原因就是我们的环境需要装在网关里, 但是....空间不足以支持docker-compose的安装...

另外原因打算部署在自己机子上做测试,但是...windows下的docker环境docker-compose up启动不了,很麻烦...

一. 安装docker

windows版本

为什么有windows版本呢,因为本人的机子是window10的,所以安装了windows版本的docker,事实证明window做开发真的不好用,坑太多了...

安装过程不详述,下载安装包安装就完了,步骤可以参考下面这篇文章:

Windows下通过DockerToolbox安装Docker

ps: 嗯...实际安装过程中会碰到一些问题, 看看报错日志, 百度一下也就都能解决了,这里就不多说了(因为实在很不建议在windows下安装docker环境...)

linux版本

linux环境下有几种安装方式

1.脚本安装(如果中间不报错的话)

2.apt-get安装(我采用这种方式)

3.yum安装(没使用)

docker安装不在这里多说, 可以查看官网或百度, 很多文章有教程, 这里安装的是docker-ce

 

二. 正式安装

使用官方linux:16.04版本的镜像创建容器

sudo docker run -itd ubuntu:16.04 /bin/bash

进入镜像

sudo docker attach 容器id

做一些准备工作

apt-get update

# 安装vim
apt-get install -y vim

# 添加chirpstack源
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1CE2AFD36DBCCA00

echo "deb https://artifacts.chirpstack.io/packages/3.x/deb stable main" | tee /etc/apt/sources.list.d/chirpstack.list

apt-get update

安装mosquitto

apt-get install mosquitto

配置位于:\etc\chirpstack-gateway-bridge\chirpstack-gateway-bridge.toml

安装redis-server

apt-get install redis-server

配置位于:\etc\chirpstack-gateway-bridge\chirpstack-gateway-bridge.toml

安装postgresql

# 这里安装的postgresql是9.5版本的
apt-get install postgres

配置位于:\etc\chirpstack-gateway-bridge\chirpstack-gateway-bridge.toml 

先配置chirpstack用到的数据库(按官网提示操作即可)

# 使用默认的postgres用户登陆数据库
# 本地登录无需密码

su postgres -c psql

# 可以修改登陆密码
# ALTER USER postgres WITH PASSWORD '你的密码';

# 创建 chirpstack_ns 用户
create role chirpstack_ns with login password 'chirpstack_ns的登陆密码';

# 创建 chirpstack_ns 数据库, 使用 chirpstack_ns 用户登陆
create database chirpstack_ns with owner chirpstack_ns;

# 创建 chirpstack_as 用户
create role chirpstack_as with login password 'chirpstack_as的登陆密码';

# 创建 chirpstack_as 数据库
create database chirpstack_as with owner chirpstack_as;

# 切换到 chirpstack_as 数据库
\c chirpstack_as

# 启用 trigram and hstore 扩展
create extension pg_trgm;
create extension hstore;

# 退出postgresql命令行
\q

安装chirpstack-gateway-bridge

apt-get install chirpstack-gateway-bridge

配置位于:\etc\chirpstack-gateway-bridge\chirpstack-gateway-bridge.toml

安装chirpstack-network-server

apt-get install chirpstack-network-server

配置位于:\etc\chirpstack-network-server\chirpstack-network-server.toml

这里有个需要修改的点,需要将官方默认使用 EU868 的 region 配置改为自己需要的配置

[network_server.band]
# LoRaWAN band to use.
#
# Valid values are:
# *	AS_923
# * AU_915_928
# * CN_470_510
# * CN_779_787
# * EU_433
# * EU_863_870
# * IN_865_867
# * KR_920_923
# * RU_864_870
# * US_902_928
name="CN_470_510"

此外,可以根据需要设置下默认的子信道

[network_server.network_settings]
# Enable only a given sub-set of channels
#
# Use this when ony a sub-set of the by default enabled channels are being
# used. For example when only using the first 8 channels of the US band.
# 
# Example:
# enabled_uplink_channels=[0, 1, 2, 3, 4, 5, 6, 7]
enabled_uplink_channels=[0, 1, 2, 3, 4, 5, 6, 7]

 最后,数据的链接需要修改一下

# 默认配置
# dsn="postgres://localhost/chirpstack_ns?sslmode=disable"

# 根据实际情况修改
dsn="postgres://chirpstack_ns:你设置的登陆密码@localhost/chirpstack_ns?sslmode=disable"

安装chirpstack-application-server

apt-get install chirpstack-application-server

配置位于:\etc\chirpstack-application-server\chirpstack-application-server.toml

需要修改一下配置中的数据库链接

# 默认配置
# dsn="postgres://localhost/chirpstack_as?sslmode=disable"

# 根据实际情况修改
dsn="postgres://chirpstack_as:你设置的登陆密码@localhost/chirpstack_as?sslmode=disable"

最后制作一下启动脚本,退出提交镜像即可

运行镜像时需要暴露出1700udp端口和8080tcp端口 

1700端口是接受pktfwd的udp请求用

8080是application-server的网站

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值