services: metabase: image: metabase/metabase:latest environment: MB_DB_TYPE: postgres MB_DB_HOST: postgres-core MB_DB_USER: postgres MB_DB_PASS: {{ global_db_root_pass }} MB_DB_DBNAME: metabase networks: - alicante_net ports: - "3001:3000" bookstack: image: lscr.io/linuxserver/bookstack:latest environment: DB_HOST: mariadb-core DB_USER: root DB_PASS: {{ global_db_root_pass }} networks: - alicante_net ports: - "6875:80" gotenberg: image: gotenberg/gotenberg:8 networks: - alicante_net # Gotenberg es una API, no suele necesitar puerto expuesto si se usa internamente, # pero lo dejamos accesible por si acaso en el 3000 interno (o mapeado si quieres) carbone: image: "{{ carbone_image }}:{{ carbone_version }}" container_name: carbone restart: unless-stopped ports: - "{{ carbone_port }}:4000" environment: TZ: "{{ timezone }}" volumes: - carbone_templates:/app/templates - carbone_output:/app/output networks: - alicante_net healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:4000/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s networks: alicante_net: external: true carbone_templates: carbone_output: # Force Update