This guide helps organizations set up automated synchronization of sfp pro images from Flxbl's registry to their own container registry, with optional customization capabilities
Why Synchronize to Your Registry?
While you can pull directly from source.flxbl.io, maintaining your own synchronized copy provides:
Centralized version control across all teams
Reduced external dependencies during CI/CD runs
Ability to add organization-specific customizations
Improved pull performance from your own registry
Compliance with internal security policies
Setting Up Automated Synchronization
Step 1: Create a Dedicated Repository
Create a GitHub repository in your organization specifically for Docker image management (e.g., docker-images or sfp-docker).
Step 2: Configure Repository Secrets
Add the following secrets to your repository (Settings → Secrets and variables → Actions):
Secret Name
Description
Value
GITEA_USER
Your Gitea username
From your welcome email
GITEA_PAT
Personal Access Token for Gitea
Generate at source.flxbl.io (Settings → Applications → Personal Access Tokens) with read:package permission
Step 3: Create Synchronization Workflow
Create .github/workflows/sync-sfp-pro.yml in your repository:
Creating Custom Images
If you need to add organization-specific tools or configurations, create a Dockerfile:
For base sfp-pro-lite (without SF CLI):
For sfp-pro with SF CLI:
Then modify the workflow to build and push your custom image:
Using Synchronized Images in Your Pipelines
Update your project workflows to use images from your registry:
GitHub Actions:
GitLab CI:
Azure DevOps:
Verification
After running the workflow, verify the synchronization:
Troubleshooting
Authentication Issues
If you encounter authentication errors:
Verify your PAT has read:package permission
Check that secrets are correctly set in repository settings
Ensure your Gitea username is correct
Image Not Found
If the source image cannot be pulled:
Check the version exists at https://source.flxbl.io/flxbl/-/packages/container/sfp-pro/
Verify your network can reach source.flxbl.io
Confirm your credentials are valid
Push Failures to GitHub Container Registry
Ensure the workflow has packages: write permission
Verify the repository name in IMAGE_PREFIX is correct
Check GitHub Packages settings for your repository
# List available images in your registry
docker search ghcr.io/your-org/docker-images
# Pull and test the synchronized image
docker pull ghcr.io/your-org/docker-images/sfp-pro:latest
docker run --rm ghcr.io/your-org/docker-images/sfp-pro:latest sfp --version