Photo by Wil Stewart on Unsplash

You know how I love Docker and try to move everything inside containers. But a couple days ago I got a system warning that I have about 1Gb left on the root partition. That was a surprise. At the time I was in a Zoom call. And the first thing that came to my mind was “eh, must be Zoom eating up space”. But in the span of 30 minutes 1Gb turned to 100Mb. So I panicked a little, turned everything off, rebooted and got angry that it was still less than 100Mb on .

Imagine my amazement when I…

Photo by Anne Nygård on Unsplash

“Here we go, another article on setting up some thing in Docker 😒”, you might think. This time it’s Kafka. And I wouldn’t write about it if it was that trivial.

Thanks to wurstmeister, we have separate docker images for Kafka and Zookeeper. But setting this up my way without docker compose is a task in and of itself.


We’ll need two volumes for this guy. You know how it goes, go to “Volumes” side-menu and smash the “Add volume” button. Name the first one , and the second one - .

Next go to the “Containers” side menu, click…

Photo by Chandler Cruttenden on Unsplash

As I promised in the previous post, here we’ll take a look at how to spin up an ELK. Let’s go! 🚀


Straight to the point: open Portainer. Go to “Containers” and smash the “Add container” button. Then look at the screenshot below and fill values for Name, Image, Ports and Volumes. Maybe change Restart Policy to Unless stopped. One mild difference is that you need to click on “Advanced mode” in order to be able to pull an image from Elastic hub. In the screenshot it says “Simple mode” since I already chose advanced.

Photo by Ibrahim Boran on Unsplash

I already wrote about my flow when I deploy one container per service and use it for all of my projects. So it’s easier to get a development process up to speed.

This time I’ll tell you about connecting containerized services so they can talk to each other. And we’ll start with somewhat easy things like Prometheus and Grafana. And after that it will be a no-brainer for us to spin up an ELK stack. Let’s go! 🚀

All code examples and configs are available on my GitHub repo.

If you didn’t know what Prometheus is used for — it…

Photo by Dominik Lückmann on Unsplash

When we develop something we all need to use some services such as PostgreSQL, Redis, RabbitMQ and many-many others. But I don’t like the idea of installing each and every one of them on my local machine. So the idea of dockerizing everything looks very appealing.

In this article I’ll show how to deploy three mentioned services locally with docker. And, as a bonus, easy way of configuring and monitoring our containers park via Portainer.

Bonus first

Portainer is such a great and powerful tool that I just love! Let’s set it up and ease our next steps.

You need to create…

Photo by Avel Chuklanov on Unsplash

Below are just things to remember and do when installing two OS’es. Because I’m always forgetting something and then thinking “I should’ve written this down as a step-by-step guide” 😌.

Order matters

Always install Windows first, and then Arch. That way Win will create a boot partition and other stuff it needs. So when installing Arch you just need to create partitions for and .

Separate drives

Yes, drives and is a salvation. That way you can keep games, downloads, documents, etc. when reinstalling Win. So just do that and install Windows on drive . And will be the "storage".

UTC time

Photo by Aron Visuals on Unsplash
Photo by Aron Visuals on Unsplash


Every day I track time on tasks I’m working on. My typical flow is write down a task number, description and time spent in a text document right after I’m done with that task. So at the end of the day I can just copy-paste that info in task tracker. But sometimes I sit there calculating how many hours of work I have left. Did I overwork? Or maybe I have couple of hours left to start another task? And that’s when I had an idea to write an app that would track all of it for me.

After I…

Photo by Markus Spiske on Unsplash

We all know and in function parameters. It says that are positional arguments however many you want to provide. And are keyword arguments, however many as well. We aren’t limited to name them and , it’s just everyone do it and it’s convenient to name them this way.

def foo(a, b, *args, **kwargs):
print([arg for arg in args])
print([f'{k}: {v}' for k, v in kwargs.items()])
foo(1, 2, 3, 4, f=5, g=6)
[3, 4]
['f: 5', 'g: 6']

and are our required arguments. and would be our

Возможно ли, чтобы работа сама нас искала?

Рекрутеры, после просмотра твоего резюме. Фото от Husna Miskandar на Unsplash.
Рекрутеры, после просмотра твоего резюме. Фото от Husna Miskandar на Unsplash.

Все мы периодически находимся в поиске работы. И бывает, что это занимает тонну времени и оставляет после себя кучу непросмотренных или оставшихся без ответа откликов. А если добавить сюда конкуренцию в IT сфере, то кажется, что лучше вообще зацепиться за одно место и сидеть не дёргаясь. Но есть же люди, которые буквально сидят и выбирают из сыплющихся в их почтовый ящик или телефон предложений. Я хочу помочь тебе стать тем человеком, кто выбирает.

Небольшое отступление: у меня не было и не предвидится профильного IT образования. Но тем не менее я смог сменить работу специалиста по экономической безопасности завода на разработчика…

On the way to a full stack dev


For the past 4 years I’ve been coding in Python and when it comes to web I always go with Django + Bootstrap and jQuery. I also know how to style a page with css but nothing super fancy. And I always stayed far away from modern SPAs and their frameworks/libraries such as React, Angular or Vue. I tried it once and the experience was horrible. I knew nothing about babel, webpack, yarn and how it all glues together. Not to mention arrow functions and destructuring in JS. But eventually I decided to try it one more time and spent…


переводчик-любитель | трачу два часа своего времени, чтобы тебе было чем заняться в течение пяти минут

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store