{"id":19737723,"url":"https://github.com/elusivemind/probo-docker","last_synced_at":"2026-06-12T11:31:10.006Z","repository":{"id":91444837,"uuid":"114517883","full_name":"ElusiveMind/probo-docker","owner":"ElusiveMind","description":"The construction of an open source Probo.CI server within a docker container.","archived":false,"fork":false,"pushed_at":"2021-02-28T00:22:55.000Z","size":154,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-28T05:46:30.670Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ElusiveMind.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-17T07:30:14.000Z","updated_at":"2022-06-07T05:36:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"a5ee14da-8c45-4460-aa49-487c91d99c27","html_url":"https://github.com/ElusiveMind/probo-docker","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/ElusiveMind/probo-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElusiveMind%2Fprobo-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElusiveMind%2Fprobo-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElusiveMind%2Fprobo-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElusiveMind%2Fprobo-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ElusiveMind","download_url":"https://codeload.github.com/ElusiveMind/probo-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElusiveMind%2Fprobo-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34243051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T01:12:06.764Z","updated_at":"2026-06-12T11:31:09.979Z","avatar_url":"https://github.com/ElusiveMind.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Containerized Open Source Probo.CI Server\nThe construction of an open source ProboCI server within a Docker container.\n\nThe goal of this project is to have a fully functional Open Source Probo.CI container with a companion Drupal 8 based portal container for administering and looking at builds on the Open Source ProboCI Server.\n\n### Complete Documentation Wiki\nFor complete information on this project including expanded documentation, please visit the Wiki page for this project on GitHub located at:  \n\nhttps://github.com/ElusiveMind/probo-docker/wiki  \n\nYou can view additional documentation on the Probo Open Source initiative at:  \n\nhttps://docs.probo.ci/open-source/  \n\n### Configuration Environment Variable\n\n**ASSET_RECEIVER_TOKEN**  \n_Default: null_  \nThe token used for uploading assets to the receiver. Needs to be part of the request to push files to the asset receiver. If not specified, no token will be required which is a security issue.  \n\n**ASSET_RECEIVER_URL**  \n_Default: http://example.com:3070_  \nThe URL (with port) of your asset receiver process. This needs to be the URL with domain name and not an IP address as this will be looked up from within Docker containers. Probo uses this URL to fetch your assets from the asset receiver as part of the build process.  \n\n**AWS_ACCESS_KEY_ID**  \n_Default: null_  \nWhen AwsS3Storage is configured as the asset receiver storage method, this is the access key id for the account used to store files.  \n\n**AWS_ENDPOINT**  \n_Default: null_  \nIf you have a custom end point that is used for something like a MinIO server, you can specify it here.  \n\n**AWS_SECRET_ACCESS_KEY**  \n_Default: null_  \nWhen AwsS3Storage is configured as the asset receiver storage method, this is the secret access key for the account used to store files.  \n\n**AWS_BUCKET**  \n_Default: null_  \nWhen AwsS3Storage is configured as the asset receiver storage method, this is the name of the bucket where the files are stored.  \n\n**BB_ACCESS_TOKEN**  \n_Default: null_  \nThe Bitbucket access token for this application. This must be obtained through the process laid out in the Wiki documentation using the Bitbucket configuration generation feature of the Drupal 8 module.  \n\n**BB_CLIENT_KEY**  \n_Default: null_  \nThe Bitbucket client key configured in your Bitbucket application.  \n\n**BB_CLIENT_SECRET**  \n_Default: null_  \nThe Bitbucket client secret configured in your Bitbucket application.  \n\n**BB_REFRESH_TOKEN**  \n_Default: null_  \nThe Bitbucket refresh token for this application. This must be obtained through the process laid out in the Wiki documentation using the Bitbucket configuration generation feature of the Drupal 8 module.  \n\n**BB_WEBHOOK_URL**  \n_Default: /bitbucket-webhook_  \nThe endpoint of the Bitbucket webhook. This is used in the path configured in your webhook on Bitbucket.  \n\n**BYPASS_TIMEOUT**  \n_Default: 0_  \nA flag as to whether or not probo docker containers should timeout after a period of time. Setting this to 1 prevents container timeouts.  \n\n**CM_INSTANCE_NAME**  \n_Default: OSProboCI_  \nThe name of your ProboCI instance. This will be used as part of the context build string viewable on your code repository status screen. This should be different for each probo server you run and should be custom set for your instance.  \n\n**CREATE_LOOM_TASK_LOG**  \n_Default: 0_  \nDetermines whether individual logs for Probo loom tasks are created. Good for debugging, bad for production.  \n\n**ENCRYPTION_CIPHER**  \n_Default: aes-256-cbc_  \nDetermines the cipher used to encrypt the assets. See https://www.openssl.org/docs/manmaster/apps/ciphers.html for options.  \n\n**ENCRYPTION_PASSWORD**  \n_Default: password_  \nA salt for ENCRYPTION_CIPHER.  \n\n**FILE_STORAGE_PLUGIN**  \n_Default: LocalFiles_  \nThis is for the asset receiver. This defines the plugin that will be used for file storage, Currently there are two options, LocalFiles and AwsS3Storage. AwsS3Storage requires the keys and a bucket for storing files on Amazon S3. Be sure NOT to put your docker-compose.yml file or other configuration file in any kind of public source repository with this data in it. It's bad. Very, very bad. Trust me.  \n\n**GITHUB_API_TOKEN**  \n_Default: personal token here_  \nThe GitHub API token configured in your GitHub account.  \n\n**GITHUB_WEBHOOK_PATH**\n_Default: /github-webhook_  \nThe endpoint of the GitHub webhook. This is used in the path configured in your webhook on GitHub.  \n\n**GITHUB_WEBHOOK_SECRET**  \n_Default: null_  \nThis value should be modified to a secure string as well. This is a random token containing a string value that you select and will need to be used when you configure your webhook in GitHub.  \n\n**GITLAB_CLIENT_KEY**  \n_Default: null_  \nThe GitLab client key configured in your GitLab application.  \n\n**GITLAB_CLIENT_SECRET**  \n_Default: null_  \nThe GitLab client secret configured in your GitLab application.  \n\n**GITLAB_WEBHOOK_URL**  \n_Default: /gitlab-webhook_  \nThe endpoint of the GitLab webhook. This is used in the path configured in your webhook on GitLab.  \n\n**LOOM_SERVER_TOKEN**  \n_Default: null_  \nA token used for accessing the loom server. The loom server is currently used to provide event information to a web service. The web service calls the loom server using this token for all requests. If not configured, no token will be required to make requests. It is a best practice to configure a unique server token.\n\n**LOOM_EVENT_API_URL**  \n_Default: null_  \n\n**PROBO_BUILD_URL**  \n_Default: http://{{buildId}}.example.com:3050/_  \nURL template string for viewing each build. {{buildId}} expands to the id of the build. Must include the port number if not using a standard port number (port 80).  \n\n**PROXY_CACHE_ENABLED**  \n_Default: true_  \nEnable a caching mechanism for the proxy server. This will cache items locally for the proxy and result in better performance.  \n\n**PROXY_CACHE_MAX**  \n_Default: 500_  \nMax number of proxy lookup responses to cache.  \n\n**PROXY_CACHE_MAX_AGE**  \n_Default: 5m_  \nMax age of proxy lookup responses in cache, in any unit (units default to ms).  \n\n**PROXY_HOSTNAME_IP**  \n_Default: localhost_  \nThe host name where docker lives. Note that this should be the intranet IP address of where your root docker installation lives. Without this, proxying will fail.  \n\n**PROBO_LOGGING**  \n_Default: 0_  \nBoolean value (either 1 or 0). Setting a value of 1 will cause each enabled process to log output. These logs are typically used for debugging builds and are not recommended for production server configurations.  \n\n**PROXY_PORT**  \n_Default: 3050_  \nPort that the proxy server is running on.  \n\n**PROXY_SERVER_TIMEOUT**  \n_Default: 10m_  \nServer timeout, in any unit.  \n\n**REAPER_DRY_RUN**  \n_Default: true_  \n\n**REAPER_OUTPUT_FORMAT**  \n_Default: text_  \nThe output format used for --status command. Options are:\n- json: JSON output - one line per JSON object\n- text: (default) - human readable hearchical output\n\n**REAPER_BRANCH_BUILD_LIMIT**  \n_Default: 1_  \nLimit the number of builds per branch of code.  \n\n**RECIPHERED_OUTPUT_DIR**  \n_Default: null_  \n\n**REDIRECT_URL**  \n_Default: null_  \nThe URL to send people too when a build cannot be found or is in the process of being built. Also used for reaped builds. Sends query string at the end.  \n\n**SERVICE_ENDPOINT_URL**  \n_Default: http://www.example.com/probo-api/service-endpoint.json_  \nAn optional configuration for a URL to receive notification of service events. A JSON object will be sent to this URL with each build object containing information about the current build in process including tasks. This is designed specifically for use with the Drupal 8 module for the Probo Open Source Server available at: https://github.com/ElusiveMind/probo-drupal  \n\n**UPLOADS_PAUSED**  \n_Default: null_  \n\n**USE_BITBUCKET**  \n_Default: 0_  \nA boolean value to communicate whether or not the Bitbucket handler should be configured and started as part of the server.  \n\n**USE_GITLAB**  \n_Default: 0_  \nA boolean value to communicate whether or not the GitLab handler should be configured and started as part of the server.  \n\n**USE_GITHUB**  \n_Default: 0_  \nA boolean value to communicate whether or not the GitHub handler should be configured and started as part of the server.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felusivemind%2Fprobo-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felusivemind%2Fprobo-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felusivemind%2Fprobo-docker/lists"}