This project (bgwi) is designed to be basic. For example there is only one user account that has access to everything. It also doesn't have features like pull requests, issues, etc.
It has been designed to run through docker and it is recommended to run through a proxy like Nginx.
All configs are handled through environment variables.
Name | Description | Default |
---|---|---|
REPOS_PATH | Where the repos are stored | /data/repos |
REPOS_SSH_BASE | SSH username and domain | |
REPOS_HTTP_BASE | The url for accessing for using git http | |
LOGIN_PASSWORD | Password to login with | |
SECRET_KEY | Server secret key | |
DISALLOWED_DIRS | Any directory names to hide | - |
DEFAULT_BRANCH | The default branch name | main |
MAX_COMMIT_LOG_COUNT | Max number of commits to show | 20 |
SSH_PUB_KEY_PATH | Path to public ssh key | - |
SSH_AUTH_KEYS_PATH | Path to authorised ssh keys | - |
HTTP_GIT_ENABLED | Whether to allow git http requests | 1 |
WORKERS | Number of Hypercorn workers | 1 |
Default values indicated with '-' are not required
REPOS_SSH_BASE should look like this:
[email protected]
REPOS_HTTP_BASE should look like this:
https://git.mydomain.lan
DISALLOWED_DIRS must be a JSON array be e.g. DISALLOWED_DIRS=[".ssh", "my-secrets"]
To access it you need a git client that supports the smart protocol, dumb is not supported. To login, use 'git' as username and the 'LOGIN_PASSWORD' value as the password. If you do not want the inbuilt Git HTTP access you can turn it off in the config.
This project is Copyright (c) 2023 Leo Spratt, licences shown below:
GPL-3. Full license found in
LICENSE.txt
This project also uses some third party content, licences for those are found at: THIRD-PARTY.txt
.