Files
docker/passbolt/docker-compose.yml
T
2025-07-20 13:25:51 +10:00

65 lines
1.6 KiB
YAML

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