semaphore icon indicating copy to clipboard operation
semaphore copied to clipboard

missing LDAP bins in docker semaphoreui/semaphore:v2.8.90

Open danieleperera opened this issue 1 year ago • 0 comments

Hi everyone,

I'm running semaphore using docker, the versione is v2.8.90. In this version, I've setup the docker-compose.yml in the following manner:

services:
  semaphore:
    container_name: ansiblesemaphore
    image: semaphoreui/semaphore:v2.8.90
    user: "${UID}:${GID}"
    ports:
      - 3000:3000
    environment:
      - SEMAPHORE_DB_USER=REDACTED
      - SEMAPHORE_DB_PASS=REDACTED
      - SEMAPHORE_DB_HOST=REDACTED
      - SEMAPHORE_DB_PORT=3306
      - SEMAPHORE_DB_DIALECT=mysql
      - SEMAPHORE_DB=REDACTED
      - SEMAPHORE_PLAYBOOK_PATH=/tmp/semaphore/
      - SEMAPHORE_ADMIN_PASSWORD=REDACTED
      - SEMAPHORE_ADMIN_NAME=REDACTED
      - SEMAPHORE_ADMIN_EMAIL=REDACTED
      - SEMAPHORE_ADMIN=REDACTED
      - SEMAPHORE_ACCESS_KEY_ENCRYPTION=REDACTED
      - ANSIBLE_HOST_KEY_CHECKING=true
    volumes:
      - ./inventory/:/inventory:ro
      - ./authorized-keys/:/authorized-keys:ro
      - ./config/:/etc/semaphore:rw
    restart: unless-stopped

The json config file is configured in the following manner:

{
        "mysql": {
                "host": "REDACTED",
                "user": "REDACTED",
                "pass": "REDACTED",
                "name": "REDACTED",
                "options": null
        },
        "bolt": {
                "host": "",
                "user": "",
                "pass": "",
                "name": "",
                "options": null
        },
        "postgres": {
                "host": "",
                "user": "",
                "pass": "",
                "name": "",
                "options": null
        },
        "dialect": "mysql",
        "port": "",
        "interface": "",
        "tmp_path": "/tmp/semaphore",
        "cookie_hash": "REDACTED",
        "cookie_encryption": "REDACTED",
        "access_key_encryption": "REDACTED",
        "email_sender": "",
        "email_host": "",
        "email_port": "",
        "email_username": "",
        "email_password": "",
        "web_host": "",
        "ldap_binddn": "uid=REDACTED,cn=users,cn=accounts,REDACTED",
        "ldap_bindpassword": "REDACTED",
        "ldap_server": "ldaps://REDACTED:636",
        "ldap_searchdn": "cn=users,cn=accounts,REDACTED",
        "ldap_searchfilter": "(&(objectClass=posixAccount)(uid=%s))",
        "ldap_mappings": {
                "dn": "",
                "mail": "uid",
                "uid": "uid",
                "cn": "cn"
        },
        "ldap_enable": true,
        "ldap_needtls": true,
        "telegram_chat": "",
        "telegram_token": "",
        "slack_url": "",
        "max_parallel_tasks": 0,
        "email_alert": false,
        "email_secure": false,
        "telegram_alert": false,
        "slack_alert": false,
        "ldap_enable": false,
        "ldap_needtls": false,
        "ssh_config_path": "",
        "demo_mode": false,
        "git_client": ""
 }

When I run the docker container, I do not get any errors. When I try to test the connection by running ldapwhoami, as described in the documentation - https://docs.ansible-semaphore.com/administration-guide/troubleshooting#how-to-fix-this-3. I get sh: ldapwhoami: not found.

I've also checked in the /bin directory, but there is no ldapwhoami executable: image

danieleperera avatar Jun 07 '23 14:06 danieleperera