version: '3.9' services: db: image: mariadb:10.3 restart: unless-stopped environment: MYSQL_RANDOM_ROOT_PASSWORD: "true" MYSQL_DATABASE: "passbolt" MYSQL_USER: "passbolt" MYSQL_PASSWORD: "P4ssb0lt" volumes: - database_volume:/var/lib/mysql passbolt: image: passbolt/passbolt:latest-ce # Alternatively you can use rootless: # image: passbolt/passbolt:latest-ce-non-root restart: unless-stopped depends_on: - db environment: # Replace API_FULL_BASE_URL with your real FQDN APP_FULL_BASE_URL: https://passbolt.local DATASOURCES_DEFAULT_HOST: "db" DATASOURCES_DEFAULT_USERNAME: "passbolt" DATASOURCES_DEFAULT_PASSWORD: "P4ssb0lt" DATASOURCES_DEFAULT_DATABASE: "passbolt" # Replace with your mail server config # EMAIL_DEFAULT_FROM_NAME: "Passbolt" # EMAIL_DEFAULT_FROM: "you@passbolt.local" # EMAIL_TRANSPORT_DEFAULT_HOST: your-mail-server # EMAIL_TRANSPORT_DEFAULT_PORT: 587 # EMAIL_TRANSPORT_DEFAULT_USERNAME: your-mail-username # EMAIL_TRANSPORT_DEFAULT_PASSWORD: your-mail-password # EMAIL_TRANSPORT_DEFAULT_TLS: true volumes: - gpg_volume:/etc/passbolt/gpg - jwt_volume:/etc/passbolt/jwt command: ["/usr/bin/wait-for.sh", "-t", "0", "db:3306", "--", "/docker-entrypoint.sh"] ports: - 80:80 - 443:443 # Alternatively for non-root images: # - 80:8080 # - 443:4433 volumes: database_volume: gpg_volume: jwt_volume: