Awesome TangoMan Traefik is a fast and handy tool to manage Traefik with Docker.
Dashboard is available here: http://traefik.localhost/dashboard
Traefik api endpoint is available here: http://traefik.localhost/api/rawdata
TangoMan Traefik provides the following features:
- Docker
compose.yaml
configuration fordev
andprod
environments - Makefile
entrypoint.sh
script
# build and run with `dev` settings
make up
# build and run with `prod` configuration
make up env=prod
TangoMan Traefik requires the following dependencies:
- apache2-utils
- Docker
- Docker compose plugin
- Make
- mkcert
- yamllint
- yq
On linux machine enter following command
sudo apt-get install --assume-yes apache2-utils
On linux machine enter following command
sudo apt-get install --assume-yes docker.io
Add current user to docker group
sudo usermod -a -G docker ${USER}
You will need to log out and log back in current user to use docker
If your group membership is not properly re-evaluated, enter following command
newgrp docker
Download docker community edition installer from docker hub:
Download docker community edition installer from docker hub:
On linux machine you will need curl to install docker-compose with the following commands
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m`" -o /usr/bin/docker-compose
sudo chmod uga+x /usr/bin/docker-compose
mkdir -p ~/.docker/cli-plugins/
ln -s /usr/bin/docker-compose ~/.docker/cli-plugins/docker-compose
sync
On linux machine enter following command
sudo apt-get install --assume-yes make
On windows machine you will need to install cygwin or GnuWin make first to execute make script.
Make should be available by default on OSX system, but you can upgrade make version with following command
brew install make
On linux machine enter following command
sudo apt-get install --assume-yes yamllint
On linux machine enter following command
sudo wget -nv https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq
sudo chmod +x /usr/bin/yq
Run make
to print help
make [command]
sh traefik [command] (--env dev) (--network '') (--user '') (--password '') (--email '')
- ALIAS
- Script alias
- Value: traefik
- --env
- Description: Environment
- Constraint: /^(dev|prod)$/
- Default: dev
- --network
- Description: Network
- Constraint: /^[a-z0-9_-]+$/
- Default: ''
- --user
- Description: User
- Constraint: /^[a-z0-9_-]+$/
- Default: ''
- --password
- Description: Password
- Constraint: /^.+$/
- Default: ''
- Description: email
- Constraint: /^.+@.+..+$/
- Default: ''
- up
- Build and start traefik
- set_env
- Set dev or prod environment
- requirements
- Check requirements
- uninstall
- Uninstall Traefik
- open
- Open traefik and whoami dashboard in default browser
- clear
- Clear logs
- backup
- Backup traefik configuration
- restore
- Restore traefik configuration
- password
- Set traefik dashboard password
- letsencrypt
- Config letsencrypt
- acme
- Create empty Let's Encrypt acme.json file
- Set Let's Encrypt email
- certs
- Install local SSL certificates
- remove_certs
- Remove local SSL certificates
- network
- Create network
- remove_network
- Remove network
- build
- Build docker stack
- start
- Start docker stack
- stop
- Stop docker stack
- lint
- Sniff errors with linters
- lint_yaml
- Sniff errors with yamllint
- lint_shell
- Sniff errors with shellcheck
- self_install
- Install script and enable completion
- self_uninstall
- Uninstall script from system
- generate_doc
- Generate Markdown documentation
- help
- Print this help (default)
Thank you for your interest in contributing to TangoMan Traefik.
Please review the code of conduct and contribution guidelines before starting to work on any features.
If you want to open an issue, please check first if it was not reported already before creating a new one.
Copyrights (c) 2024 "Matthias Morin" <mat@tangoman.io>
Distributed under the MIT license.
If you like TangoMan Traefik please star, follow or tweet:
... And check my other cool projects.
- shellcheck: a static analysis tool for shell scripts (used for CI/CD)
- yamllint: a static analysis tool for yaml files (used for CI/CD)
Script created with shoe