{"id":16153361,"url":"https://github.com/danielesteban/autocalamari","last_synced_at":"2026-01-20T05:32:03.961Z","repository":{"id":44150055,"uuid":"179583317","full_name":"danielesteban/AutoCalamari","owner":"danielesteban","description":"Automated Calamari Clock-In/Out","archived":false,"fork":false,"pushed_at":"2022-12-03T04:57:08.000Z","size":392,"stargazers_count":1,"open_issues_count":13,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-13T19:54:23.917Z","etag":null,"topics":["automation","nodejs","puppeteer"],"latest_commit_sha":null,"homepage":null,"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/danielesteban.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}},"created_at":"2019-04-04T21:59:15.000Z","updated_at":"2020-06-28T07:50:41.000Z","dependencies_parsed_at":"2023-01-23T04:16:07.390Z","dependency_job_id":null,"html_url":"https://github.com/danielesteban/AutoCalamari","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielesteban%2FAutoCalamari","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielesteban%2FAutoCalamari/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielesteban%2FAutoCalamari/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielesteban%2FAutoCalamari/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielesteban","download_url":"https://codeload.github.com/danielesteban/AutoCalamari/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247704515,"owners_count":20982292,"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","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":["automation","nodejs","puppeteer"],"created_at":"2024-10-10T01:11:36.547Z","updated_at":"2026-01-20T05:32:03.936Z","avatar_url":"https://github.com/danielesteban.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"AutoCalamari \u0026nbsp;\n[![Build Status](https://travis-ci.org/danielesteban/AutoCalamari.svg?branch=master)](https://travis-ci.org/danielesteban/AutoCalamari)\n[![Dependencies Status](https://david-dm.org/danielesteban/AutoCalamari/status.svg)](https://david-dm.org/danielesteban/AutoCalamari)\n[![Docker Pulls](https://img.shields.io/docker/pulls/danigatunes/autocalamari.svg)](https://hub.docker.com/r/danigatunes/autocalamari)\n===\n\n\u003e Automated Calamari Clock-In/Out\n\nCopyright © 2019 Daniel Esteban Nombela.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n## Headless service deployment\n\n * [Docker](https://hub.docker.com/search/?type=edition\u0026offering=community) \u003e= 18.09 Stable\n * [Docker Compose](https://docs.docker.com/compose/install/) \u003e= 1.24 Stable\n\n```bash\n# Download the docker-compose template\nmkdir AutoCalamari \u0026\u0026 cd AutoCalamari \ncurl -O https://raw.githubusercontent.com/danielesteban/AutoCalamari/master/docker-compose.yml\n# Edit the environment config\nvim docker-compose.yml\n# Start the service\ndocker-compose up -d\n```\n\n[![Screenshot](screenshot.png)](https://hub.docker.com/r/danigatunes/autocalamari)\n\n## Dev environment\n\n * [Node.js](https://nodejs.org/en/download/) \u003e= 10.15 LTS\n * [Yarn](https://yarnpkg.com/en/docs/install) \u003e= 1.15 Stable\n\n```bash\n# Clone this repo\ngit clone https://github.com/danielesteban/AutoCalamari.git \u0026\u0026 cd AutoCalamari\n# Install dependencies\nyarn install\n# Setup your environment\necho \"DOMAIN=__WRITE_YOUR_CALAMARI_SUBDOMAIN_HERE__\" \u003e .env\necho \"PROJECT=__WRITE_YOUR_CALAMARI_PROJECT_HERE__\" \u003e\u003e .env\necho \"EMAIL=__WRITE_YOUR_EMAIL_HERE__\" \u003e\u003e .env\necho \"PASSWORD=__WRITE_YOUR_PASSWORD_HERE__\" \u003e\u003e .env\necho \"PUNCH_IN=00 00 09 * * 1-5\" \u003e\u003e .env\necho \"START_BREAK=00 00 14 * * 1-5\" \u003e\u003e .env\necho \"STOP_BREAK=00 00 15 * * 1-5\" \u003e\u003e .env\necho \"PUNCH_OUT=00 00 18 * * 1-5\" \u003e\u003e .env\necho \"HEADLESS=false\" \u003e\u003e .env\n# Start the worker\nyarn start\n```\n\n## FAQ\n\n * [What's the job scheduling format?](#whats-the-job-scheduling-format)\n * [What's my calamari domain?](#whats-my-calamari-domain)\n * [What's my calamari password?](#whats-my-calamari-password)\n * [What's my calamari project?](#whats-my-calamari-project)\n\n#### What's the job scheduling format?\n\n[Read up on cron patterns here](http://crontab.org/). Note the examples in the link have five fields and 1 minute as the finest granularity, but this project has six fields with 1 second as the finest granularity.\n\nThere are also tools that will help you construct your schedules like: [crontab.guru](https://crontab.guru/) and [cronjob.xyz](https://cronjob.xyz/).\n\n#### What's my calamari domain?\n\nThe part before `.calamari.io` in your calamari URL.\n\n#### What's my calamari password?\n\nIf you signed-up with your google account or you don't know/remember your password, you can use the [Password Reset Form](https://app.calamari.io/o/remind-password) to get a new one.\n\n#### What's my calamari project?\n\nThe text that reads on any of the buttons that pop up when you start a work shift.\n\nIf you don't provide any, it will default to: `Without project`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielesteban%2Fautocalamari","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielesteban%2Fautocalamari","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielesteban%2Fautocalamari/lists"}