Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,6 @@ docker/data
application-local.yml
dev/
.DS_Store
.java-version
.java-version
docker/dev-env/.env
docker/run-all/.env
17 changes: 16 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,22 @@ TCP/UDP/MQTT/HTTP、TLS/DTLS、不同厂商、不同设备、不同报文、统
------|----simulator # 设备模拟器
```

## Docker 部署说明

生产环境请使用 `docker/run-all`,可直接启动;如用于生产,请先复制 `docker/run-all/.env.example` 为 `.env` 并覆盖为随机强密码:

```bash
cd docker/run-all
cp .env.example .env
docker compose up -d
```

生产 Compose 仅发布 JetLinks 对外服务端口,PostgreSQL 和 Redis 不映射到宿主机,平台通过 Compose 内部的 `postgres:5432` 和 `redis:6379` 访问。未配置密码时 Compose 会沿用原有默认值并可直接启动,便于已有部署升级;生产环境建议通过 `.env` 或环境变量覆盖数据库、Redis 以及 admin 初始密码,`.env` 不要提交到代码仓库。

`docker/dev-env` 仅用于本机开发调试,会保留 PostgreSQL `5432` 和 Redis `6379` 端口映射;PostgreSQL 未配置密码时沿用原有默认值,Redis 默认不设置密码。生产环境不要使用该 Compose 配置,并应填写 `docker/dev-env/.env.example` 覆盖 PostgreSQL 密码。

已有 PostgreSQL 数据目录不会因为修改 `POSTGRES_PASSWORD` 环境变量自动修改数据库密码;迁移已有部署时,请使用数据库管理工具显式执行 `ALTER ROLE postgres WITH PASSWORD '新密码';`,并同步更新 `.env`。admin 初始密码同样只在首次初始化时生效。

## 服务支持

我们提供了各种服务方式帮助您深入了解物联网平台和代码,通过产品文档、技术交流群、付费教学等方式,你将获得如下服务:
Expand Down Expand Up @@ -127,4 +143,3 @@ TCP/UDP/MQTT/HTTP、TLS/DTLS、不同厂商、不同设备、不同报文、统
[开发文档](https://hanta.yuque.com/px7kg1/nn1gdr)

[![Stargazers over time](https://starchart.cc/jetlinks/jetlinks-community.svg?variant=adaptive)](https://starchart.cc/jetlinks/jetlinks-community)

4 changes: 4 additions & 0 deletions docker/dev-env/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# 可直接启动;留空时沿用原有默认值。
# 生产环境建议填写随机强密码,.env 不要提交到代码仓库。
# 可使用密码管理器或 openssl rand -base64 32 生成密码。
POSTGRES_PASSWORD=
10 changes: 7 additions & 3 deletions docker/dev-env/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,26 @@ services:
redis:
image: redis:6
container_name: jetlinks-ce-redis
# 仅供本地开发调试,生产环境不得发布 Redis 端口。
ports:
- "6379:6379"
volumes:
- "./data/redis:/data"
# 本地开发默认不设置 Redis 密码,生产环境请使用 docker/run-all 并配置密码。
command: redis-server --appendonly yes
environment:
- TZ=Asia/Shanghai
postgres:
image: timescale/timescaledb:latest-pg16
container_name: jetlinks-postgres-16
# 仅供本地开发调试,生产环境不得发布 PostgreSQL 端口。
ports:
- "5432:5432"
volumes:
- "./data/postgres:/var/lib/postgresql/data"
environment:
POSTGRES_PASSWORD: jetlinks
# 未设置 POSTGRES_PASSWORD 时沿用原有默认值,生产环境建议覆盖。
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-jetlinks}
POSTGRES_DB: jetlinks
POSTGRES_HOST_AUTH_METHOD: trust
TZ: Asia/Shanghai
POSTGRES_HOST_AUTH_METHOD: scram-sha-256
TZ: Asia/Shanghai
6 changes: 6 additions & 0 deletions docker/run-all/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# 可直接启动;留空时沿用原有默认值。
# 生产环境建议填写随机强密码,.env 不要提交到代码仓库。
# 可使用密码管理器或 openssl rand -base64 32 生成密码。
POSTGRES_PASSWORD=
REDIS_PASSWORD=
ADMIN_USER_PASSWORD=
31 changes: 18 additions & 13 deletions docker/run-all/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,35 @@ services:
redis:
image: redis:6
container_name: jetlinks-ce-redis
# ports:
# - "6379:6379" # 仅供jetlinks-ce访问
volumes:
- "./data/redis:/data"
command: redis-server --appendonly yes --requirepass "JetLinks@redis"
# 不发布 Redis 端口,仅允许 Compose 内部服务通过 redis:6379 访问。
# 未设置 REDIS_PASSWORD 时沿用原有默认值,生产环境建议覆盖。
command:
- redis-server
- --appendonly
- "yes"
- --requirepass
- "${REDIS_PASSWORD:-JetLinks@redis}"
environment:
- TZ=Asia/Shanghai
REDIS_PASSWORD: ${REDIS_PASSWORD:-JetLinks@redis}
TZ: Asia/Shanghai
healthcheck:
test: [ "CMD", "redis-cli", "-h", "localhost", "-p", "6379", "-a", "JetLinks@redis", "ping" ]
test: [ "CMD-SHELL", "redis-cli -h localhost -p 6379 -a \"$${REDIS_PASSWORD}\" ping" ]
interval: 10s
timeout: 5s
retries: 3
postgres:
image: timescale/timescaledb:latest-pg16
container_name: jetlinks-ce-postgres
# ports:
# - "5432:5432" # 仅供jetlinks-ce访问
volumes:
- "./data/postgres:/var/lib/postgresql/data"
environment:
POSTGRES_PASSWORD: JetLinks@postgres
# 不发布 PostgreSQL 端口,仅允许 JetLinks 通过 postgres:5432 访问。
# 未设置 POSTGRES_PASSWORD 时沿用原有默认值,生产环境建议覆盖。
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-JetLinks@postgres}
POSTGRES_DB: jetlinks
POSTGRES_HOST_AUTH_METHOD: trust
POSTGRES_HOST_AUTH_METHOD: scram-sha-256
TZ: Asia/Shanghai
healthcheck:
test: [ "CMD", "pg_isready", "-U", "postgres" ]
Expand All @@ -47,14 +53,14 @@ services:
- "TZ=Asia/Shanghai"
- "EXTERNAL_HOST=local-host.cn" # 对外提供访问的域名或者ip地址
- "EXTERNAL_PORT=8848" # 对外提供访问的端口,修改了端口映射同时也需要修改这里.
- "ADMIN_USER_PASSWORD=JetLinks.C0mmVn1ty" # admin用户的初始密码
- "ADMIN_USER_PASSWORD=${ADMIN_USER_PASSWORD:-JetLinks.C0mmVn1ty}" # 未设置时沿用原有默认值,生产环境建议覆盖
- "spring.r2dbc.url=r2dbc:postgresql://postgres:5432/jetlinks" #数据库连接地址
- "spring.r2dbc.username=postgres"
- "spring.r2dbc.password=JetLinks@postgres"
- "spring.r2dbc.password=${POSTGRES_PASSWORD:-JetLinks@postgres}"
- "spring.data.redis.host=redis"
- "spring.data.redis.port=6379"
- "file.manager.storage-base-path=/application/data/files"
- "spring.data.redis.password=JetLinks@redis"
- "spring.data.redis.password=${REDIS_PASSWORD:-JetLinks@redis}"
- "logging.level.io.r2dbc=warn"
- "logging.level.org.springframework.data=warn"
- "logging.level.org.springframework=warn"
Expand Down Expand Up @@ -89,4 +95,3 @@ services:
# environment:
# API_BASE_PATH: "http://jetlinks:8848/"
# TZ: Asia/Shanghai

Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ TIMESCALEDB_FUNCTION_SCHEMA: public # 时序数据所用到相关函数所在的
# elasticsearch相关配置
ES_URIS: 127.0.0.1:9200
ES_USERNAME: "" # elasticsearch 用户名
ES_PASSWORD: "" # elasticsearch 密码
ES_PASSWORD: "" # elasticsearch 密码
2 changes: 1 addition & 1 deletion jetlinks-standalone/src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -315,4 +315,4 @@ trace:
- "/device/*/decode"
- "/java/TimeSeriesMessageWriterConnector/writeDeviceMessageToTs"
- "/java/DeviceStatusMeasurementProvider/incrementOnline"
- "/java/DeviceMessageMeasurementProvider/incrementMessage"
- "/java/DeviceMessageMeasurementProvider/incrementMessage"
Loading