Marine data catalog for internal usage at IPMA
-
Clone this repo
-
Create a Python virtualenv and install the project dependencies into it with:
cd seis-lab-data uv sync --group dev --locked
-
Install the included pre-commit hooks:
uv run pre-commit install
-
Setup your favorite IDE for working on the project
-
Launch the services with docker compose:
docker compose -f docker/compose.dev.yaml up -d
-
You should now be able to access the webapp at
-
Additional relevant URLs:
- http://localhost:8887 - the traefik dashboard
- http://localhost:8887/auth/ - the authentik landing page
Note
Most of the time you will be using a prebuilt docker image. However, there is a special case where you will need to build it locally. This case is when you add a new python dependency to the project. In this case, build the image with:
docker build \
--tag ghcr.io/naturalgis/seis-lab-data/seis-lab-data:$(git branch --show-current) \
--file docker/Dockerfile \
.
Then stand up the docker compose stack with:
CURRENT_GIT_BRANCH=$(git branch --show-current) docker compose -f docker/compose.dev.yaml up -d --force-recreate
Normal tests can be run from inside the webapp
compose container, after installing the required dependencies:
docker compose --file docker/compose.dev.yaml exec webapp uv sync --locked --group dev
docker compose --file docker/compose.dev.yaml exec webapp uv run pytest
End to end tests can be run with the end-to-end-tester
compose service, by issuing a one-off run:
docker compose --file docker/compose.dev.yaml run --rm end-to-end-tester