Installation with Docker-Compose
Docker-compose is a useful tool to orchestrate simple container deployments. We provide the below example as a demo, and rough getting started guide. You should tailor your own deployment scripts, pipelines and artifacts to meet your standards.
You can extend this to things like;
- Ansible deployments
- Kubernetes deployments
- Helm Charts
Note
We highly recommend you leverage secret managers/concepts such as docker secrets. The docker-compose is just an example, but you should tweak this to leverage docker-secrets.
Config file
For this sample deployment, we'll supply a environment config file. This is a simple way to manage the environment, but you may need to modify this for a production deployment, or revert to typical environment variables with docker run -e "FOO=BAR".
Explore the .config.env file below
ADMIN_USERNAME: [email protected]
ADMIN_PASSWORD: admin12345
APIPORT: 8080
ATL_TOKEN: <YOUR_ATLASSIAN_TOKEN>
ATL_USERNAME: <YOUR_ATLASSIAN_USERNAME>
BCP_CONTROLLER_URL: "http://10.0.0.110"
DBHOST: postgres
DBNAME: bcp
DBPASSWORD: bcp12345
DBPORT: 5432
DBTYPE: postgres
DBUSER: bcp
DATA_DIR: /var/data/bcp
FRONTEND_ORIGIN_URL: "http://10.0.0.110"
GITHUB_USERNAME: <GITHUB_USER> ( Optional )
GITHUB_TOKEN: <GITHUB_TOKEN> ( Optional )
LICENSE_KEY: <YOUR_LICENSE_KEY>
NUM_CONF_WORKERS: 5
POLLING_TIMEOUT: 30
SECRET_KEY: <YOUR_SECRET_KEY>
SITE_URL: <YOUR_SITE_URL>
TIMEZONE: "Australia/Sydney"
ADMIN_USERNAME
Description: The username of the admin user. This is the user that will be created on first run. This must be a email format.
Value: String
Example: [email protected]
ADMIN_PASSWORD
Description: The password of the admin user. This is the user that will be created on first run.
Value: String
Example: admin12345
APIPORT
Description: Configure the HTTP Port for the Service to listen on.
Value: Int
Example: 8080
ATL_TOKEN
Description: Configure the Atlassian API Token.
Value: String
Example: czZCaGRSa3F0MzpnWDFmQmF0M2JW
ATL_USERNAME
Description: Configure the username (email) associated with the API Token above.
Value: String
Example: [email protected]
BCP_CONTROLLER_URL
Description: Full URL for the BCP Controller. This should be your load balancer/reverse proxy FQDN.
Value: String
Example: https://my-bcpcontroller-01.mycompany.com
DBHOST
Description: Configure the Database Host. IP or DNS.
Value: String
Example: 10.5.60.20
DBNAME
Description: Configure the Database Name.
Value: String
Example: production_bcp
DBPASSWORD
Description: Configure the Database password.
Value: String
Example: MyVerySecureSuperSecretPassword!1234@^
DBPORT
Description: Configure the Database Port.
Value: Int
Example: 5432
DBTYPE
Description: Configure the Database type. Possible values include
- postgres
- mariadb
- msssql
Value: String
Example: mssql
DBUSER
Description: Configure the Database User
Value: String
Example: mydatabaseuser
DATA_DIR
Description: Configure the data directory.
Value: String
Example: /var/data/bcp-controller
Default: /var/data/bcp
Windows: D:\Data\BCP
FRONTEND_ORIGIN_URL
Description: Full URL for Frontend UI
Value: String
Example: https://my-bcpcontroller-01.mycompany.com
GITHUB_TOKEN
Note
This is optional, but required if you're using the SCM bundle licensing. See product tiers for more detail.
Description: The Github API Token, more detail here: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token your token will require Org/Repo read access and the ability to browse all repos.
Value: String
Example: czZCaGRSa3F0MzpnWDFmQmF0M2JW
GITHUB_USERNAME
Note
This is optional, but required if you're using the SCM bundle licensing. See product tiers for more detail.
Description: The Github Username of the account setup for API/Org access.
Value: String
Example: 1337Haxor
LICENSE_KEY
Description: The license key for your BCP Controller. This is required for the controller to start. You can obtain a license key from the BCP Controller website.
Value: String
Example: 1234567890-1234567890-1234567890-1234567890-1234567890
NUM_CONF_WORKERS
Description: Configure the number of confluence workers. Increasing this too high yields negative results.
Value: Int
Example: 20
Default: 5
POLLING_TIMEOUT
Description: Configure the Cloud Polling Timeout for Long Running Tasks. Configure higher timeouts on slow connections, or if PDF generation is failing.
Value: Int
Example: 30
Default: 30
SECRET_KEY
Description: Configure the Secret Key from earlier. This is used in both your Cloud App, BCP Controller and BCP UI.
Value: String
Example: NjY1MzliMGVjYTkxNzZhY2YwMzUyYzVhZTFmNzRmNzE0NDA4MmMxMjAwZmVhMzk4
SITE_URL
Description: Configure the Atlassian Cloud Site URL
Value: String
Example: https://starship-enterprise.atlassian.net
TIMEZONE
Description: Configure the controller Timezones
Value: String
Example: Australia/Sydney
Default: Australia/Sydney