Docker-compose

Compose example

services:
  mkdocs:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: mkdocs
    image: nome-immagine:tag
    ports:
      - "80:8000"
    volumes:
      - ./docs:/docs
      - ./mkdocs.yml:/mkdocs.yml
    networks:
      - net_mkdocs
    restart: unless-stopped
    mem_limit: 512m
    mem_reservation: 128M
    memswap_limit: 1g
    cpus: "0.5"
    cpuset: "1"
    depends_on:
      - postgres  

  postgres:
    image: postgres:15
    container_name: postgres
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: mydb
    ports:
      - "5432:5432"
    networks:
      - net_mkdocs
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U user"]  
      interval: 10s
      timeout: 5s
      retries: 5

networks:
  net_mkdocs:
    driver: bridge

volumes:
  pgdata:
    name: pgdata

Middlewares.auth

labels:
  - "traefik.enable=true"
  - "traefik.http.routers.mkdocs.entrypoints=websecure"
  - "traefik.http.routers.mkdocs.tls.certresolver=myresolver"
  - "traefik.http.routers.mkdocs.rule=Host(`domain.it`)"
  - "traefik.http.routers.mkdocs.service=mkdocs"
  - "traefik.http.services.mkdocs.loadbalancer.server.port=8000"
  - "traefik.http.routers.mkdocs.middlewares=auth"  # Aggiungi il middleware di autenticazione
  - "traefik.http.middlewares.auth.basicauth.users=admin:$2y$05$xxxxxxxxxxxxxxxxxxxxx"
Whitelist
labels:
    - "traefik.http.middlewares.ipwhitelist.ipwhitelist.sourcerange=192.168.1.0/24,10.0.0.1"  

Generare password Http-Auth

echo $(htpasswd -nB user) | sed -e s/\\$/\\$\\$/g