Docker
Manage Bumper via Dockerβpull the official image, deploy with Compose or Swarm, build custom images, or run directly.
π§ Prerequisites
Prepare TLS certificates and minimal environment variables before any deployment:
TLS certificates:
Place your certs in certs/ca.crt
, certs/bumper.crt
, certs/bumper.key
, or generate them:
$./scripts/create-cert.sh
Environment variables:
Create a .env
file with at least the following:
NETWORK_MODE=overlay # by default "bridge"
# Needs to be set when running with Docker; default is auto-detected from socket
BUMPER_ANNOUNCE_IP=192.168.0.100 # your server's public/local IP
Full environment variable reference: Environment Variables
β¨ Pull the Official Image
$docker pull ghcr.io/mvladislav/bumper:develop
See the package on GitHub Container Registry here.
π Docker Swarm Deployment
Step 1 β Clone the repository
$git clone https://github.com/MVladislav/bumper.git
$cd bumper
Step 2 β Initiate Docker in Swarm mode
$docker swarm init
Step 3 β Start services
alias for docker-swarm
$docker-swarm-compose deebot # alias for Docker Swarm Compose
# or
$docker compose up -d # standard Docker Compose
Step 4 β Access the UI
Visit https://ecovacs.net/
in your browser.
π Build a Custom Image
Step 1 β Clone the repository (if not already done)
$git clone https://github.com/MVladislav/bumper.git
$cd bumper
Step 2 β Build
$docker build -t mvladislav/bumper .
Requires Docker β₯17.09 or Podman.
π― Direct Docker Run
Step 1 β Create a Docker volume
$docker volume create bumper_data
(Or use a host directory: -v /path/to/data:/bumper/data
.)
Step 2 β Run the container
$docker run -it \
--mount source=bumper_data,target=/bumper/data \
-p 443:443 -p 8007:8007 -p 8883:8883 -p 5223:5223 \
--name bumper \
mvladislav/bumper
- Volumes: uses Docker volume
bumper_data
; replace with-v /host/path:/bumper/data
for a host mount. - Ports: 443, 8007, 8883, 5223
For advanced Docker parameters (resource limits, secrets, configs), see the Environment Variables.