Skip to content

feat: multi-tenant with embrella integration - #10

Open
david-dong-biohub wants to merge 9 commits into
mainfrom
ddong/multi-tenant
Open

feat: multi-tenant with embrella integration#10
david-dong-biohub wants to merge 9 commits into
mainfrom
ddong/multi-tenant

Conversation

@david-dong-biohub

Copy link
Copy Markdown
Collaborator

Includes configuration and setup for multi-tenant.

Options include: local files (see .env.example), and/or pull projects from registry hosted on Embrella and stream tomograms. Streamed tomograms come from caddy-host or any file webserver to limit network proxying through the host.

Also includes:

  • Compose prod include docker image pull from ghcr
  • merge with newest idetik from main branch, removing idetik-react dependency. Picks are now fast and sync with z-slice movement.
  • style

@david-dong-biohub david-dong-biohub self-assigned this Jul 27, 2026
@david-dong-biohub

Copy link
Copy Markdown
Collaborator Author

seems to fail the backend check since we added more env vars. Will fix

@david-dong-biohub
david-dong-biohub marked this pull request as ready for review July 30, 2026 21:05
@david-dong-biohub
david-dong-biohub requested a review from uermel July 30, 2026 21:05

@uermel uermel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great as far as I can see, but one concern about the registry pathing.

resolved = Path(path).resolve()
if not resolved.exists():
raise FileNotFoundError(f"Local config not found: {resolved}")
pid = resolved.stem

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using stem here has some potential for collisions I think?

e.g. when a user would run with two configs named config.json the stem would be the same even if they exist in different absolute paths.

copick-web /path/to/projectA/config.json /path/to/projectB/config.json

--> one project is overwritten by the other.

Might be safer to use a hash on the absolute path here?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, great catch. A hash would make sense, and i'll enhance where the displayed name could be the copick config's "name" rather than this id
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants