name: dood-sshd
services:
  dood:
    image: apiv1/sshd:docker
    init: true
    entrypoint: sh
    command: |
      -c '
        groupadd --gid $${PGID} $${SSHD_USERNAME}
        useradd --shell /bin/sh --uid $${PUID} --gid $${PGID} --password $$(openssl passwd $${SSHD_PASSWORD}) --create-home --home-dir /home/$${SSHD_USERNAME} $${SSHD_USERNAME}
        usermod -aG docker $${SSHD_USERNAME}

        chown -R $${SSHD_USERNAME}:$${SSHD_USERNAME} /home/$${SSHD_USERNAME}
        chown -R $${SSHD_USERNAME}:$${SSHD_USERNAME} /var/run/docker.sock

        chmod 744 /home/$${SSHD_USERNAME}/.ssh
        AUTH_KEY_FILE="/home/$${SSHD_USERNAME}/.ssh/authorized_keys"
        test -f "$$AUTH_KEY_FILE" && chmod 400 "$$AUTH_KEY_FILE"

        exec /entrypoint.sh
      '
    environment:
      - PUID=${PUID:-2000}
      - PGID=${PGID:-2000}
      - SSHD_USERNAME=${SSHD_USERNAME:-docker}
      - SSHD_PASSWORD=${SSHD_PASSWORD:-passwd654321!}
    volumes:
      - ${DOCKER_SOCK:-/var/run/docker.sock}:/var/run/docker.sock:rw
      - ssh:/etc/ssh
    restart: always
volumes:
  ssh: