This repository provides a Docker-based setup for running Bitlbee with additional plugins for extended functionality and an optional Stunnel service to enable secure IRC communications over TLS.
- Bitlbee: A popular gateway that connects instant messaging services with IRC. In addition to the Bitlbee's out of the box supported protocols, these are the pre-installed plugins:
- Google Hangouts via purple-hangouts
- Discord via purple-discord
- Matrix via purple-matrix
- Microsoft Teams via teams
- Slack via slack-libpurple
- Skype via skype4pidgin
- Facebook (MQTT) via bitlbee-facebook
- Mastodon via bitlbee-mastodon
- Telegram via tdlib-purple
- Stunnel: Adds TLS encryption for secure IRC connections.
- Multi-architecture support: builds for
linux/amd64
andlinux/arm64
. - Kubernetes resources included for deployment in containerized environments.
- Linting and security scans integrated into CI/CD workflows.
-
Clone this repository:
git clone https://github.com/mbologna/docker-bitlbee.git cd docker-bitlbee
-
Build and run the containers:
podman-compose up --build
If you're using Docker:
docker-compose up --build
-
Access the Bitlbee service on port 6667 and the Stunnel service on port 16697.
UID
and GID
: Set these to match your local user for proper volume permissions.
The data/
directory is mounted as a volume to store Bitlbee configurations and data. Ensure it is backed up for persistent setups.
Kubernetes manifests for deploying Bitlbee and Stunnel are located in the k8s/
directory.
- Apply the manifests:
kubectl apply -f k8s/
Verify deployment:
kubectl get pods -n bitlbee
Expose the service as needed (e.g., via NodePort
or Ingress
).
This repository uses GitHub Actions for automated builds and deployments:
-
Build and Push: Docker images are built for amd64 and arm64 platforms and pushed to:
- Docker Hub:
mbologna/docker-bitlbee:latest
- GitHub Container Registry:
ghcr.io/mbologna/docker-bitlbee:latest
- Docker Hub:
-
Linting: Integrated linters for Dockerfile, shell scripts, and Kubernetes resources.
-
Security Scans: Uses Trivy to scan Docker images for vulnerabilities.
For multi-architecture builds with Podman:
podman build --platform linux/amd64,linux/arm64 -t mbologna/docker-bitlbee:latest .
Or with Docker:
docker buildx build --platform linux/amd64,linux/arm64 -t mbologna/docker-bitlbee:latest --push .