#version: "3.9" services: db: image: mariadb:10.11 restart: unless-stopped environment: MYSQL_RANDOM_ROOT_PASSWORD: "true" MYSQL_DATABASE: "passbolt" MYSQL_USER: "passbolt" MYSQL_PASSWORD: "P4ssb0lt" volumes: - ./data/database:/var/lib/mysql networks: - traefik_default webapp: image: passbolt/passbolt:latest-ce #Alternatively you can use rootless: #image: passbolt/passbolt:latest-ce-non-root restart: unless-stopped depends_on: - db environment: APP_FULL_BASE_URL: https://passbolt.lan.ddnsgeek.com DATASOURCES_DEFAULT_HOST: "db" DATASOURCES_DEFAULT_USERNAME: "passbolt" DATASOURCES_DEFAULT_PASSWORD: "P4ssb0lt" DATASOURCES_DEFAULT_DATABASE: "passbolt" volumes: - ./data/gpg:/etc/passbolt/gpg - ./data/jwt:/etc/passbolt/jwt command: [ "/usr/bin/wait-for.sh", "-t", "0", "db:3306", "--", "/docker-entrypoint.sh", ] networks: - traefik_default labels: - "traefik.http.routers.passbolt.rule=Host(`passbolt.lan.ddnsgeek.com`)" - "traefik.enable=true" - "traefik.http.routers.passbolt.entrypoints=websecure" - "traefik.http.routers.passbolt.tls.certresolver=myresolver" - "io.portainer.accesscontrol.public" - "traefik.http.routers.passbolt.middlewares=error-pages-middleware" # ports: # - 8082:80 # - 4432:443 #Alternatively for non-root images: # - 80:8080 # - 443:4433 #volumes: # database_volume: # gpg_volume: # jwt_volume: networks: traefik_default: external: true