Skip to content

hexlet-components/devops-example-app

Repository files navigation

DevOps example app

CI status Count docker images pulls

This is a simple node application that shows on the main page server on which it is running and report errors to Rollbar.

Usage

docker run -p 3000:3000 -e SERVER_MESSAGE="Hexlet Awesome Server" -e ROLLBAR_TOKEN="<your token>" hexletcomponents/devops-example-app
# open http://0.0.0.0:3000 in browser

Запуск на Mac M1/M2 (ARM) и других архитектурах

Если при запуске контейнера возникает ошибка:

docker: no matching manifest for linux/arm64/v8 in the manifest list entries.

Возможные решения:

1. Использовать эмуляцию x86 через флаг --platform

docker run --platform linux/amd64 -p 3000:3000 \
    -e SERVER_MESSAGE="Hexlet Awesome Server" \
    hexletcomponents/devops-example-app

Docker Desktop для Mac M1/M2 поддерживает эмуляцию x86 (amd64) через QEMU. Это работает для большинства Node.js-приложений, но может быть медленнее.

2. Собрать образ локально под ARM

docker build -t hexletcomponents/devops-example-app .
docker run -p 3000:3000 \
    -e SERVER_MESSAGE="Hexlet Awesome Server" \
    hexletcomponents/devops-example-app

3. Собрать и опубликовать multi-arch образ (рекомендовано)

docker buildx build --platform linux/amd64,linux/arm64 -t hexletcomponents/devops-example-app --push .

После этого команда docker run ... будет работать на любой архитектуре.

4. Проверить, что эмуляция включена

Если эмуляция не работает, выполните:

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

Requirements

  • Make

Install

make setup

You may pass environment variable SERVER_MESSAGE, and its value shows on the main page.

Edit .env file to set up environment variables.

SERVER_MESSAGE="Hexlet Awesome Server"
ROLLBAR_TOKEN=<your token>

Start application

make start
# open http://0.0.0.0:3000 in browser

Screen of devops-example-app


Hexlet Ltd. logo

This repository is created and maintained by the team and the community of Hexlet, an educational project. Read more about Hexlet.

See most active contributors on hexlet-friends.