services: db: image: mariadb:11.5 container_name: passbolt-db hostname: passbolt-db restart: unless-stopped expose: - 3306 environment: MYSQL_RANDOM_ROOT_PASSWORD: "true" MYSQL_DATABASE: "passbolt" MYSQL_USER: "passbolt" MYSQL_PASSWORD: "P4ssb0lt" volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/passbolt/mariadb:/var/lib/mysql passbolt: image: passbolt/passbolt:latest-ce # alternatively, you can use the rootless image passbolt/passbolt:latest-ce-non-root container_name: passbolt hostname: passbolt restart: unless-stopped depends_on: - db environment: APP_FULL_BASE_URL: http://127.0.0.1:8543 # adjust http/https and add your hostname or domain DATASOURCES_DEFAULT_HOST: "db" DATASOURCES_DEFAULT_USERNAME: "passbolt" DATASOURCES_DEFAULT_PASSWORD: "P4ssb0lt" DATASOURCES_DEFAULT_DATABASE: "passbolt" #EMAIL_DEFAULT_FROM_NAME: "Passbolt CE" #EMAIL_DEFAULT_FROM: "passbolt@gmail.com" #EMAIL_TRANSPORT_DEFAULT_HOST: smtp.gmail.com #EMAIL_TRANSPORT_DEFAULT_PORT: 587 #EMAIL_TRANSPORT_DEFAULT_USERNAME: "smtp_user" #EMAIL_TRANSPORT_DEFAULT_PASSWORD: "smtp_pass" #EMAIL_TRANSPORT_DEFAULT_TLS: true # or false; default null volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/passbolt/gpg:/etc/passbolt/gpg - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/passbolt/jwt:/etc/passbolt/jwt command: ["/usr/bin/wait-for.sh", "-t", "0", "db:3306", "--", "/docker-entrypoint.sh"] ports: - 8543:80 # HTTP - 8432:443 # HTTPS # - 8543:8080 # alternative port mappings if rootless image is used # - 8432:4433 # alternative port mappings if rootless image is used expose: - 80 - 443 - 8080 - 4433