多维表格

登入成功后生成token (7*)

hmac中度安全可自定义(用户+时间),jwt高安全


baserow

teable国产开源多维表格(本地api缺功能)

NocoBase 与 NocoDB 数据与数据库

  • NocoBase 不成熟全依赖插件
  • NocoDB 还不支持商业数据库

nocoDB

比较实用并且开源开放.

部署

默认最新版本

 
docker run -d --name nocodb \
-v /opt/docker/nocodb:/usr/app/data/ \
-p 8123:8080 \
-e NC_ALLOW_LOCAL_HOOKS=true \
nocodb/nocodb:latest



# 0.250.2 最后一个 支持mssql
 
docker run -d --name nocodb250 \
-v /opt/docker/nocodb250:/usr/app/data/ \
-p 8250:8080 \
nocodb/nocodb:0.250.2

# 在项目设置中添加数据源

mssql://sa:wsf119900@192.168.0.121:1433/AIS20230131214054
NC_ALLOW_LOCAL_HOOKS=true

api 调取

先要添加验证

curl -v -X 'GET' \
  'http://192.168.0.123:8123/api/v2/tables/mmlyxarwu3iw075/records?viewId=vwg9vr6elpccta6x&limit=25&shuffle=0&offset=0' \
  -H 'accept: application/json' \
  -H 'xc-token: _tuWJFjsFOBeHUqmR-FRlVNZiIOFHTtTmB1W-lp1'

nocoBase

需要安装latest-full版

部署

mkdir -p /opt/docke/nocobase/storage

docker run -d --name  nocobase \
  -p 13000:80 \
  -e DB_DIALECT=sqlite \
  -e DB_STORAGE=/app/nocobase/storage/database.sqlite \
  -e INIT_APP_DATA=1 \
  -e DEFAULT_LOCALE=zh-CN \
  -e Asia/Shanghai \
  -v /opt/docke/nocobase-data:/app/nocobase/storage \
  registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:latest-full
apt update && apt install sqlite3

docker-compose.yml

version: '3'

networks:
  nocobase:
    driver: bridge

services:
  app:
    image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:latest-full
    restart: always
    networks:
      - nocobase
    depends_on:
      - postgres
    environment:
      # 应用的密钥,用于生成用户 token 等
      # 如果 APP_KEY 修改了,旧的 token 也会随之失效
      # 可以是任意随机字符串,并确保不对外泄露
      - APP_KEY=your-secret-key
      # 数据库类型,支持 postgres, mysql, mariadb
      - DB_DIALECT=postgres
      # 数据库主机,可以替换为已有的数据库服务器 IP
      - DB_HOST=postgres
      # Database port
      - DB_PORT=5432
      # 数据库名
      - DB_DATABASE=nocobase
      # 数据库用户
      - DB_USER=nocobase
      # 数据库密码
      - DB_PASSWORD=nocobase
      # 时区
      - TZ=Asia/Shanghai

    volumes:
      - /opt/docke/nocobase/storage
    ports:
      - '13000:80'
    # init: true

  # 如果使用已有数据库服务,可以不启动 postgres
  postgres:
    image: registry.cn-shanghai.aliyuncs.com/nocobase/postgres:16
    restart: always
    command: postgres -c wal_level=logical
    environment:
      POSTGRES_USER: nocobase
      POSTGRES_DB: nocobase
      POSTGRES_PASSWORD: nocobase
    volumes:
      - ./storage/db/postgres:/var/lib/postgresql/data
    networks:
      - nocobase
docker-compose up -d
nocobase 和 admin123

appFlowy

(极其初期)

 docker-compose  部署 appflowyinc  给部署文档 包括地址

容器

podman (debian12)

#安装
apt install  podman  podman-compose  podman-docker

#配置
mkdir -p ~/.config/containers
cat <<EOF >> ~/.config/containers/registries.conf
unqualified-search-registries = ["docker.io"]

EOF
#代理
curl -v --socks5 192.168.12.1:1080  www.google.com 

export http_proxy="socks5://192.168.12.1:1080"
export https_proxy="socks5://192.168.12.1:1080"
export all_proxy="socks5://192.168.12.1:1080"
curl -v www.google.com 

curl -v https://auth.docker.io/token





#面板
 podman run -d --name podpanel --restart=always -p 8808:8080 -v /var/run/docker.sock:/var/run/docker.sock dpanel/dpanel:lite

ssl证书申请

可以公开目录给证书申请服务

docker run -d --name allinssl --net=host allinssl/allinssl:latest

http://ip:port/allinssl 用户名 allinssl

 docker exec -it allinssl sh
./allinssl 6  #重置密码

导航页

homarr 螃蟹导航页

0.x系列

docker run  --name homarr    --restart unless-stopped  -p 7575:7575 \
 -v /vol1/docker-container/homarr/configs:/app/data/configs   \
 -v /vol1/docker-container/homarr/icons:/app/public/icons      \
 -d ghcr.io/ajnart/homarr:latest

homarr-labs 1.x系列

比较吃内存


version: "3.3"
services:
  homarr-labs:
    image: ghcr.io/homarr-labs/homarr:latest
    container_name: homarr-labs
    restart: unless-stopped
    ports:
      - "7575:7575"
    volumes:
      - /var/run/docker.sock:/run/docker.sock
      - ./appdata:/appdata
    environment:
      - SECRET_ENCRYPTION_KEY=2aa5c8455f5060f8cc7219461545aa5764f3585970dfed38e56647102a9ffb4d
      - TZ=Asia/Shanghai
      - HOMARR_PORT=7575


生产一个随机串

openssl rand -hex 32

要加环境变量秘钥

工具导航栏

消息通知

ntfy 支持安卓 (后台会断联)

version: '3.8'
services:
  ntfy:
    image: binwiederhier/ntfy:latest
    container_name: ntfy
    user: 0:0
    environment:
      - TZ=Asia/Shanghai
    command:
      - serve
    volumes:
      - ./ntfy/cache:/var/cache/ntfy
      - ./ntfy/config:/etc/ntfy
    ports:
      - "3680:80"
    restart: unless-stopped
    
     
本地ntfy服务 , 公网IP套ssl一层 

建议挂在特稳定nas(yynas)

web代理

放在云端vps

caddy:
    image: caddy:latest
    container_name: caddy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile  # 配置文件
      - ./caddy_data:/data                # 重要:存放自动申请的证书
      - ./caddy_config:/config
    restart: unless-stopped

配置

touch Caddyfile
docker-compose up -d
v4vps.17121.top {
    reverse_proxy z4nas.17121.top:3680
}

证书管理

allinssl/allinssl



docker run -d --name allinssl \
  -p 80:80 -p 443:443 \
  -v /opt/docker/allinssl/certs:/etc/nginx/certs \
  -v /opt/docker/allinssl/config:/etc/nginx/conf.d \
  allinssl/allinssl
  
  

消息通知

webhook + node-red(协议转换)

node-red轻应用

v 4.1.1

version: "3.3"
services:
  node-red:
    image: nodered/node-red:latest
    container_name: node-red
    user: "0:0"  # 使用 root 用户和组 (UID:GID)
    ports:
      - "1880:1880"
    environment:
      - NODE_RED_ENABLE_PROJECTS=false
      - TZ=Asia/Shanghai
    volumes:
      - node-red-data:/data
    restart: unless-stopped

volumes:
  node-red-data:

devices:
      - /dev/ttyUSB0:/dev/ttyUSB0
      - /dev/ttyACM0:/dev/ttyACM0
    volumes:
      - /opt/node-red-data:/data
    restart: unless-stopped

时区问题

于系统时区无关 总是慢8小时

docker-compose -f ./n.yaml up -d


docker exec -it --user root node-red /bin/bash

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ls -lh   /usr/share/zoneinfo/America/Vancouver
TZ=America/Vancouver

mqtt开源

需要创建配置文件

# 允许匿名连接
allow_anonymous true

# 监听端口
listener 1883

# 持久化设置
persistence true
persistence_location /mosquitto/data/

# 日志设置
log_dest file /mosquitto/log/mosquitto.log
log_type all
version: '3.3'

services:
  mosquitto:
    # 使用官方的 Mosquitto 镜像
    image: eclipse-mosquitto:latest
    container_name: mosquitto
    restart: unless-stopped
    
    # 端口映射: 将宿主机的 1883 端口映射到容器的 1883 端口
    # 1883 是默认的 MQTT 端口
    ports:
      - "1883:1883"
      # 如果需要支持 WebSocket,可以添加 9001 端口(需要在 mosquitto.conf 中配置)
      - "9001:9001" 
      
    # 卷(Volume)挂载: 用于持久化配置、数据和日志
    volumes:
      # 挂载自定义配置文件
      - /vol1/docker-run/mqtto/config:/mosquitto/config
      # 挂载持久化数据目录
      - /vol1/docker-run/mqtto/data:/mosquitto/data
 

