diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..13566b81b018ad684f3a35fee301741b2734c8f4 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/fda-docs.iml b/.idea/fda-docs.iml new file mode 100644 index 0000000000000000000000000000000000000000..d0876a78d06ac03b5d78c8dcdb95570281c6f1d6 --- /dev/null +++ b/.idea/fda-docs.iml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="PYTHON_MODULE" version="4"> + <component name="NewModuleRootManager"> + <content url="file://$MODULE_DIR$" /> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> +</module> \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000000000000000000000000000000000000..105ce2da2d6447d11dfe32bfb846c3d5b199fc99 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ +<component name="InspectionProjectProfileManager"> + <settings> + <option name="USE_PROJECT_PROFILE" value="false" /> + <version value="1.0" /> + </settings> +</component> \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..65531ca992813bbfedbe43dfae5a5f4337168ed8 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.6" project-jdk-type="Python SDK" /> +</project> \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000000000000000000000000000000000..d8854aafd8484e8488aaf9b9e32e26f460045051 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/.idea/fda-docs.iml" filepath="$PROJECT_DIR$/.idea/fda-docs.iml" /> + </modules> + </component> +</project> \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000000000000000000000000000000000..94a25f7f4cb416c083d265558da75d457237d671 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$" vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/docs/getting-started.md b/docs/getting-started.md new file mode 100644 index 0000000000000000000000000000000000000000..130e1a1efc4ae092a2eb4bf383896365d4552222 --- /dev/null +++ b/docs/getting-started.md @@ -0,0 +1,74 @@ +--- +hide: + +- navigation + +--- + +# Getting Started + +!!! abstract "Abstract" + + In this short getting started guide we show the dependencies to run the database repository and perform a small, + local, test deployment for quickly trying out the features that the repository offers. + +!!! danger "Production" + + Do not use this small, local, test deployment with production data. It is not secure for production. + +## Requirements + +### Hardware + +For this small, local, test deployment any modern hardware would suffice, we recommend a machine with at least: + +- 8 Cores (can be virtual cores) +- 16GB RAM +- 100GB SSD memory +- Fast internet connection + +### Software + +We currently only test RPM-based operating systems. Other systems in theory should also work, but no warranty whatsoever +is given that there might be some compatibility issues in the future. + +1. [Rocky Linux](https://rockylinux.org/) 8.4+ + +On the local machine, we need installed: + +1. [Docker Engine](https://docs.docker.com/engine/install/centos/) 18.02.0+ +2. [Docker Compose](https://docs.docker.com/compose/install/) + +And the following minimal software packages to operate the repository: + +```console +dnf install make +``` + +## Repository + +Next, clone the source code repository into your working directory: + +```console +git clone https://github.com/fair-data-austria/dbrepo.git +``` + +Start building the metadata database container and the remaining containers (in fast, parallel mode utilizing all cores +of your local machine): + +```console +docker-compose build fda-metadata-database +docker-compose build --parallel +``` + +The system is auto-configured for a small, local, test deployment. You only need to start all containers by executing: + +```console +docker-compose up +``` + +<style> + .md-content__button { + display: none; + } +</style> \ No newline at end of file diff --git a/docs/images/logo.png b/docs/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8ed93f837d93765c70d6c521ece6a7df22842a62 Binary files /dev/null and b/docs/images/logo.png differ diff --git a/docs/images/logo.psd b/docs/images/logo.psd new file mode 100644 index 0000000000000000000000000000000000000000..2c4c82cf515772a444a12bfa38fe18846a6fcbcc Binary files /dev/null and b/docs/images/logo.psd differ diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000000000000000000000000000000000000..e46315caab72f43e3e48db710a738098430e5980 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,24 @@ +--- +hide: + +- navigation + +--- + +# Database Repository + +## Problem Statement + +## Application Areas + +[Get Started](/getting-started){ .action-button .md-button .md-button--primary } + +## Demo + +Public demonstration instance [https://dbrepo.ossdip.at](https://dbrepo.ossdip.at) + +<style> + .md-content__button { + display: none; + } +</style> \ No newline at end of file diff --git a/docs/operation.md b/docs/operation.md new file mode 100644 index 0000000000000000000000000000000000000000..a1ce8736ccf5fb86fab8640f4d2377646e26ee0f --- /dev/null +++ b/docs/operation.md @@ -0,0 +1,24 @@ +--- +hide: + +- navigation + +--- + +# Operation + +## Deploy + +```bash +make teardown +make config-frontend # for renewing Let's Encrypt certificates +docker-compose build fda-metadata-database +docker-compose build --parallel +docker-compose -f docker-compose.prod.yml up -d +``` + +<style> + .md-content__button { + display: none; + } +</style> \ No newline at end of file diff --git a/docs/publications.md b/docs/publications.md new file mode 100644 index 0000000000000000000000000000000000000000..eca7941c31aaf7578410fd904329aa86c5fa1444 --- /dev/null +++ b/docs/publications.md @@ -0,0 +1,26 @@ +--- +hide: + +- navigation + +--- + +# Publications + +### Conferences + +1. Weise, M., Michlits, C., Staudinger, M., Gergely, E., Stytsenko, K., Ganguly, R. and Rauber A., 2021. FDA-DBRepo: A + Data Preservation Repository Supporting FAIR Principles, Data Versioning and Reproducible Queries. *Proceedings of + the 17th International Conference on Digital Preservation*, Beijing, China, p.34. + DOI: [10.17605/OSF.IO/B7NX5](http://doi.org/10.17605/OSF.IO/B7NX5) + +### News + +1. Gergely, E., 2021. Better Support for Research: Current Cooperation Projects. [Online]. + URL: [https://zid.univie.ac.at/it-news/artikel/news/cluster-forschungsdaten/](https://zid.univie.ac.at/it-news/artikel/news/cluster-forschungsdaten/), accessed 2022-04-12 + +<style> + .md-content__button { + display: none; + } +</style> \ No newline at end of file diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css new file mode 100644 index 0000000000000000000000000000000000000000..a325fac833b630fa256d93ee597ad58170963393 --- /dev/null +++ b/docs/stylesheets/extra.css @@ -0,0 +1,8 @@ +[data-md-color-scheme="default"] { + --md-primary-fg-color: #ff5522; +} + +[data-md-color-scheme="slate"] { + --md-primary-fg-color: #ff5522; + --md-primary-bg-color: #2e303d; +} \ No newline at end of file diff --git a/docs/system.md b/docs/system.md new file mode 100644 index 0000000000000000000000000000000000000000..5b4dba8e8cc143c6338865532105291385dd4043 --- /dev/null +++ b/docs/system.md @@ -0,0 +1,21 @@ +--- +hide: + +- navigation + +--- + +# System + +## Architecture + +### Technical + +We use Docker for deployment. The containers are packing all runtime dependencies, when starting them all necessary +files are already present. For running the infrastructure we use Docker Compose. + +<style> + .md-content__button { + display: none; + } +</style> \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000000000000000000000000000000000000..7b2704fee00cf971f51c3f0fe6ff0b03e12b3812 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,56 @@ +site_name: Database Repository +repo_url: https://github.com/fair-data-austria/dbrepo.git +repo_name: Repository +site_author: TU Wien Research Data Management +copyright: CC BY 4.0 TU Wien Research Data Management +extra: + homepage: https://dbrepo.tuwien.ac.at + social: + - icon: fontawesome/brands/github + link: https://github.com/fair-data-austria/dbrepo.git + - icon: fontawesome/brands/twitter + link: https://twitter.com/RDMTUWien + version: + provider: mike + default: stable +nav: + - Home: index.md + - getting-started.md + - system.md + - operation.md + - publications.md +extra_css: + - stylesheets/extra.css +theme: + favicon: images/favicon.png + logo: images/logo.png + font: + text: IBM Plex Sans + code: IBM Plex Mono + features: + - navigation.tabs + - navigation.tabs.sticky + icon: + repo: fontawesome/brands/git-alt + palette: + - scheme: default + font: + code: Roboto Mono + toggle: + icon: material/weather-night + name: Switch to light mode + - scheme: slate + font: + code: Roboto Mono + toggle: + icon: material/weather-sunny + name: Switch to dark mode + name: material +markdown_extensions: + - attr_list + - md_in_html + - admonition + - pymdownx.details + - pymdownx.superfences + - toc: + permalink: True \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..fa6560c8de2ae07a1e9bf7a677549b9bcfe3a2de --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +mkdocs-material==8.2.9 \ No newline at end of file