{"id":15136203,"url":"https://github.com/farynam/nextcloud_link_tracker","last_synced_at":"2026-03-10T05:03:12.755Z","repository":{"id":247588350,"uuid":"826282217","full_name":"farynam/nextcloud_link_tracker","owner":"farynam","description":"Simple cron based monitoring for NextCloud. ","archived":false,"fork":false,"pushed_at":"2024-07-11T13:55:56.000Z","size":18,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-05T07:46:55.840Z","etag":null,"topics":["audit","auditing","database","links","monitoring","nextcloud","shares"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/farynam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null}},"created_at":"2024-07-09T12:04:49.000Z","updated_at":"2024-07-11T13:55:59.000Z","dependencies_parsed_at":"2024-07-09T15:30:46.819Z","dependency_job_id":"d97c51d8-c09a-4dc1-a139-2c5d51daedbe","html_url":"https://github.com/farynam/nextcloud_link_tracker","commit_stats":null,"previous_names":["farynam/nextcloud_link_tracker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/farynam/nextcloud_link_tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farynam%2Fnextcloud_link_tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farynam%2Fnextcloud_link_tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farynam%2Fnextcloud_link_tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farynam%2Fnextcloud_link_tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/farynam","download_url":"https://codeload.github.com/farynam/nextcloud_link_tracker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farynam%2Fnextcloud_link_tracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30325599,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T01:36:58.598Z","status":"online","status_checked_at":"2026-03-10T02:00:06.579Z","response_time":106,"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":["audit","auditing","database","links","monitoring","nextcloud","shares"],"created_at":"2024-09-26T06:04:31.950Z","updated_at":"2026-03-10T05:03:12.718Z","avatar_url":"https://github.com/farynam.png","language":"JavaScript","readme":"# Next Cloud link tracker\nSimple cron based notification for NextCloud. \nIt uses database directly for queries. Also it saves state in order to narrow notifications results.\nNotification is for Nextcloud resources such as:\n- calendars\n- files \n- forms\n\n## Requirements\n- docker or podman with podman-compose installed (preffred is podman but you can easily turn it to docker)\n\n\n## Build\n```\n    $ ./build_image_docker.run\n```    \nor\n```\n    $ ./build_image_podman.run\n```\n\n## configuration\nPositions with * are optional.\n### Setup configuration variables\nThese are environment variables:\n- *VERBOSE - true | false show configuration and state on startup.\n- DATA_HOME - directory where to store state file. \n- CONFIG_HOME - Directory where to find configuration  \n- CONFIG_FILE - Configuration file name without path.\n- *NODE_EXTRA_CA_CERTS - extra CA for node if any\n- CRON_FILE - file with a cron expression like CRON_JOB=\"*/1 * * * *\"\n\n### *Setup env variables for corporate proxy build\n```\nexport HTTP_PROXY=\"http://\u003cyour corpo proxy address\u003e\"\nexport HTTPS_PROXY=\"http://\u003cyour corpo proxy address\u003e\"\nexport NO_PROXY=\"\u003cdkip proxy for this domain\u003e\"\n```\n\n## How to run it\n### Without container\nIt will just notify and exit.\n```\n  $ node i \n  $ node src/app/index.mjs\n```\n\n### Via podman or docker directly\nlook at run.sh in the project dir.\n\n\n### Via podman/docker compose\nBasically run the script below.\n\n1.Get yourself a SMTP server\n2.Configure SMTP in ./volumes/conf/config.json\n3.Run\n```\n  $ podman-compose -f podman-compose.yml up\n```\n2. go to http://localhost:8081 and configure nextcloud\n3. Launch some email client and configure \n4. Try to update/add calendars, files, forms\n\n## Tested for versions\n- Nextcloud Hub 8 (29.0.1)\n- podman version 4.3.1\n- podman-composer version  1.0.3\n- Debian GNU/Linux 12 (it should work on other platforms)\n\n## Notification format\n\n```\nCurrent shares:\n{\n  \"calendarShares\": [],\n  \"fileShares\": [\n    {\n      \"owner\": \"resource owner email\",\n      \"resource\": \"resource name\",\n      \"link\": \"link to the resource\",\n      \"updated\": \"resource update time\"\n    }\n  ],\n  \"formShares\": []\n}\n```\n\n## Directories\n\n```\n|-.devcontainer\n    |-certs (additional CA to import)\n    |-conf \n        |-.docker (build config for docker-in-docker VSC plugin)\n        |-docker (docker daemon config for docker-in-docker VSC plugin)\n    |-dev_host (image etc conf files to overwrite)\n|-build (main dir for scripts and other artificats to build final image)\n    |-certs (additional CA to import)\n    |-out (image output dir)\n    |-scripts (image runtime scripts)\n|-config (config files - config_example.json,cron_example.json for details)\n|-example (example queries)\n|-run (directory with a state file)\n|-src\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarynam%2Fnextcloud_link_tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffarynam%2Fnextcloud_link_tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarynam%2Fnextcloud_link_tracker/lists"}