Edna is an open-source web application for data analysis aimed to help researchers with their experiments. It consists of 3 parts:
- backend is a web server implemented in Haskell.
- frontend is a web client application (UI) implemented in TypeScript.
- analysis is a part of the backend implemented in Python to analyse data submitted to Edna.
The recommended way to deploy Edna is to use Docker images from GitHub Container Registry:
Note that some additional configuration is needed: you need to launch PostgreSQL DB server, forward ports and provide appropriate configuration (via a config file or environment variables or command line arguments).
The deployment
folder contains an example docker-compose
file that automates the whole deployment.
Please read its README for more details about using the images.
If the above way is not suitable for you, you can build Edna from sources and run it. You need to build and run both backend and frontend. Please refer to the respective directories for more details.
Nix is a package manager with an accompanying GNU/Linux distribution, NixOS. It makes reproducible packaging and reliable deployments a lot easier.
If you want to build Edna with Nix,
- Install Nix (https://nixos.org/install-nix.html) if you haven't already
nix-build -A backend-server
will build the backendnix-build -A frontend
will build the frontendnix-build -A docker-backend
will build the docker image for backendnix-build -A docker-frontend
will build the docker image for frontendnix-shell
will enter a build environment, which contains the GHC with dependencies needed to build the backend, python with dependencies needed to run the analysis tool, and tools for testing, housekeeping and deployment.
If you're a Serokell employee, you can get access to our binary cache to speed up the build process.
The servers running Edna on Serokell infrastructure are defined in https://github.com/serokell/gemini-infra.
We use our own issue tracker. If you want to open a new issue, please do so on GitHub.
Please see CONTRIBUTING.md for more information.
Edna is maintained and funded with ❤️ by Serokell. The names and logo for Serokell are trademark of Serokell OÜ.
We love open source software! See our other projects or hire us to design, develop and grow your idea!