独立pgsql

version: '3.3'  # 适配指定的 3.3 版本

services:
  # 公用数据库 - PostgreSQL 9.6
  mypgsql:
    image: postgres:9.6  # 固定 9.6 版本(官方镜像,兼容稳定)
    container_name: pgsql96  # 容器名称
    ports:
      - "54320:5432"  # 主机端口:容器端口(避免与本地 PostgreSQL 冲突)
    environment:
      # 核心身份认证配置(与原配置一致)
      POSTGRES_USER: pgadmin
      POSTGRES_DB: oq_db
      POSTGRES_PASSWORD: oq.100200300
    volumes:
      # 数据持久化:将 PostgreSQL 数据目录映射到主机(防止容器删除数据丢失)
      - /mnt/data/docker-data/mypgsql:/var/lib/postgresql/data
    restart: always  # 容器退出时自动重启(故障自愈)
    
docker-compose  -f ./mypgsql.yaml  up -d  


postgresql://pgadmin:oq.100200300@192.168.0.123:54320/oq_db

pgadmin

指出pg15及以上

version: '3.3'

services:
  pgadmin:
    image: dpage/pgadmin4:8.10
    container_name: pgadmin
    restart: unless-stopped
    ports:
      - "5050:80"
    environment:
      PGADMIN_DEFAULT_EMAIL: "admin@admin.com"
      PGADMIN_DEFAULT_PASSWORD: "YourSecurePassword123"
      PGADMIN_CONFIG_SERVER_MODE: "False"
      PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: "False"
      PGADMIN_CONFIG_WTF_CSRF_ENABLED: "False"
    volumes:
      - ./pgadmin-data:/var/lib/pgadmin
    restart: always  # 容器退出时自动重启(故障自愈)
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
 
 

PostgreSQL 15

version: '3.3'  # 适配指定的 3.3 版本

services:
  # 公用数据库 - PostgreSQL 15
  mypgsql:
    image: postgres:15-alpine  # 或使用 postgres:15(推荐使用 alpine 版本更轻量)
    container_name: pgsql15  # 容器名称
    ports:
      - "54315:5432"  # 主机端口:容器端口(避免与本地 PostgreSQL 冲突)
    environment:
      # 核心身份认证配置(与原配置一致)
      POSTGRES_USER: pgadmin
      POSTGRES_DB: oq_db
      POSTGRES_PASSWORD: oq.100200300
      # PostgreSQL 15 推荐添加的配置
      POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C"
    volumes:
      # 数据持久化:将 PostgreSQL 数据目录映射到主机
      - ./pgdata:/var/lib/postgresql/data
      # 可选:初始化脚本目录(用于初始化数据库)
      # - ./init-scripts:/docker-entrypoint-initdb.d
    restart: always  # 容器退出时自动重启(故障自愈)
    

emqx

 mkdir ./emqx_data && chmod 777 ./emqx_data

version: '3.3'

services:
  emqx:
    image: emqx/emqx:5.6.1
    container_name: emqx
    restart: always
    ports:
      - "1883:1883"
      - "8083:8083"
      - "8084:8084"
      - "8883:8883"
      - "18083:18083"
    volumes:
      - ./emqx_data:/opt/emqx/data
    environment:
      - EMQX_NODE_NAME=emqx@node1.emqx.io
      - EMQX_CLUSTER__DISCOVERY_STRATEGY=static
 

http://localhost:18083

admin, public

导入测试数据

13 示例-超市数据.xlsx

聚合网盘

services:
  openlist:
    image: openlistteam/openlist:latest
    container_name: openlist
    restart: always
    ports:
      - 5244:5244
    volumes:
      - ./data:/opt/openlist/data
      - ./share:/opt/openlist/share 
 
docker exec -it openlist ./openlist admin random

网盘挂载

rclone config
rclone listremotes
rclone lsd openlist:   #列出目录
rclone mount webdav_local: /mnt/webdav --daemon
rclone mount openlist: l: --daemon  #依赖winfsp

Grafana/ 看板

mqtt数据源

tcp://10.86.25.7:1883