diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index bbeda0b..e38e38b 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -9,7 +9,7 @@ on: - main # Allows you to run this workflow manually from the Actions tab -# 可以手动触发 + # 可以手动触发 workflow_dispatch: inputs: logLevel: @@ -51,11 +51,11 @@ jobs: with: context: . file: ./Dockerfile -# 所需要的体系结构,可以在 Available platforms 步骤中获取所有的可用架构 + # 所需要的体系结构,可以在 Available platforms 步骤中获取所有的可用架构 platforms: linux/amd64,linux/arm64/v8 -# 镜像推送时间 + # 镜像推送时间 push: ${{ github.event_name != 'pull_request' }} -# 给清单打上多个标签 + # 给清单打上多个标签 tags: | eryajf/go-ldap-admin-server:${{ steps.date.outputs.today }} eryajf/go-ldap-admin-server:latest \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index f660636..9a64b1e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,4 +15,5 @@ WORKDIR /app COPY --from=builder /app/wait . COPY --from=builder /app/ . RUN chmod +x wait go-ldap-admin && yum -y install vim net-tools telnet wget curl && yum clean all + CMD ./wait && ./go-ldap-admin \ No newline at end of file diff --git a/README.md b/README.md index 16d398d..c964a3d 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ 你可以通过docker-compose在本地快速拉起进行体验。 -快速拉起的容器包括:MySQL-5.7,openLDAP-1.4.0,phpldapadmin-0.9.0,go-ldap-admin。 +快速拉起的容器包括:MySQL-5.7,openLDAP-1.4.0,phpldapadmin-0.9.0,go-ldap-admin-server,go-ldap-admin-ui。 服务端口映射如下: @@ -77,7 +77,8 @@ $ cd docs/docker-compose $ docker-compose up -d ``` -当看到容器都正常运行之后,可以在本地访问:http://localhost:8090,用户名/密码:admin/123456 +当看到容器都正常运行之后,可以在本地进行访问:http://localhost:8090,用户名/密码:admin/123456 +如果想要访问PhpLdapAdmin,则可访问:http://localhost:8091,用户名/密码:cn=admin,dc=eryajf,dc=net/123456 `登录页:` @@ -139,7 +140,7 @@ $ cd go-ldap-admin # 文件路径 config.yml $ vim config.yml -# 根据自己本地的情况,调整数据库以及openLDAP的配置信息。 +# 根据自己本地的情况,调整数据库以及openLDAP等配置信息。 ``` ### 启动服务 @@ -153,7 +154,8 @@ $ make run # 启动前端 $ cd go-ldap-admin-ui -$ yarn +$ git config --global url."https://".insteadOf git:// +$ npm install --registry=http://registry.npmmirror.com $ yarn dev ``` @@ -166,7 +168,7 @@ $ yarn dev ```nginx server { listen 80; - server_name go-ldap-admin.eryajf.net; + server_name demo-go-ldap-admin.eryajf.net; root /data/www/web/dist; @@ -232,11 +234,7 @@ server { ## 加群 -如果你对go-ldap-admin项目感兴趣,希望与大家一起交流,欢迎添加微信群: - -![](http://t.eryajf.net/imgs/2022/05/4da1e4fe7f712323.jpeg) - -如果二维码过期,可通过搜索 eryajf 添加我的微信,备注 ldap 拉你进群。 +可通过搜索 eryajf 添加我的微信,备注 ldap 拉你进群。 ## 为什么有这个项目 diff --git a/docs/docker-compose/docker-compose.yaml b/docs/docker-compose/docker-compose.yaml index 15c74c8..3864c06 100644 --- a/docs/docker-compose/docker-compose.yaml +++ b/docs/docker-compose/docker-compose.yaml @@ -82,5 +82,21 @@ services: links: - mysql:go-ldap-admin-mysql # ldap容器的 service_name:container_name - openldap:go-ldap-admin-openldap # ldap容器的 service_name:container_name + networks: + - go-ldap-admin + + go-ldap-admin-ui: + image: docker.mirrors.sjtug.sjtu.edu.cn/eryajf/go-ldap-admin-ui + container_name: go-ldap-admin-ui + hostname: go-ldap-admin-ui + restart: always + environment: + TZ: Asia/Shanghai + ports: + - 8090:80 + depends_on: + - go-ldap-admin-server + links: + - go-ldap-admin-server:go-ldap-admin-server networks: - go-ldap-admin \ No newline at end of file diff --git a/docs/docker/Dockerfile b/docs/docker/Dockerfile deleted file mode 100644 index f40afc0..0000000 --- a/docs/docker/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM eryajf/openresty:1.21.4-centos7 - -ADD . / -ADD default.conf /etc/nginx/conf.d/default.conf -RUN chmod +x /go-ldap-admin run.sh - -EXPOSE 80 -EXPOSE 8888 - -CMD /wait && /run.sh \ No newline at end of file diff --git a/docs/docker/README.md b/docs/docker/README.md deleted file mode 100644 index b9d3085..0000000 --- a/docs/docker/README.md +++ /dev/null @@ -1,12 +0,0 @@ -参考:https://wiki.eryajf.net/pages/95cf71/#%E5%90%AF%E7%94%A8-buildx-%E6%8F%92%E4%BB%B6 - -```sh -$ export DOCKER_CLI_EXPERIMENTAL=enabled - -$ docker buildx create --use --name mybuilder - -$ docker buildx inspect mybuilder --bootstrap - -$ docker buildx build --no-cache -t eryajf/go-ldap-admin:v0.1 --platform=linux/arm64,linux/amd64 . --push -$ docker buildx build --no-cache -t eryajf/go-ldap-admin --platform=linux/arm64,linux/amd64 . --push -``` \ No newline at end of file diff --git a/docs/docker/config.yml b/docs/docker/config.yml deleted file mode 100644 index f16bd5f..0000000 --- a/docs/docker/config.yml +++ /dev/null @@ -1,94 +0,0 @@ -# delelopment -system: - # 设定模式(debug/release/test,正式版改为release) - mode: debug - # url前缀 - url-path-prefix: api - # 程序监听端口 - port: 8888 - # 是否初始化数据(没有初始数据时使用, 已发布正式版改为false) - init-data: true - # rsa公钥文件路径(config.yml相对路径, 也可以填绝对路径) - rsa-public-key: go-ldap-admin-pub.pem - # rsa私钥文件路径(config.yml相对路径, 也可以填绝对路径) - rsa-private-key: go-ldap-admin-priv.pem - -logs: - # 日志等级(-1:Debug, 0:Info, 1:Warn, 2:Error, 3:DPanic, 4:Panic, 5:Fatal, -1<=level<=5, 参照zap.level源码) - level: -1 - # 日志路径 - path: logs - # 文件最大大小, M - max-size: 50 - # 备份数 - max-backups: 100 - # 存放时间, 天 - max-age: 30 - # 是否压缩 - compress: false - -mysql: - # 用户名 - username: root - # 密码 - password: 123456 - # 数据库名 - database: go_ldap_admin - # 主机地址 - host: mysql - # 端口 - port: 3306 - # 连接字符串参数 - query: parseTime=True&loc=Local&timeout=10000ms - # 是否打印日志 - log-mode: true - # 数据库表前缀(无需再末尾添加下划线, 程序内部自动处理) - table-prefix: tb - # 编码方式 - charset: utf8mb4 - # 字符集(utf8mb4_general_ci速度比utf8mb4_unicode_ci快些) - collation: utf8mb4_general_ci - -# casbin配置 -casbin: - # 模型配置文件, config.yml相对路径 - model-path: 'rbac_model.conf' - -# jwt配置 -jwt: - # jwt标识 - realm: test jwt - # 服务端密钥 - key: secret key - # token过期时间, 小时 - timeout: 12000 - # 刷新token最大过期时间, 小时 - max-refresh: 12000 - -# 令牌桶限流配置 -rate-limit: - # 填充一个令牌需要的时间间隔,毫秒 - fill-interval: 50 - # 桶容量 - capacity: 200 - -# email configuration -email: - port: '465' - user: 'Linuxlql@163.com' - from: 'go-ldap-admin后台' - host: 'smtp.163.com' - # is-ssl: true - pass: 'password' - -# # ldap 配置 -ldap: - # ldap服务器地址 - ldap-url: ldap://openldap:389 - ldap-base-dn: "dc=eryajf,dc=net" - ldap-admin-dn: "cn=admin,dc=eryajf,dc=net" - ldap-admin-pass: "123456" - ldap-user-dn: "ou=people,dc=eryajf,dc=net" - ldap-group-dn: "ou=group,dc=eryajf,dc=net" - ldap-group-name-modify: false - ldap-user-name-modify: false \ No newline at end of file diff --git a/docs/docker/default.conf b/docs/docker/default.conf deleted file mode 100644 index 5071657..0000000 --- a/docs/docker/default.conf +++ /dev/null @@ -1,11 +0,0 @@ -server { - listen 80; - server_name localhost; - - root /dist; - - location / { - try_files $uri $uri/ /index.html; - add_header Cache-Control 'no-store'; - } -} \ No newline at end of file diff --git a/docs/docker/go-ldap-admin-priv.pem b/docs/docker/go-ldap-admin-priv.pem deleted file mode 100644 index 6aa0a8b..0000000 --- a/docs/docker/go-ldap-admin-priv.pem +++ /dev/null @@ -1,15 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIICXQIBAAKBgQDbOYcY8HbDaNM9ooYXoc9s+R5oR05ZL1BsVKadQBgOVH/kj7PQ -uD+ABEFVgB6rJNi287fRuZeZR+MCoG72H+AYsAhRsEaB5SuI7gDEstXuTyjhx5bz -0wUujbDK4VMgRfPO6MQo+A0c95OadDEvEQDG3KBQwLXapv+ZfsjG7NgdawIDAQAB -AoGAQqPgL3KZh5lL7YaEIJbtiQDJf4V9iZraZbPt2gtrxJ9nKUGNtbrsgqvIeIcz -y26t+h9oF3bFYLD7jwbZ9DOIWSin7NJ1RumRT/GN+i3qJfuLdTDywRG0wIiSIJR+ -0jz/nG6QOW199waXMbgjTd/+FlEMfz0traqHQgIZFDkU/7ECQQD4j+/qM/922Ado -l6zvg8Z2uqEpEF0SH0l0+x8qsL2S9NjLZWgTZLiTLv3vxnA/kGCfBo/pNtskkuEx -3iTaSG8fAkEA4cjbJqcKCkxKW3gAm8OZCH9O04UzaowsHW4UsNwFkFqdoGg8q017 -2W3Vc6xH4vD/1hhme+OANqyaktU4fm9kNQJBAI7g7mAKE8cU1u1ggqALd4G4NfuM -1HMeWPNNhtTbU52t8RC58eFz/EVetcmmn89qBqBi/UZpqf6UD67CqxxulrECQFXi -UkJcrbwHEw3CEvEtMOwDiRd6hnlUAn/bXLF9r/weC/F1VQaQPbkSR2xtrxaLN7XX -qDwd6Kpjc5TA2HF3q7UCQQDfTOSOmq6JJzWUFY7s5ZoVPmvPgFxqwcysgnqbP2vp -iHbNRMYI+dvj6ppC4BujGm5Wczw7vDs0/M4jREE9eY3r ------END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/docs/docker/go-ldap-admin-pub.pem b/docs/docker/go-ldap-admin-pub.pem deleted file mode 100644 index 9f51ecc..0000000 --- a/docs/docker/go-ldap-admin-pub.pem +++ /dev/null @@ -1,6 +0,0 @@ ------BEGIN PUBLIC KEY----- -MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDbOYcY8HbDaNM9ooYXoc9s+R5o -R05ZL1BsVKadQBgOVH/kj7PQuD+ABEFVgB6rJNi287fRuZeZR+MCoG72H+AYsAhR -sEaB5SuI7gDEstXuTyjhx5bz0wUujbDK4VMgRfPO6MQo+A0c95OadDEvEQDG3KBQ -wLXapv+ZfsjG7NgdawIDAQAB ------END PUBLIC KEY----- \ No newline at end of file diff --git a/docs/docker/rbac_model.conf b/docs/docker/rbac_model.conf deleted file mode 100644 index 1686f0b..0000000 --- a/docs/docker/rbac_model.conf +++ /dev/null @@ -1,14 +0,0 @@ -[request_definition] -r = sub, obj, act - -[policy_definition] -p = sub, obj, act - -[role_definition] -g = _, _ - -[policy_effect] -e = some(where (p.eft == allow)) - -[matchers] -m = r.sub == p.sub && (keyMatch2(r.obj, p.obj) || keyMatch(r.obj, p.obj)) && (r.act == p.act || p.act == "*") \ No newline at end of file diff --git a/docs/docker/run.sh b/docs/docker/run.sh deleted file mode 100644 index 02025d9..0000000 --- a/docs/docker/run.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -nginx -/go-ldap-admin \ No newline at end of file