Responsible for:
- Writing file status updates to Redis for upload, download, copy, and delete jobs.
- Managing copy and delete operations for files and folders. This is accomplished by dispatching operation requests received by Portal to the Queue service.
- Generation and retrieval of previews for zipped files.
To get a local copy of the service up and running follow these simple example steps.
This project is using Poetry to handle the dependencies.
curl -sSL https://install.python-poetry.org | python3 -
-
Clone the project.
git clone https://github.com/PilotDataPlatform/dataops.git
-
Install dependencies.
poetry install
-
Run setup script for creating PostgreSQL database (schema is created during Alembic migration).
-
Add environment variables into
.env
in case it's needed. Use.env.schema
as a reference. -
Run any initial scripts, migrations or database seeders.
poetry run alembic upgrade head
-
Run application.
poetry run python start.py
This project can also be started using Docker.
-
To build and start the service within the Docker container, run:
docker compose up
-
Migrations should run automatically after the previous step. They can also be manually triggered:
docker compose run --rm alembic upgrade head
You can contribute the project in following ways:
- Report a bug.
- Suggest a feature.
- Open a pull request for fixing issues or adding functionality. Please consider using pre-commit in this case.
- For general guidelines on how to contribute to the project, please take a look at the contribution guides.
The development of the HealthDataCloud open source software was supported by the EBRAINS research infrastructure, funded from the European Union's Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 945539 (Human Brain Project SGA3) and H2020 Research and Innovation Action Grant Interactive Computing E-Infrastructure for the Human Brain Project ICEI 800858.