Skip to content
Snippets Groups Projects
user avatar
Sebastian Mohr authored
adbcbf37
History

Snip

Our digital lab book

pipeline status release License: GPL v3 pipeline status

About

This is the monorepo for snip - our digital lab book. This repo includes the complete code for running the labbook app and the backend services.

Currently we run a public instance of snip at snip.roentgen.physik.uni-goettingen.de. Which can be used to test the application without having to install it locally.

Getting started

The app is designed to be self-hosted with relative ease. We prebuild the services into docker containers that can be used to run the application. We provide you a docker-compose file that contains all the services needed to run the application.

For a full guide on how to deploy snip, please visit our documentation or see the docs/deployment folder in this repo.

Repo overview

The repo is structured into packages, apps and assets. Apps can be run and are the entry points for the application. Packages are shared code that is used by the apps and other packages. Assets are static files that are used by the apps.

apps
├── fullstack # next.js application
├── nginx # reverse proxy 
├── render # render server
├── email # email server
└── socket # socket server
packages
├── auth # authentication
├── configs # configuration for eslint, typescript, etc.
├── database # database service and types
├── snips # snip types
├── scripts # scripts for the project
└── utils # utility functions

Development

We have a docker compose file that can be used to start a local development environment. This will start the frontend, all backend services and the database server locally and live mount the code into the containers.

git clone https://gitlab.gwdg.de/irp/snip.git
docker compose -f docker/docker-compose.dev.yml build
docker compose -f docker/docker-compose.dev.yml up