{"id":23442324,"url":"https://github.com/repronim/repromon","last_synced_at":"2025-10-23T19:52:20.863Z","repository":{"id":176569216,"uuid":"647913614","full_name":"ReproNim/repromon","owner":"ReproNim","description":"A service to monitor data acquisition etc to alert if anything goes wrong","archived":false,"fork":false,"pushed_at":"2024-04-17T11:21:48.000Z","size":1948,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-16T13:05:36.516Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ReproNim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-05-31T19:51:42.000Z","updated_at":"2023-06-22T13:27:24.000Z","dependencies_parsed_at":"2023-10-16T02:34:18.523Z","dependency_job_id":"b7696e53-2d2b-41ee-b17a-b4a246afcec9","html_url":"https://github.com/ReproNim/repromon","commit_stats":null,"previous_names":["repronim/repromon"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ReproNim/repromon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReproNim%2Frepromon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReproNim%2Frepromon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReproNim%2Frepromon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReproNim%2Frepromon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ReproNim","download_url":"https://codeload.github.com/ReproNim/repromon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReproNim%2Frepromon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272084830,"owners_count":24870584,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-23T17:29:24.797Z","updated_at":"2025-10-23T19:52:15.842Z","avatar_url":"https://github.com/ReproNim.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# repromon 1.0\n\n## Overview\n\nReproNim/repromon monitoring project. The goal is to provide a core software solution to be deployed\nat Dartmouth Brain Imaging Center (DBIC) as a pilot location, to provide “online” feedback about\nongoing data entry and acquisition (videos, MRI) as is planned to be captured and provided by the\nReproNim projects such as ReproIn, ReproStim, ReproEvents and con/noisseur which have being developed\nseparately.\n\n## System Setup\n\n### SSL Certificates\n\nFor development purposes should be created self-signed SSL certificate to be used for HTTPS/WSS\ncommunications under ./certs/ directory and named as '${WEB_HOST}.key' and '${WEB_HOST}.pem'. Below\nlisted script to generate these files for \"localhost\" domain:\n\n    WEB_HOST=localhost \u0026\u0026 mkdir -p ./certs \u0026\u0026 openssl req -x509 -nodes -newkey rsa:4096 -keyout ./certs/$WEB_HOST.key -out ./certs/$WEB_HOST.crt -days 3650 -subj \"/CN=$WEB_HOST\" \u0026\u0026 openssl x509 -in ./certs/$WEB_HOST.crt -out ./certs/$WEB_HOST.pem -outform PEM\n\nIn DEV/QA/UAT and other environments WEB_HOST should be specified to real DNS or IP address value\nend-user and backend clients will use to communicate with the repromon server. Also this value should\nbe the same as WEB_HOST variable in '.env.*' file.\n\nFor production deployment should be used SSL certificate from trusted authorities.\n\n### Podman / Docker Environment\nThere is a `template.env.dev` file with a configuration for a typical setup, but it has fields to fill in.\nTo expedite generation of the local .env.dev, you can use following command\n\n    sed -e \"s,TODO_apikey_secret,$(openssl rand -hex 32),g\" \\\n        -e \"s,TODO_apikey_salt,$RANDOM,g\" \\\n        -e \"s,TODO_token_secret_key,$(openssl rand -hex 32),g\" \\\n        -e \"s,TODO_initial_admin_password,$(openssl rand -base64 32 | tr -d /=+ | cut -c -12),g\" \\\n        -e \"s,TODO_postgres_user,repromon,g\" \\\n        -e \"s,TODO_postgres_password,$(openssl rand -base64 32 | tr -d /=+ | cut -c -12),g\" template.env.dev \u003e .env.dev\n\nTo build and start the instance for the first time execute it in a subshell (so that we do not leak\nthose variables in the current env) and use:\n\n    ( set -a \u0026\u0026  source ./.env.dev \u0026\u0026 podman-compose  -f docker-compose.dev.yml up -d --build  ; )\n\nTo start container instances use:\n\n    ( set -a \u0026\u0026  source ./.env.dev \u0026\u0026 podman-compose  -f docker-compose.dev.yml up -d  ; )\n\nThen you can check that all services started using:\n\n    podman ps\n\nwhich should have repromon_db_1 and repromon_web_1 services by default.\n\nYou can see the logs using these commands:\n\n    podman logs --since \"2023-09-01T00:00:00Z\" repromon_web_1\n    podman logs repromon_db_1\n\nTo open shell on web server container use:\n\n    podman exec -it repromon_web_1 bash\n\nTo stop instances use:\n\n    ( set -a \u0026\u0026  source ./.env.dev \u0026\u0026 podman-compose  -f docker-compose.dev.yml down  ; )\n\n\n### Local Development Environment\n\nLocal Python development can be used on project 'as is' with any editors, e.g. PyCharm.\nDefault local configuration specified in '.env.local' file and uses project built-in SQLite3 DB.\n\n\n### Testing\n\nRepromon testing based on pytest and integrated into project 'repromon_app' package. Unit tests\ncan be executed with 'pytest' directly. It's recommended to turn on live logging for more\ndetailed logs from repromon_app:\n\n    pytest --pyargs repromon_app -o log_cli=true -o log_cli_level=DEBUG\n\nor via poetry:\n\n     ./venv/bin/poetry run pytest\n\n     ./venv/bin/poetry run pytest --cov=. --cov-report=xml -s\n\n\u003c!--\n## Web Application UI\n### TODO: Feedback Screen UI\n### TODO: Administration\n### TODO: Sending Feedback Screen Message\n+--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frepronim%2Frepromon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frepronim%2Frepromon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frepronim%2Frepromon/lists"}