-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Describe the bug
User data copied to the directory mounted against /home/useblocks/app/docs/ubtrace is overwritten on server startup and replaced with demo data. I wouldn't expect user data to be cleared without error, warnings, etc.
To Reproduce
Steps to reproduce the behavior:
- Build project with ubt builder
- Deploy project to server folder /data/ubtrace/ and /data/ubtrace/ubtrace_server.toml (both files having been generated by the builder)
- Verify folder contents
- Mount
/data/ubtraceto the docker image in docker-compose config - Start container
- Check folder contents again, user data is gone and replaced by example data.
Long-Form Explanation
I am referencing the documentation below for the processes I am following:
- https://ubtrace.useblocks.com/installation.html
- https://ubtrace.useblocks.com/integration.html#integration
Basically, as the docs describes, you can mount custom data into the ubtrace docker by mounting a volume to /home/useblocks/app/docs/ubtrace.
I have using the following docker setup:
ubtrace:
image: ghcr.io/useblocks/ubtrace:latest
depends_on:
- vis-tree
- oidc
ports:
- "7100:7130"
working_dir: /
volumes:
- /data/ubtrace:/home/useblocks/app/docs/ubtrace/
environment:
MESSAGE: Starting ubTrace on localhost:7130
PUBLIC_VIS_TREE_HOST: localhost:7140
UBTRACE_SERVER_VIS_TREE_INTERNAL_HOST: http://vis-tree:7140
UBTRACE_SERVER_AUTH_ISSUER_URL: localhost:7180
UBTRACE_SERVER_AUTH_DISCOVER_URL: localhost:7180/.well-known/openid-configuration
Here, I mount my files in /data/ubtrace/<project> and /data/ubtrace/ubtrace_server.toml, these files are generated via the ubt_sphinx builder as described here: https://ubtrace.useblocks.com/usage/builder.html#builder, specifically, with sphinx-build -b ubtrace . <output>
I then run the following commands to start the server:
sudo docker-compose up -d && sudo docker-compose start
Once I check the /data/ubtrace directory again, my file contents have been replaced by the demo-project. No errors are mentioned in the logs.
ubtrace_1 | Executing shared entrypoint initialization...
ubtrace_1 | CURRENT USER 0:0
ubtrace_1 | GIVEN USER :
ubtrace_1 | Using internal user id
ubtrace_1 | Using internal group id
ubtrace_1 | Warning: GID 0 is already in use by group 'root'. Remapping 'root' to a new GID.
ubtrace_1 | Shared entrypoint initialization complete.
ubtrace_1 | ☕ Copy doc files from temp-folder to ubTrace location
ubtrace_1 | 🧰 Generating Kuzu DB files
ubtrace_1 | Processing: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v3/docs/ubtrace/needs.jsonW
ubtrace_1 | Created/using db folder: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v3/db/needs.kuzu
ubtrace_1 | Successfully read /home/useblocks/app/docs/ubtrace/useblocks/showcase/v3/docs/ubtrace/needs.json
ubtrace_1 | Found 18 need(s)
ubtrace_1 | Removing existing output directory
ubtrace_1 | Kuzu DB written to /home/useblocks/app/docs/ubtrace/useblocks/showcase/v3/db/needs.kuzu
ubtrace_1 | Processing: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v2/docs/ubtrace/needs.jsonW
ubtrace_1 | Created/using db folder: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v2/db/needs.kuzu
ubtrace_1 | Successfully read /home/useblocks/app/docs/ubtrace/useblocks/showcase/v2/docs/ubtrace/needs.json
ubtrace_1 | Found 14 need(s)
ubtrace_1 | Removing existing output directory
ubtrace_1 | Kuzu DB written to /home/useblocks/app/docs/ubtrace/useblocks/showcase/v2/db/needs.kuzu
ubtrace_1 | Processing: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v4/docs/ubtrace/needs.jsonW
ubtrace_1 | Created/using db folder: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v4/db/needs.kuzu
ubtrace_1 | Successfully read /home/useblocks/app/docs/ubtrace/useblocks/showcase/v4/docs/ubtrace/needs.json
ubtrace_1 | Found 22 need(s)
ubtrace_1 | Removing existing output directory
ubtrace_1 | Kuzu DB written to /home/useblocks/app/docs/ubtrace/useblocks/showcase/v4/db/needs.kuzu
ubtrace_1 | Processing: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v1/docs/ubtrace/needs.jsonW
ubtrace_1 | Created/using db folder: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v1/db/needs.kuzu
ubtrace_1 | Successfully read /home/useblocks/app/docs/ubtrace/useblocks/showcase/v1/docs/ubtrace/needs.json
ubtrace_1 | Found 14 need(s)
ubtrace_1 | Removing existing output directory
ubtrace_1 | Kuzu DB written to /home/useblocks/app/docs/ubtrace/useblocks/showcase/v1/db/needs.kuzu
ubtrace_1 | Processing: /home/useblocks/app/docs/ubtrace/useblocks/sphinx-needs-demo/1/docs/ubtrace/needs.jsonW
ubtrace_1 | Created/using db folder: /home/useblocks/app/docs/ubtrace/useblocks/sphinx-needs-demo/1/db/needs.kuzu
ubtrace_1 | Successfully read /home/useblocks/app/docs/ubtrace/useblocks/sphinx-needs-demo/1/docs/ubtrace/needs.json
ubtrace_1 | Found 118 need(s)
ubtrace_1 | Removing existing output directory
ubtrace_1 | Kuzu DB written to /home/useblocks/app/docs/ubtrace/useblocks/sphinx-needs-demo/1/db/needs.kuzu
ubtrace_1 | �� Starting ubTrace on http://mco-sw-fw-docs01:7130
ubtrace_1 | /home/useblocks/app/docs/ubtrace/ubtrace_server.toml true
ubtrace_1 | Server configuration loaded successfully!
ubtrace_1 | Found 6 project folders in /home/useblocks/app/docs/ubtrace/useblocks/showcase/v1/config,/home/useblocks/app/docs/ubtrace/useblocks/showcase/v2/config,/home/useblocks/app/docs/ubtrace/useblocks/showcase/v3/config,/home/useblocks/app/docs/ubtrace/useblocks/showcase/v4/config,/home/useblocks/app/docs/ubtrace/useblocks/sphinx-needs-demo/1/config,/home/useblocks/app/docs/ubtrace/useblocks/ubtrace/1/config
ubtrace_1 | Processing project folder: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v1/config - Parent: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v1
ubtrace_1 | Project parts - Org: useblocks, Project ID: showcase, Version: v1
ubtrace_1 | Processing project folder: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v2/config - Parent: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v2
ubtrace_1 | Project parts - Org: useblocks, Project ID: showcase, Version: v2
ubtrace_1 | Processing project folder: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v3/config - Parent: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v3
ubtrace_1 | Project parts - Org: useblocks, Project ID: showcase, Version: v3
ubtrace_1 | Processing project folder: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v4/config - Parent: /home/useblocks/app/docs/ubtrace/useblocks/showcase/v4
ubtrace_1 | Project parts - Org: useblocks, Project ID: showcase, Version: v4
ubtrace_1 | Processing project folder: /home/useblocks/app/docs/ubtrace/useblocks/sphinx-needs-demo/1/config - Parent: /home/useblocks/app/docs/ubtrace/useblocks/sphinx-needs-demo/1
ubtrace_1 | Project parts - Org: useblocks, Project ID: sphinx-needs-demo, Version: 1
ubtrace_1 | Processing project folder: /home/useblocks/app/docs/ubtrace/useblocks/ubtrace/1/config - Parent: /home/useblocks/app/docs/ubtrace/useblocks/ubtrace/1
ubtrace_1 | Project parts - Org: useblocks, Project ID: ubtrace, Version: 1
ubtrace_1 | Projects: [
ubtrace_1 | 'useblocks:+:showcase:+:v1',
ubtrace_1 | 'useblocks:+:showcase:+:v2',
ubtrace_1 | 'useblocks:+:showcase:+:v3',
ubtrace_1 | 'useblocks:+:showcase:+:v4',
ubtrace_1 | 'useblocks:+:sphinx-needs-demo:+:1',
ubtrace_1 | 'useblocks:+:ubtrace:+:1'
ubtrace_1 | ]
ubtrace_1 | Projects configuration loaded successfully!
ubtrace_1 | Default project set to: org=luminar, project_id=ubtrace_docs, version=1
ubtrace_1 | Listening on http://0.0.0.0:7130
Expected behavior
I would expect files that I put in the mounted directory to
- Not be deleted on startup
- To be read on startup
Additionally, I would not expect the example projects to load if existing data is present.
Screenshots
N/A
Desktop (please complete the following information):
- Firefox 144.0.2
- Ubuntu 20 /w docker (Host), Windows 11 (Browser)
- ubTrace version: latest
Additional context
Add any other context about the problem here.