Skip to content

Instantly share code, notes, and snippets.

View karagi4's full-sized avatar

Aleksey karagi4

  • Russia, Saint-Petersburg
View GitHub Profile
#!/bin/bash
# Stop all running containers.
lxc stop -all
lxc storage list
truncate -s +20G /var/lib/lxd/disks/default.img
zpool set autoexpand=on default
zpool status -vg default
zpool online -e default device_id_from_step_above
zpool set autoexpand=off default
@karagi4
karagi4 / gist:6e748a7b4bab63ae025d91105f170397
Last active March 21, 2021 13:58
Task: Joomla + Docker = Gitlab CI

Задача: Настроить связку Joomla + php-fpm + PostgreSQL + Nginx

  • Добиться старта связки контейнеров только при наличии Docker Compose файла, веб интерфейс Joomla должен функционировать корректно
  • Настроить автоматическую сборку и тестирование своих контейнеров средствами gitlab-ci
  • Разместить итоговые артефакты сборки в registry своего репозитория на Gitlab

Дополнительно или в процессе выполнения:

  • Настроить gitlab-runner на своём сервере
  • Настроить запуск gitlab-runner с использованием docker dind
  • Развернуть собственный gitlab-registry на своём сервере
@karagi4
karagi4 / gist:8206db4dafee19a9c260bae99b936ab6
Last active January 28, 2021 07:55
Clean Docker Registry

Summary

The following directory /var/lib/registry/docker/registry/v2/blobs/sha256 may be filling up with abandoned, unused docker blobs setting off an alert for /var exceeding the monitoring threshold for filesystems.

In the Gitlab web interface, on the Registry tab, when you click on the "delete" button, only the image tag is actually deleted, and the data itself does not go anywhere and continues to take up space on the hard disk. A similar problem is observed if the docker image is created with the same tag (for example, latest) — and this is common for the CI process. In this case, when building a new sample, the old one is not deleted (as expected), it simply loses the tag (latest). For example, the image actually has 2 versions stored on the hard disk:

ls /data/registry/docker/registry/v2/repositories/project/repo-name/_manifests/tags/
1.73.67  2.66.2  2.67.1  2.70.5  2.71.8   2.72.12  2.72.9  2.73.4  2.73.8   2.74.11  2.74.14  2.74.17  latest
2.65.3   2.66.3  2.70.3  2.71.6  2.72.10  2.72.13  2.
@karagi4
karagi4 / README-rsyslog-with-relp.md
Created January 18, 2021 12:36 — forked from drmalex07/README-rsyslog-with-relp.md
Configure Rsyslog to use RELP for remote logging. #rsyslog #relp #logging
@karagi4
karagi4 / grafana-telegram-bot.md
Last active December 21, 2020 06:56 — forked from kkirsanov/grafana-telegram-bot.md
Как подключить telegram-бота к графане
  1. Cоздаем своего бота: Ищем в телеграмме бота @BotFather и говорим /newbot. В процессе создания получаем api-key для бота
  2. Добавляем в интересующий нас чат этого бота
  3. В этот же чат добавляем бота @myidbot и говорим ему /getgroupid@myidbot. Эта команда даст нам id чата (он должен начинаться с тире -)
  4. В настройках Notification Channel графаны выбираем telegram и пишем туда полученные ранее api-key и id чата

API ключ — секретный код, который позволяет настроить связь с ботом вне клиента Telegram. Чтобы узнать API ключ для своего бота необходимо:

  1. Перейти в системного бота @BotFather.
  2. Отправить в диалог с @BotFather команду /mybots
  3. Выбрать из клавиатуры под сообщением юзернейм необходимого бота