docker-compose.yaml :
version: "3"
services:
  nginx:
    image: jwilder/nginx-proxy:alpine
    restart: always
    networks:
      - frontend
    ports:
      - "443:443"
      - "80:80"
    volumes:
      - ./volumes/ssl:/etc/nginx/certs
      - /var/run/docker.sock:/tmp/docker.sock:ro
  teampass:
    image: teampass/teampass
    restart: always
    environment:
      VIRTUAL_HOST: teampass.yourdomain.local
    networks:
      - frontend
      - backend
    volumes:
      - ./volumes/teampass:/var/www/html
  db:
    restart: always
    image: mysql/mysql-server:5.7
    environment:
      MYSQL_ROOT_PASSWORD: mypass
      MYSQL_DATABASE: teampass
      MYSQL_PASSWORD: teampass
      MYSQL_USER: teampass
    volumes:
      - ./volumes/db:/var/lib/mysql
    networks:
      - backend
networks:
  frontend:
  backend:
go to http://teampass.yourdomain.local/ complete the installation
Host: teampass_db_1
DataBase name : teampass
Login : teampass
Password : teampass
Port : 3306
login : admin password : yourpassword
##ldap problem, after teampass version 2.1.27, cannot use password expiry fuction (TeamPass 2.1.27.30 don’t need to do this)
vi /home/teampass/volumes/teampass/www/sources/identify.php
commented the following block of code: (TeamPass 2.1.27.30 don’t need to do this)
// if (is_array($adldap->user()->passwordExpiry($auth_username)) === false) {
// echo '[{"value" : "user_not_exists '.$auth_username.'", "text":""}]';
// exit();
// }
SSL :
vi docker-compose.yaml
version: "3"
services:
  nginx:
    image: jwilder/nginx-proxy:alpine
    restart: always
    networks:
      - frontend
    ports:
      - "443:443"
    volumes:
      - ./volumes/ssl:/etc/nginx/certs
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - ./volumes/teampass.conf:/etc/nginx/conf.d/teampass.conf
  teampass:
    image: teampass/teampass
    restart: always
    environment:
      VIRTUAL_HOST: teampass.yourdomain.local
    networks:
      - frontend
      - backend
    volumes:
      - ./volumes/teampass:/var/www/html
  db:
    restart: always
    image: mysql/mysql-server:5.7
    environment:
      MYSQL_ROOT_PASSWORD: mypass
      MYSQL_DATABASE: teampass
      MYSQL_PASSWORD: teampass
      MYSQL_USER: teampass
    volumes:
      - ./volumes/db:/var/lib/mysql
    networks:
      - backend
networks:
  frontend:
  backend:
vi teampass.conf
upstream teampass {
    server 192.168.0.5:80;
}
server {
    listen               443 ssl;
    server_name          teampass.yourdomain.local;
    ssl_certificate     /etc/nginx/certs/fullchain.pem;
    ssl_certificate_key /etc/nginx/certs/privkey.pem;
    location / {
                proxy_pass         http://teampass.yourdomain.local;
    }
}