{"id":42523977,"url":"https://github.com/hexlet-components/devops-example-app","last_synced_at":"2026-01-28T15:36:19.575Z","repository":{"id":43295003,"uuid":"366964972","full_name":"hexlet-components/devops-example-app","owner":"hexlet-components","description":null,"archived":false,"fork":false,"pushed_at":"2023-07-11T20:41:16.000Z","size":992,"stargazers_count":4,"open_issues_count":1,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-04-14T22:46:55.436Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://devops-application.hexlet.app","language":"JavaScript","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/hexlet-components.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}},"created_at":"2021-05-13T07:09:41.000Z","updated_at":"2024-01-30T14:20:04.000Z","dependencies_parsed_at":"2022-09-07T04:24:06.440Z","dependency_job_id":null,"html_url":"https://github.com/hexlet-components/devops-example-app","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/hexlet-components/devops-example-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexlet-components%2Fdevops-example-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexlet-components%2Fdevops-example-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexlet-components%2Fdevops-example-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexlet-components%2Fdevops-example-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hexlet-components","download_url":"https://codeload.github.com/hexlet-components/devops-example-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexlet-components%2Fdevops-example-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28846372,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T15:15:36.453Z","status":"ssl_error","status_checked_at":"2026-01-28T15:15:13.020Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2026-01-28T15:36:18.770Z","updated_at":"2026-01-28T15:36:19.567Z","avatar_url":"https://github.com/hexlet-components.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DevOps example app\n\n![CI status](https://github.com/hexlet-components/devops-example-app/actions/workflows/main.yml/badge.svg) [![Count docker images pulls](https://img.shields.io/docker/pulls/hexletcomponents/devops-example-app.svg)](https://hub.docker.com/r/hexletcomponents/devops-example-app)\n\nThis is a simple node application that shows on the main page server on which it is running and report errors to [Rollbar](https://rollbar.com/).\n\n## Usage\n\n```bash\ndocker run -p 3000:3000 -e SERVER_MESSAGE=\"Hexlet Awesome Server\" -e ROLLBAR_TOKEN=\"\u003cyour token\u003e\" hexletcomponents/devops-example-app\n# open http://0.0.0.0:3000 in browser\n ```\n\n## Запуск на Mac M1/M2 (ARM) и других архитектурах\n\nЕсли при запуске контейнера возникает ошибка:\n\n```\ndocker: no matching manifest for linux/arm64/v8 in the manifest list entries.\n```\n\nВозможные решения:\n\n### 1. Использовать эмуляцию x86 через флаг --platform\n\n```sh\ndocker run --platform linux/amd64 -p 3000:3000 \\\n    -e SERVER_MESSAGE=\"Hexlet Awesome Server\" \\\n    hexletcomponents/devops-example-app\n```\n\nDocker Desktop для Mac M1/M2 поддерживает эмуляцию x86 (amd64) через QEMU. Это работает для большинства Node.js-приложений, но может быть медленнее.\n\n### 2. Собрать образ локально под ARM\n\n```sh\ndocker build -t hexletcomponents/devops-example-app .\ndocker run -p 3000:3000 \\\n    -e SERVER_MESSAGE=\"Hexlet Awesome Server\" \\\n    hexletcomponents/devops-example-app\n```\n\n### 3. Собрать и опубликовать multi-arch образ (рекомендовано)\n\n```sh\ndocker buildx build --platform linux/amd64,linux/arm64 -t hexletcomponents/devops-example-app --push .\n```\n\nПосле этого команда `docker run ...` будет работать на любой архитектуре.\n\n### 4. Проверить, что эмуляция включена\n\nЕсли эмуляция не работает, выполните:\n\n```sh\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes\n```\n\n## Requirements\n\n* Make\n\n## Install\n\n```bash\nmake setup\n```\n\nYou may pass environment variable `SERVER_MESSAGE`, and its value shows on the main page.\n\nEdit *.env* file to set up environment variables.\n\n```env\nSERVER_MESSAGE=\"Hexlet Awesome Server\"\nROLLBAR_TOKEN=\u003cyour token\u003e\n```\n\n## Start application\n\n```bash\nmake start\n# open http://0.0.0.0:3000 in browser\n```\n\n![Screen of devops-example-app](assets/app.png)\n\n---\n\n[![Hexlet Ltd. logo](https://raw.githubusercontent.com/Hexlet/assets/master/images/hexlet_logo128.png)](https://hexlet.io?utm_source=github\u0026utm_medium=link\u0026utm_campaign=devops-example-app)\n\nThis repository is created and maintained by the team and the community of Hexlet, an educational project. [Read more about Hexlet](https://hexlet.io?utm_source=github\u0026utm_medium=link\u0026utm_campaign=devops-example-app).\n\nSee most active contributors on [hexlet-friends](https://friends.hexlet.io/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexlet-components%2Fdevops-example-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhexlet-components%2Fdevops-example-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexlet-components%2Fdevops-example-app/lists"}