This guide describes how to deploy the OSLC Connect for Jira Cloud Broker using Docker containers. The Docker deployment includes a PostgreSQL database container, so no separate database installation is required.
You need to transfer the following files to your deployment server:
deploy.sh - Deployment scriptoslc-connect-jira_1.0.0.tar.gz - Configuration package (docker-compose.yml, .env, etc.)oslc-connect-jira_1.0.0-image.tar.gz - Pre-built Docker imagejiracloudbroker.keystore - SSL certificate keystore# Create deployment directory on server ssh user@your_server "mkdir -p ~/oslc-jira" # Transfer files scp deploy.sh oslc-connect-jira_1.0.0*.tar.gz jiracloudbroker.keystore user@your_server:~/oslc-jira/
# Connect to server
ssh user@your_server
cd ~/oslc-jira
# Make script executable
chmod +x deploy.sh
# Extract config
./deploy.sh extract
After extraction, edit the .env file to configure your deployment:
# Tomcat Configuration TOMCAT_PORT=your_tomcat_port # Broker configuration BROKER_HOST=your_broker_host # PostgreSQL Configuration DB_HOST=your_database_host DB_PORT=your_database_port DB_NAME=your_database_name DB_USER=your_database_user DB_PASSWORD=your_secure_password # SSL Keystore Configuration KEYSTORE_PATH=path_your_keystore KEYSTORE_ALIAS=your_keystore_alias KEYSTORE_PASSWORD=your_keystore_password # Jira Cloud Configuration (from OAuth Integration App) CLOUD_HOST=company.atlassian.net CLOUD_ID=your_oauth_client_id CLOUD_SECRET=your_oauth_client_secret
# Deploy (loads image, starts services) ./deploy.sh
The deployment script will:
.env file# Deploy the application ./deploy.sh # Start services (if stopped) ./deploy.sh start # Stop services ./deploy.sh stop # Restart services ./deploy.sh restart # View logs in real-time ./deploy.sh logs # View container status ./deploy.sh status # Create a manual database backup ./deploy.sh backup # List all backups ./deploy.sh list-backups # Restore from backup ./deploy.sh restore backups/backup_YYYYMMDD_HHMMSS.sql.gz # Setup automatic weekly backups ./deploy.sh setup-backup
# Check container status ./deploy.sh status # Expected output: # NAME IMAGE STATUS PORTS # postgres postgres:18 Up 0.0.0.0:5432->5432/tcp # tomcat oslc-connect-jira:1.0.0 Up 0.0.0.0:8443->8443/tcp # Check logs ./deploy.sh logs
The application is available at: https://your-server:8443/oslc-connect-jira
The deployment script includes built-in backup and restore functionality:
# Setup automatic weekly backups (recommended) ./deploy.sh setup-backup # Create manual backup ./deploy.sh backup # List available backups ./deploy.sh list-backups # Restore from backup (drops and recreates database) ./deploy.sh restore backups/backup_20240115_030000.sql.gz
Automatic backups are stored in the ./backups directory, compressed, and the last 4 are retained.
The Docker deployment maps environment variables to Broker properties:
| Environment Variable | Broker Property |
|---|---|
CLOUD_HOST |
jira-cloud.host |
CLOUD_ID |
jira-cloud.oauth.client.id |
CLOUD_SECRET |
jira-cloud.oauth.client.secret |
DB_HOST, DB_PORT, DB_NAME |
jakarta.persistence.jdbc.url |
DB_USER |
jakarta.persistence.jdbc.user |
DB_PASSWORD |
jakarta.persistence.jdbc.password |
KEYSTORE_PATH |
keystore_filename |
KEYSTORE_ALIAS |
keystore_alias |
KEYSTORE_PASSWORD |
ssl_password |
After modifying the .env file, restart the services:
./deploy.sh restart
# Check all logs ./deploy.sh logs # Check PostgreSQL logs docker compose logs postgres # Check Tomcat logs docker compose logs tomcat # Test PostgreSQL connection docker exec postgres pg_isready -U broker -d broker # Connect to PostgreSQL docker exec -it postgres psql -U broker -d broker