Browse Source

chore: upstream project was renamed to vaultwarden (#29)

Co-authored-by: Robert Kaussow <mail@geeklabor.de>
Reviewed-on: https://gitea.rknet.org/docker/vaultwarden-ldap/pulls/29
Co-authored-by: Robert Kaussow <xoxys@rknet.org>
Co-committed-by: Robert Kaussow <xoxys@rknet.org>
main v0.4.0-1
Robert Kaussow 3 months ago
parent
commit
dbf265e0a8
  1. 2
      .chglog/config.yml
  2. 6
      .drone.yml
  3. 10
      Dockerfile
  4. 6
      Makefile
  5. 52
      README.md
  6. 32
      docker-compose.yml
  7. 38
      overlay/etc/templates/config.toml.tmpl
  8. 28
      overlay/usr/local/bin/entrypoint
  9. 2
      renovate.json

2
.chglog/config.yml

@ -2,7 +2,7 @@ style: github
template: CHANGELOG.tpl.md
info:
title: CHANGELOG
repository_url: https://gitea.rknet.org/docker/bitwardenrs_ldap
repository_url: https://gitea.rknet.org/docker/vaultwarden-ldap
options:
commit_groups:
title_maps:

6
.drone.yml

@ -28,7 +28,7 @@ platform:
steps:
- name: binary
image: clux/muslrust:nightly-2020-10-02
image: clux/muslrust:nightly-2021-04-14
commands:
- make build
environment:
@ -156,7 +156,7 @@ steps:
DOCKER_USER:
from_secret: docker_username
PUSHRM_FILE: README.md
PUSHRM_SHORT: Custom image for the BitwardenRS LDAP connector
PUSHRM_SHORT: Custom image for the Vaultwarden LDAP connector
PUSHRM_TARGET: thegeeklab/${DRONE_REPO_NAME}
when:
status:
@ -204,6 +204,6 @@ depends_on:
---
kind: signature
hmac: 39fce31c14c4f9ced76b2f99bcedc671c02050c983afdd9ef8bbd0f12a0b6122
hmac: b03e655c89137813302453a422df07b0d905cbd6cdfe9d0719cf45e167f7ea75
...

10
Dockerfile

@ -2,10 +2,10 @@ FROM thegeeklab/alpine:latest@sha256:3de659c1a479d9d80e9c3924227981450af3a068087
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.title="bitwardenrs_ldap"
LABEL org.opencontainers.image.url="https://gitea.rknet.org/docker/bitwardenrs_ldap"
LABEL org.opencontainers.image.source="https://gitea.rknet.org/docker/bitwardenrs_ldap"
LABEL org.opencontainers.image.documentation="https://gitea.rknet.org/docker/bitwardenrs_ldap"
LABEL org.opencontainers.image.title="vaultwarden-ldap"
LABEL org.opencontainers.image.url="https://gitea.rknet.org/docker/vaultwarden-ldap"
LABEL org.opencontainers.image.source="https://gitea.rknet.org/docker/vaultwarden-ldap"
LABEL org.opencontainers.image.documentation="https://gitea.rknet.org/docker/vaultwarden-ldap"
ADD overlay/ /
@ -15,7 +15,7 @@ RUN apk --update add ca-certificates && \
rm -rf /tmp/* && \
chown -R app:app /app
ADD src/target/x86_64-unknown-linux-musl/release/bitwarden_rs_ldap /app
ADD src/target/x86_64-unknown-linux-musl/release/vaultwarden_ldap /app
VOLUME /app/data

6
Makefile

@ -1,5 +1,5 @@
# renovate: datasource=github-releases depName=ViViDboarder/bitwarden_rs_ldap
export BUILD_VERSION ?= v0.3.0
# renovate: datasource=github-releases depName=ViViDboarder/vaultwarden_ldap
export BUILD_VERSION ?= v0.4.0
export DEBIAN_FRONTEND ?= noninteractive
export LANG ?= C.UTF-8
export TZ ?= UTC
@ -14,7 +14,7 @@ build: build-src build-bin
.PHONY: build-src
build-src:
mkdir -p $(SRC); \
curl -sSL "https://github.com/ViViDboarder/bitwarden_rs_ldap/archive/$${BUILD_VERSION}.tar.gz" | tar xz -C $(SRC) --strip-components=1
curl -sSL "https://github.com/ViViDboarder/vaultwarden_ldap/archive/$${BUILD_VERSION}.tar.gz" | tar xz -C $(SRC) --strip-components=1
.PHONY: build-bin
build-bin:

52
README.md

@ -1,42 +1,42 @@
# bitwardenrs_ldap
# vaultwarden-ldap
Custom image for the BitwardenRS LDAP connector
Custom image for the Vaultwarden LDAP connector
[![Build Status](https://img.shields.io/drone/build/docker/bitwardenrs_ldap?logo=drone&server=https%3A%2F%2Fdrone.rknet.org)](https://drone.rknet.org/docker/bitwardenrs_ldap)
[![Docker Hub](https://img.shields.io/badge/dockerhub-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/thegeeklab/bitwardenrs_ldap)
[![Quay.io](https://img.shields.io/badge/quay-latest-blue.svg?logo=docker&logoColor=white)](https://quay.io/repository/thegeeklab/bitwardenrs_ldap)
[![Source: Gitea](https://img.shields.io/badge/source-gitea-blue.svg?logo=gitea&logoColor=white)](https://gitea.rknet.org/docker/bitwardenrs_ldap)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://gitea.rknet.org/docker/bitwardenrs_ldap/src/branch/main/LICENSE)
[![Build Status](https://img.shields.io/drone/build/docker/vaultwarden-ldap?logo=drone&server=https%3A%2F%2Fdrone.rknet.org)](https://drone.rknet.org/docker/vaultwarden-ldap)
[![Docker Hub](https://img.shields.io/badge/dockerhub-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/thegeeklab/vaultwarden-ldap)
[![Quay.io](https://img.shields.io/badge/quay-latest-blue.svg?logo=docker&logoColor=white)](https://quay.io/repository/thegeeklab/vaultwarden-ldap)
[![Source: Gitea](https://img.shields.io/badge/source-gitea-blue.svg?logo=gitea&logoColor=white)](https://gitea.rknet.org/docker/vaultwarden-ldap)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://gitea.rknet.org/docker/vaultwarden-ldap/src/branch/main/LICENSE)
This is a rootless custom Docker image for [bitwarden_rs_ldap](https://github.com/ViViDboarder/bitwarden_rs_ldap) a simple LDAP connector for bitwarden_rs.
This is a rootless custom Docker image for [vaultwarden_ldap](https://github.com/ViViDboarder/vaultwarden_ldap) a simple LDAP connector for vaultwarden.
## Usage
### Docker Compose
Please take a look at the [example](https://gitea.rknet.org/docker/bitwardenrs_ldap/src/branch/main/docker-compose.yml) compose file from the git repo.
Please take a look at the [example](https://gitea.rknet.org/docker/vaultwarden-ldap/src/branch/main/docker-compose.yml) compose file from the git repo.
## Configuration
```Shell
BITWARDENRS_LDAP_BITWARDEN_URL=
BITWARDENRS_LDAP_BITWARDEN_ADMIN_TOKEN=
BITWARDENRS_LDAP_BITWARDEN_ROOT_CERT_FILE=
BITWARDENRS_LDAP_HOST=
BITWARDENRS_LDAP_SCHEME=
BITWARDENRS_LDAP_SSL=True
BITWARDENRS_LDAP_SSL_VERIFY=True
BITWARDENRS_LDAP_PORT=
BITWARDENRS_LDAP_BIND_DN=
BITWARDENRS_LDAP_BIND_PASSWORD=
BITWARDENRS_LDAP_SEARCH_BASE_DN=
BITWARDENRS_LDAP_SEARCH_FILTER="(&(objectClass=*)(uid=*))"
BITWARDENRS_LDAP_MAIL_FIELD=mail
BITWARDENRS_LDAP_SYNC_INTERVAL_SECONDS=60
BITWARDENRS_LDAP_SYNC_LOOP=True
VAULTWARDEN_LDAP_VAULTWARDEN_URL=
VAULTWARDEN_LDAP_VAULTWARDEN_ADMIN_TOKEN=
VAULTWARDEN_LDAP_VAULTWARDEN_ROOT_CERT_FILE=
VAULTWARDEN_LDAP_HOST=
VAULTWARDEN_LDAP_SCHEME=
VAULTWARDEN_LDAP_SSL=True
VAULTWARDEN_LDAP_SSL_VERIFY=True
VAULTWARDEN_LDAP_PORT=
VAULTWARDEN_LDAP_BIND_DN=
VAULTWARDEN_LDAP_BIND_PASSWORD=
VAULTWARDEN_LDAP_SEARCH_BASE_DN=
VAULTWARDEN_LDAP_SEARCH_FILTER="(&(objectClass=*)(uid=*))"
VAULTWARDEN_LDAP_MAIL_FIELD=mail
VAULTWARDEN_LDAP_SYNC_INTERVAL_SECONDS=60
VAULTWARDEN_LDAP_SYNC_LOOP=True
```
## License
This project is licensed under the MIT License - see the [LICENSE](https://gitea.rknet.org/docker/bitwardenrs_ldap/src/branch/main/LICENSE) file for details.
This project is licensed under the MIT License - see the [LICENSE](https://gitea.rknet.org/docker/vaultwarden-ldap/src/branch/main/LICENSE) file for details.

32
docker-compose.yml

@ -6,7 +6,7 @@ services:
container_name: postgres
image: postgres
environment:
POSTGRES_DB: bitwarden
POSTGRES_DB: vaultwarden
POSTGRES_PASSWORD: pass
POSTGRES_USER: user
@ -14,9 +14,9 @@ services:
container_name: ldap
image: osixia/openldap
bitwardenrs:
container_name: bitwardenrs_server
image: thegeeklab/bitwardenrs
vaultwarden:
container_name: vaultwarden_server
image: thegeeklab/vaultwarden
depends_on:
- postgres
ports:
@ -24,24 +24,24 @@ services:
volumes:
- data:/app/data
environment:
BITWARDENRS_DATABASE_URL: postgresql://user:pass@postgres:5432/bitwarden
BITWARDENRS_ADMIN_TOKEN: my_secure_token
VAULTWARDEN_DATABASE_URL: postgresql://user:pass@postgres:5432/vaultwarden
VAULTWARDEN_ADMIN_TOKEN: my_secure_token
bitwardenrs_ldap:
vaultwarden-ldap:
container_name: ldap_sync
restart: always
image: thegeeklab/bitwardenrs_ldap
image: thegeeklab/vaultwarden-ldap
depends_on:
- bitwardenrs
- vaultwarden
- ldap
environment:
BITWARDENRS_LDAP_BITWARDEN_URL: http://bitwardenrs_server:8080
BITWARDENRS_LDAP_BITWARDEN_ADMIN_TOKEN: my_secure_token
BITWARDENRS_LDAP_HOST: ldap
BITWARDENRS_LDAP_SSL: "False"
BITWARDENRS_LDAP_BIND_DN: "cn=admin,dc=example,dc=org"
BITWARDENRS_LDAP_SEARCH_BASE_DN: "dc=example,dc=org"
BITWARDENRS_LDAP_BIND_PASSWORD: admin
VAULTWARDEN_LDAP_VAULTWARDEN_URL: http://vaultwarden_server:8080
VAULTWARDEN_LDAP_VAULTWARDEN_ADMIN_TOKEN: my_secure_token
VAULTWARDEN_LDAP_HOST: ldap
VAULTWARDEN_LDAP_SSL: "False"
VAULTWARDEN_LDAP_BIND_DN: "cn=admin,dc=example,dc=org"
VAULTWARDEN_LDAP_SEARCH_BASE_DN: "dc=example,dc=org"
VAULTWARDEN_LDAP_BIND_PASSWORD: admin
volumes:
data:

38
overlay/etc/templates/config.toml.tmpl

@ -1,22 +1,22 @@
## Bitwarden_RS LDAP Configuration File
bitwarden_url = "{{ getenv "BITWARDENRS_LDAP_BITWARDEN_URL" }}"
bitwarden_admin_token = "{{ getenv "BITWARDENRS_LDAP_BITWARDEN_ADMIN_TOKEN" }}"
{{ if (getenv "BITWARDENRS_LDAP_BITWARDEN_ROOT_CERT_FILE") -}}
bitwarden_root_cert_file = "{{ getenv "BITWARDENRS_LDAP_BITWARDEN_ROOT_CERT_FILE" }}"
## Vaultwarden LDAP Configuration File
vaultwarden_url = "{{ getenv "VAULTWARDEN_LDAP_VAULTWARDEN_URL" }}"
vaultwarden_admin_token = "{{ getenv "VAULTWARDEN_LDAP_VAULTWARDEN_ADMIN_TOKEN" }}"
{{ if (getenv "VAULTWARDEN_LDAP_VAULTWARDEN_ROOT_CERT_FILE") -}}
vaultwarden_root_cert_file = "{{ getenv "VAULTWARDEN_LDAP_VAULTWARDEN_ROOT_CERT_FILE" }}"
{{ end -}}
ldap_host = "{{ getenv "BITWARDENRS_LDAP_HOST" }}"
{{ if (getenv "BITWARDENRS_LDAP_SCHEME") -}}
ldap_scheme = "{{ getenv "BITWARDENRS_LDAP_SCHEME" }}"
ldap_host = "{{ getenv "VAULTWARDEN_LDAP_HOST" }}"
{{ if (getenv "VAULTWARDEN_LDAP_SCHEME") -}}
ldap_scheme = "{{ getenv "VAULTWARDEN_LDAP_SCHEME" }}"
{{ end -}}
ldap_ssl = {{ getenv "BITWARDENRS_LDAP_SSL" "true" | conv.Bool }}
ldap_no_tls_verify = {{ not (getenv "BITWARDENRS_LDAP_SSL_VERIFY" "true" | conv.Bool) }}
{{ if (getenv "BITWARDENRS_LDAP_PORT") -}}
ldap_port = {{ getenv "BITWARDENRS_LDAP_PORT" }}
ldap_ssl = {{ getenv "VAULTWARDEN_LDAP_SSL" "true" | conv.Bool }}
ldap_no_tls_verify = {{ not (getenv "VAULTWARDEN_LDAP_SSL_VERIFY" "true" | conv.Bool) }}
{{ if (getenv "VAULTWARDEN_LDAP_PORT") -}}
ldap_port = {{ getenv "VAULTWARDEN_LDAP_PORT" }}
{{ end -}}
ldap_bind_dn = "{{ getenv "BITWARDENRS_LDAP_BIND_DN" }}"
ldap_bind_password = "{{ getenv "BITWARDENRS_LDAP_BIND_PASSWORD" }}"
ldap_search_base_dn = "{{ getenv "BITWARDENRS_LDAP_SEARCH_BASE_DN" }}"
ldap_search_filter = "{{ getenv "BITWARDENRS_LDAP_SEARCH_FILTER" "(&(objectClass=*)(uid=*))" }}"
ldap_mail_field = "{{ getenv "BITWARDENRS_LDAP_MAIL_FIELD" "mail" }}"
ldap_sync_interval_seconds = {{ getenv "BITWARDENRS_LDAP_SYNC_INTERVAL_SECONDS" "60" }}
ldap_sync_loop = {{ getenv "BITWARDENRS_LDAP_SYNC_LOOP" "true" | conv.Bool }}
ldap_bind_dn = "{{ getenv "VAULTWARDEN_LDAP_BIND_DN" }}"
ldap_bind_password = "{{ getenv "VAULTWARDEN_LDAP_BIND_PASSWORD" }}"
ldap_search_base_dn = "{{ getenv "VAULTWARDEN_LDAP_SEARCH_BASE_DN" }}"
ldap_search_filter = "{{ getenv "VAULTWARDEN_LDAP_SEARCH_FILTER" "(&(objectClass=*)(uid=*))" }}"
ldap_mail_field = "{{ getenv "VAULTWARDEN_LDAP_MAIL_FIELD" "mail" }}"
ldap_sync_interval_seconds = {{ getenv "VAULTWARDEN_LDAP_SYNC_INTERVAL_SECONDS" "60" }}
ldap_sync_loop = {{ getenv "VAULTWARDEN_LDAP_SYNC_LOOP" "true" | conv.Bool }}

28
overlay/usr/local/bin/entrypoint

@ -4,41 +4,41 @@ set -eo pipefail
/usr/local/bin/gomplate -o /app/config.toml -f /etc/templates/config.toml.tmpl
if [ -z "$BITWARDENRS_LDAP_BITWARDEN_URL" ] || [ -z "$BITWARDENRS_LDAP_HOST" ]
if [ -z "$VAULTWARDEN_LDAP_VAULTWARDEN_URL" ] || [ -z "$VAULTWARDEN_LDAP_HOST" ]
then
printf "Error: Bitwarden and/or LDAP server not configured. Exiting ...\n"
printf "Error: Vaultwarden and/or LDAP server not configured. Exiting ...\n"
exit 1
fi
if [ -n "$BITWARDENRS_LDAP_BITWARDEN_URL" ]
if [ -n "$VAULTWARDEN_LDAP_VAULTWARDEN_URL" ]
then
WAITFOR_BW_SCHEME=$(/usr/local/bin/url-parser scheme --url "$BITWARDENRS_LDAP_BITWARDEN_URL")
WAITFOR_BW_HOST=$(/usr/local/bin/url-parser host --url "$BITWARDENRS_LDAP_BITWARDEN_URL")
WAITFOR_BW_PORT=$(/usr/local/bin/url-parser port --url "$BITWARDENRS_LDAP_BITWARDEN_URL")
WAITFOR_BW_SCHEME=$(/usr/local/bin/url-parser scheme --url "$VAULTWARDEN_LDAP_VAULTWARDEN_URL")
WAITFOR_BW_HOST=$(/usr/local/bin/url-parser host --url "$VAULTWARDEN_LDAP_VAULTWARDEN_URL")
WAITFOR_BW_PORT=$(/usr/local/bin/url-parser port --url "$VAULTWARDEN_LDAP_VAULTWARDEN_URL")
if [ -z "$WAITFOR_BW_PORT" ]
then
[ "$WAITFOR_BW_SCHEME" = "https" ] && WAITFOR_BW_PORT=433 || WAITFOR_BW_PORT=80
fi
printf "Wait for bitwarden server on '%s:%s'...\n" "${WAITFOR_BW_HOST}" "${WAITFOR_BW_PORT}"
printf "Wait for vaultwarden server on '%s:%s'...\n" "${WAITFOR_BW_HOST}" "${WAITFOR_BW_PORT}"
/usr/local/bin/wait-for "${WAITFOR_BW_HOST}":"${WAITFOR_BW_PORT}"
fi
if [ -n "$BITWARDENRS_LDAP_HOST" ]
if [ -n "$VAULTWARDEN_LDAP_HOST" ]
then
WAITFOR_LDAP_SSL=$(/usr/local/bin/gomplate -i '{{ getenv "BITWARDENRS_LDAP_SSL" "true" | conv.Bool }}')
WAITFOR_LDAP_SSL=$(/usr/local/bin/gomplate -i '{{ getenv "VAULTWARDEN_LDAP_SSL" "true" | conv.Bool }}')
if [ -z "$BITWARDENRS_LDAP_PORT" ]
if [ -z "$VAULTWARDEN_LDAP_PORT" ]
then
[ "$WAITFOR_LDAP_SSL" = true ] && BITWARDENRS_LDAP_PORT=636 || BITWARDENRS_LDAP_PORT=389
[ "$WAITFOR_LDAP_SSL" = true ] && VAULTWARDEN_LDAP_PORT=636 || VAULTWARDEN_LDAP_PORT=389
fi
printf "Wait for ldap server on '%s:%s'...\n" "${BITWARDENRS_LDAP_HOST}" "${BITWARDENRS_LDAP_PORT}"
/usr/local/bin/wait-for "${BITWARDENRS_LDAP_HOST}":"${BITWARDENRS_LDAP_PORT}"
printf "Wait for ldap server on '%s:%s'...\n" "${VAULTWARDEN_LDAP_HOST}" "${VAULTWARDEN_LDAP_PORT}"
/usr/local/bin/wait-for "${VAULTWARDEN_LDAP_HOST}":"${VAULTWARDEN_LDAP_PORT}"
# TODO: add delay to minimize connection errors
sleep 10
fi
exec env CONFIG_PATH=/app/config.toml /app/bitwarden_rs_ldap
exec env CONFIG_PATH=/app/config.toml /app/vaultwarden_ldap

2
renovate.json

@ -3,7 +3,7 @@
"extends": ["github>thegeeklab/renovate-presets:docker"],
"packageRules": [
{
"groupName": "bitwarden ldap packages",
"groupName": "vaultwarden ldap packages",
"matchDatasources": ["github-releases"],
"matchPackagePatterns": ["^ViViDboarder"]
}

Loading…
Cancel
Save