赖娅闺 发表于 2025-11-11 04:15:04

Archery + LDAP 一体化部署

Archery 是一个开源的 SQL 审核与运维管理平台,它主要面向 DBA 和开发人员,用于安全、可控地管理数据库变更、查询和慢 SQL 分析。
主要功能:
支持多种数据库:MySQL、PostgreSQL、SQLServer、ClickHouse 等
提供 SQL 审核、执行工单、慢 SQL 分析、查询权限控制
支持接入 LDAP、钉钉、企业微信、飞书 等认证方式
通过 Web 界面统一管理,提高数据库操作安全性与合规性
一、安装 Docker 与 Docker Compose
> 适用于 CentOS 7+
# 安装依赖
yum install -y yum-utils
# 添加 Docker 官方阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装 Docker 与 Compose 插件
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 启动并设置开机自启
systemctl enable docker --now
# 检查版本
docker -v
docker-compose version || docker compose version
# 若 docker-compose 插件不可用,可使用传统二进制安装:
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose 二、部署 Archery
1. 下载 Archery 源码包
wget https://github.com/hhyo/Archery/archive/refs/tags/v1.13.0.tar.gz
tar xf v1.13.0.tar.gz
cd Archery-1.13.0/src/docker-compose2. 启动容器服务
docker-compose -f docker-compose.yml up -d# 默认会启动 `archery`、`mysql`、`redis`、`nginx` 等容器。
# 若端口冲突,请在 `.env` 中修改 `NGINX_PORT=9123`。
 三、初始化数据库结构
1. 进入容器:
docker exec -it archery /bin/bash2. 进入虚拟环境:
source /opt/venv4archery/bin/activate
cd /opt/archery3. 执行表结构初始化:
python3 manage.py makemigrations sql
python3 manage.py migrate4. 加载基础数据:
python3 manage.py dbshell < sql/fixtures/auth_group.sql
python3 manage.py dbshell < src/init_sql/mysql_slow_query_review.sql5. 创建管理员用户:
python3 manage.py createsuperuser6 退出容器:
exit四、日志与访问
1. 查看运行日志:
docker logs archery -f --tail=1002. 访问系统:
http://<服务器IP>:9123五、部署LDAP(企业统一认证)
推荐 go-ldap-admin,它是一款基于 Go 语言开发的 轻量级 Web LDAP 管理平台。
它可视化地管理 LDAP 用户、组织、组、权限等信息,支持常见的 OpenLDAP 或 AD 环境。
主要特点:
简洁易用的 Web 管理界面
用户、组织、组、权限图形化管理
支持账号创建、修改、禁用、密码重置等操作
应用场景:
搭建统一身份认证系统(SSO)
为 Archery、Jenkins、GitLab、SonarQube 等系统提供 LDAP 认证支持
1. 安装:
# docker-compose.yml 文件services:go-ldap-admin:    image: docker.cnb.cool/opsre/go-ldap-admin    container_name: go-ldap-admin    hostname: go-ldap-admin    restart: always    environment:      WAIT_HOSTS: openldap:389    configs:      - source: go_ldap_admin_config      target: /app/config.yml    ports:      - 8888:8888    volumes:      - ./data/go-ldap-admin:/app/data    depends_on:      - openldap    links:      - openldap:go-ldap-admin-openldap    networks:      - go-ldap-adminopenldap:    image: docker.cnb.cool/znb/images/openldap:1.4.1    container_name: go-ldap-admin-openldap    hostname: go-ldap-admin-openldap    restart: always    environment:      TZ: Asia/Shanghai      LDAP_ORGANISATION: "sh.com"      LDAP_DOMAIN: "sh.com"      LDAP_ADMIN_PASSWORD: "xxxxxx"    command: [ '--copy-service' ]    volumes:      - ./data/openldap/database:/var/lib/ldap      - ./data/openldap/config:/etc/ldap/slapd.d    ports:      - 389:389    networks:      - go-ldap-adminphpldapadmin:    image: docker.cnb.cool/znb/images/phpldapadmin:0.9.0    container_name: go-ldap-admin-phpldapadmin    hostname: go-ldap-admin-phpldapadmin    restart: always    environment:      TZ: Asia/Shanghai      PHPLDAPADMIN_HTTPS: "false"      PHPLDAPADMIN_LDAP_HOSTS: go-ldap-admin-openldap    ports:      - 8091:80    volumes:      - ./data/phpadmin:/var/www/phpldapadmin    depends_on:      - openldap    links:      - openldap:go-ldap-admin-openldap    networks:      - go-ldap-adminconfigs:go_ldap_admin_config:    content: |      # delelopment      system:      # 设定模式(debug/release/test,正式版改为release)      mode: release      # url前缀      url-path-prefix: api      # 程序监听端口      port: 8888      # 是否初始化数据(没有初始数据时使用, 已发布正式版改为false)      init-data: true      logs:      # 日志等级(-1:Debug, 0:Info, 1:Warn, 2:Error, 3:DPanic, 4:Panic, 5:Fatal, -1

蝙俚 发表于 2025-12-1 12:05:11

感谢分享,学习下。

恙髡 发表于 2025-12-16 13:50:32

这个好,看起来很实用

箝德孜 发表于 2026-1-12 16:46:05

谢谢分享,试用一下

茅断卉 发表于 2026-1-14 08:34:29

感谢,下载保存了

搁胱 发表于 2026-1-18 09:48:45

用心讨论,共获提升!

姨番单 发表于 2026-1-20 17:01:06

用心讨论,共获提升!

厂潺 发表于 2026-1-21 06:51:17

感谢分享

洪势 发表于 2026-1-27 04:18:18

热心回复!

趣侮 发表于 2026-1-27 22:04:51

收藏一下   不知道什么时候能用到

凌彦慧 发表于 2026-1-28 07:31:13

热心回复!

周濡霈 发表于 2026-2-3 04:35:05

这个有用。

乱蚣 发表于 2026-2-3 08:17:56

yyds。多谢分享

裆趾针 发表于 2026-2-3 08:26:25

感谢分享,学习下。

喳谍 发表于 2026-2-4 07:21:31

热心回复!

旁拮猾 发表于 2026-2-5 06:04:58

感谢分享,下载保存了,貌似很强大

煅圆吧 发表于 2026-2-5 11:47:08

鼓励转贴优秀软件安全工具和文档!

步雪卉 发表于 2026-2-5 14:41:37

不错,里面软件多更新就更好了

管水芸 发表于 2026-2-5 20:25:56

yyds。多谢分享

吁寂 发表于 2026-2-7 21:08:11

感谢分享,下载保存了,貌似很强大
页: [1] 2
查看完整版本: Archery + LDAP 一体化部署