https://github.com/alan-turing-institute/guacamole-user-sync
Dockerised Guacamole-LDAP synchronisation
https://github.com/alan-turing-institute/guacamole-user-sync
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.1%) to scientific vocabulary
Keywords
Repository
Dockerised Guacamole-LDAP synchronisation
Basic Info
Statistics
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
- Releases: 7
Topics
Metadata Files
README.md
guacamole-user-sync
Synchronise a Guacamole PostgreSQL database with an LDAP server, such as Microsoft Active Directory
Running with Docker
You can run this Docker image as follows
console
$ docker run -it \
-e LDAP_HOST=$(your LDAP server host) \
-e LDAP_GROUP_BASE_DN=$(your LDAP group DN) \
-e LDAP_GROUP_FILTER=$(your LDAP group filter) \
-e LDAP_USER_BASE_DN=$(your LDAP user DN) \
-e LDAP_USER_FILTER=$(your LDAP user filter) \
-e POSTGRESQL_HOST=$(your PostgreSQL server host) \
-e POSTGRESQL_PASSWORD=$(your PostgreSQL connection password) \
-e POSTGRESQL_USERNAME=$(your PostgreSQL connection username) \
ghcr.io/alan-turing-institute/guacamole-user-sync:$(version you want to use)
LDAP filter syntax is described here: https://ldap.com/ldap-filters/.
If you want a simple filter for testing, try (objectClass=*) which will match any LDAP object.
Similarly, LDAP distinguished names (DNs) are described here: https://ldap.com/ldap-dns-and-rdns/.
The user or group base DN will typically be the organisational unit (OU) that all objects of that type belong to.
For example, a simple user base DN might look something like OU=users,DC=example,DC=com.
Environment variables
DEBUG: Enable debug output (default: 'False')LDAP_BIND_DN: (Optional) distinguished name of LDAP bind userLDAP_BIND_PASSWORD: (Optional) password of LDAP bind userLDAP_GROUP_BASE_DN: Base DN for groupsLDAP_GROUP_FILTER: LDAP filter to select groupsLDAP_GROUP_NAME_ATTR: Attribute used to extract group names (default: 'cn')LDAP_HOST: LDAP hostLDAP_PORT: LDAP port (default: '389')LDAP_USER_BASE_DN: Base DN for usersLDAP_USER_FILTER: LDAP filter to select usersLDAP_USER_NAME_ATTR: Attribute used to extract user names (default: 'userPrincipalName')POSTGRESQL_DB_NAME: Database name for PostgreSQL server (default: 'guacamole')POSTGRESQL_HOST: PostgreSQL server hostPOSTGRESQL_PASSWORD: Password of PostgreSQL userPOSTGRESQL_PORT: PostgreSQL server port (default: '5432')POSTGRESQL_USERNAME: Username of PostgreSQL userREPEAT_INTERVAL: How often (in seconds) to wait before attempting to synchronise again (default: '300')
Contributing
Pull requests are always welcome.
Running with Docker
Build the Docker image with
console
$ docker build . -t guacamole-user-sync
Run the Docker image you have just built with
console
$ docker run -it \
-e LDAP_HOST=$(your LDAP server host) \
-e LDAP_GROUP_BASE_DN=$(your LDAP group DN) \
-e LDAP_GROUP_FILTER=$(your LDAP group filter) \
-e LDAP_USER_BASE_DN=$(your LDAP user DN) \
-e LDAP_USER_FILTER=$(your LDAP user filter) \
-e POSTGRESQL_HOST=$(your PostgreSQL server host) \
-e POSTGRESQL_PASSWORD=$(your PostgreSQL connection password) \
-e POSTGRESQL_USERNAME=$(your PostgreSQL connection username) \
guacamole-user-sync
Tests
In order to run the tests, you should install the following prerequisites:
The tests can then be run with
console
$ hatch run test:all
Owner
- Name: The Alan Turing Institute
- Login: alan-turing-institute
- Kind: organization
- Email: info@turing.ac.uk
- Website: https://turing.ac.uk
- Repositories: 477
- Profile: https://github.com/alan-turing-institute
The UK's national institute for data science and artificial intelligence.
GitHub Events
Total
- Create event: 5
- Release event: 1
- Issues event: 6
- Delete event: 5
- Issue comment event: 6
- Push event: 10
- Pull request event: 7
Last Year
- Create event: 5
- Release event: 1
- Issues event: 6
- Delete event: 5
- Issue comment event: 6
- Push event: 10
- Pull request event: 7
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 10
- Total pull requests: 21
- Average time to close issues: 8 days
- Average time to close pull requests: about 3 hours
- Total issue authors: 3
- Total pull request authors: 1
- Average comments per issue: 1.3
- Average comments per pull request: 0.57
- Merged pull requests: 20
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 14
- Average time to close issues: 10 days
- Average time to close pull requests: about 4 hours
- Issue authors: 3
- Pull request authors: 1
- Average comments per issue: 3.25
- Average comments per pull request: 0.86
- Merged pull requests: 13
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jemrobinson (8)
- DimitryVo (1)
- helendduncan (1)
Pull Request Authors
- jemrobinson (35)