a dead-simple backplane for Dockerized applications
Project description
backplane
A simple backplane for your containerized applications.
Get started
pip install backplane
backplane install
backplane start
You can now visit the dashboards of both services in your browser:
Configure your containers
To expose one of your services through Traefik, your service needs to be part of the backplane
Docker network and carry a few Traefik-relevant labels:
docker
docker run \
--network backplane \
--label "traefik.enable=true" \
--label "traefik.http.routers.whoami.rule=Host(\`whoami.here.ns0.co\`)" \
--label "traefik.http.routers.whoami.entrypoints=http" \
--rm traefik/whoami
Visit http://whoami.here.ns0.co to verify it worked.
docker-compose
version: "3.3"
services:
whoami:
image: "traefik/whoami"
container_name: "simple-service"
networks:
- backplane
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`whoami.here.ns0.co`)"
- "traefik.http.routers.whoami.entrypoints=http"
- "traefik.docker.network=backplane"
networks:
backplane:
name: backplane
external: true
Visit http://whoami.here.ns0.co to verify it worked.
Use in production
backplane can be used on public cloud hosts, too:
backplane --environment production install --domain mydomain.com --mail letsencrypt@mydomain.com
backplane start
This enables the following additional features:
- access your backplane services through
mydomain.com
(NOTE: if you do not specify a domain, backplane will use a wildcard domain based on the IP of your server, like 127-0-0-1.nip.io) - automatic SSL for your containers through LetsEncrypt
- configurable HTTP to HTTPS redirect
- sane security defaults
docker
docker run \
--network backplane \
--label "traefik.enable=true" \
--label "traefik.http.routers.whoami.rule=Host(\`whoami.here.ns0.co\`)" \
--label "traefik.http.routers.whoami.entrypoints=http" \
--label "traefik.http.routers.whoami.middlewares=compress@docker" \
--label "traefik.http.routers.whoami.middlewares=https-redirect@docker" \
--label "traefik.http.routers.whoami-secure.entrypoints=https" \
--label "traefik.http.routers.whoami-secure.rule=Host(\`whoami.mydomain.com\`)" \
--label "traefik.http.routers.whoami-secure.tls=true" \
--label "traefik.http.routers.whoami-secure.tls.certresolver=letsencrypt" \
--label "traefik.http.routers.whoami-secure.middlewares=secured@docker" \
--label "traefik.http.routers.whoami-secure.middlewares=compress@docker" \
--rm traefik/whoami
docker-compose
version: "3.3"
services:
whoami:
image: "traefik/whoami"
container_name: "simple-service"
networks:
- backplane
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.entrypoints=http"
- "traefik.http.routers.whoami.rule=Host(`whoami.mydomain.com`)"
- "traefik.http.routers.whoami.middlewares=compress@docker"
- "traefik.http.routers.whoami.middlewares=https-redirect@docker"
- "traefik.http.routers.whoami-secure.entrypoints=https"
- "traefik.http.routers.whoami-secure.rule=Host(`whoami.mydomain.com`)"
- "traefik.http.routers.whoami-secure.tls=true"
- "traefik.http.routers.whoami-secure.tls.certresolver=letsencrypt"
- "traefik.http.routers.whoami-secure.middlewares=secured@docker"
- "traefik.http.routers.whoami-secure.middlewares=compress@docker"
- "traefik.docker.network=backplane"
networks:
backplane:
name: backplane
external: true
Development
Dependencies
pip install poetry
poetry shell
poetry install
npm i -g standard-version
Build
poetry build
Publish
poetry publish
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
backplane-0.1.19.tar.gz
(12.3 kB
view hashes)
Built Distribution
backplane-0.1.19-py3-none-any.whl
(11.8 kB
view hashes)
Close
Hashes for backplane-0.1.19-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f29e1c0ab40cc32340a0d7c2580c393eb1bacd6a04de77153c3ba91d276b3fb4 |
|
MD5 | 1140bac1506766c20e208730c822f365 |
|
BLAKE2b-256 | 6d6e1e369fce35854c1ee8ced25b114ff1c70c3a27338cc1356d99949aa93334 |