Skip to content

FossFLOW: store diagrams on the host - #365

Merged
crypt0rr merged 1 commit into
mainfrom
fossflow-persist-diagrams
Oct 8, 2026
Merged

crypt0rr merged 1 commit into
mainfrom
fossflow-persist-diagrams

Conversation

@jackspiering

Copy link
Copy Markdown
Collaborator

Description

FossFLOW saves diagrams on the server in /data/diagrams (ENABLE_SERVER_STORAGE=true is the default of the image). The stack had no volume, so every saved diagram was lost when the container was recreated, for example after an image update.

  • compose.yaml: add the volume ./${SERVICE}-data/diagrams:/data/diagrams.
  • README.md (service): list the data folder, remove the data-loss warning, and add an "Upgrading" section that explains how to copy existing diagrams out of the container first.

Related Issues

  • None.

Verification

Tested in a scratch copy with stnsmith/fossflow:latest. A stand-in container replaced Tailscale, because the test only concerns the volume. Diagrams were saved and listed through the API on port 80 (POST and GET /api/diagrams), the same path that the web interface uses.

Step main This branch
Save a diagram, then recreate the container List is empty Diagram is still there
docker compose down, then up -d List is empty Diagram is still there
New installation: save a diagram, recreate the container List is empty Diagram is still there, file is in ./fossflow-data/diagrams

Upgrade path from the README, starting on main with one saved diagram:

  1. mkdir -p fossflow-data/diagrams
  2. docker cp app-fossflow:/data/diagrams/. ./fossflow-data/diagrams/
  3. docker compose up -d with the file from this branch

Result: the diagram from the old container is listed, next to a new one that was saved afterwards.

  • docker compose config --quiet in services/fossflow: passed.
  • rumdl check --config .markdownlint.yml services/fossflow/README.md: passed.
  • git diff --check: passed.

Not tested: access through the Tailnet, which this change does not touch.

Checklist

  • I have performed a self-review of my code and followed the templates structure.
  • I have added verification that the stack works as expected.
  • I have updated necessary documentation (e.g. frontpage README.md ).
  • I have selected the correct label(s) for this PR.

Additional Context

@jackspiering jackspiering added the bug Something isn't working label Oct 7, 2026
@jackspiering
jackspiering requested a review from crypt0rr October 7, 2026 18:26
Base automatically changed from t3code/standardize-service-readmes to main October 8, 2026 15:23
Add a volume for /data/diagrams, where FossFLOW saves diagrams on the
server. The stack had no volume, so saved diagrams were lost when the
container was recreated.

Add upgrade steps to the README for existing installations.
@jackspiering
jackspiering force-pushed the fossflow-persist-diagrams branch from db44b3b to 884133c Compare October 8, 2026 15:26
@crypt0rr
crypt0rr merged commit d8e123f into main Oct 8, 2026
1 check passed
@crypt0rr
crypt0rr deleted the fossflow-persist-diagrams branch October 8, 2026 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants