Skip to content

Latest commit

 

History

History
106 lines (83 loc) · 2.61 KB

README.md

File metadata and controls

106 lines (83 loc) · 2.61 KB

Уведомления о балансе на обеденной карте

Обновить либы

go get -u ./...

Удалить старое из go.sum и go.mod

go mod tidy

Собрать бинарник

~/code/go_prj/notifier ❯ go build github.com/denisov/notifier/cmd/notifier

Github registry

Токен создаётся тут: https://github.com/settings/tokens

Залогиниться в github registry

echo $CR_PAT | docker login ghcr.io -u denisov --password-stdin

Собрать и запушить image в registry

docker buildx build --platform linux/amd64 -t ghcr.io/denisov/notifier .
docker push ghcr.io/denisov/notifier

Использование

Установить docker и compose https://docs.docker.com/engine/install/ubuntu/

Сгенерить self-signed серт. Обязательно указать свой домен в CN=mydomain.ru (!)

openssl req -newkey rsa:2048 -sha256 -nodes -keyout key.pem -x509 -days 3650 -out cert.pem -subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=mydomain.ru"

загрузить/обновить image

docker pull ghcr.io/denisov/notifier

Создать директорию notifier, а в ней compose.yml

mkdir -p notifier && cd notifier
echo "
services:
  notifier:
    image: ghcr.io/denisov/notifier
    container_name: notifier
    environment:
      - HOST=********:8443
      - KENGU_LOGIN=***
      - KENGU_PASSWORD=****
      - SHKOLANSO_LOGIN=*****
      - SHKOLANSO_PASSWORD=******
      - TELEGRAM_BOT_TOKEN=*****
      - PORT=8443
      - CRON_KEY=*************
    volumes:
      - /root/cert.pem:/cert.pem
      - /root/key.pem:/key.pem
    ports:
      - 8443:8443
" > compose.yml

Установить свои значения в переменных окружения

Запустить как демона (из директории notifier)

docker compose up -d

Остановить (вместе с удалением контейнеров)

docker compose down

Обновить после обновления образа

docker compose pull
docker compose up --force-recreate --build -d
docker image prune -f

Запуск по расписанию

Скопировать notifier.service и notifier.timer в /etc/systemd/system

systemctl enable notifier.timer
systemctl start notifier.timer

# логи
journalctl -u notifier.timer
journalctl -u notifier.service

Build Status