DCPrime’s Blog

Hello everyone! I am Darshil Chanpura, working as a DevOps engineer at IQM Corporation and a geek who is into many things related to many different platforms.

You’ll find a lot of learnings over the years here.

Restic Rest Server - gokrazy

Restic is a modern backup program for most of the Operating systems and more information about it is available on restic.net. Restic provides backends or repository options where the backups can be stored, one of that is Rest Server. The wrapper for rest-server is available at that-awesome-organization/gokrazy-restic-rest-server. Disk Setup Before running the rest-server we need to setup the disk so that it can be used directly. Directory We need a directory inside the external disk which can be used....

August 31, 2022

Drone Runner Docker - gokrazy

This post is not a complete guide to run drone-runner-docker with all code setup, instead if shows what problems I faced and how I fixed them. Purpose Drone is a CI Tool and to build or run the tasks mentioned in .drone.yml we need runners. There are different types of runners, docker, kubernetes, exec (script), etc. These workers are needed to be running on any instances where the main server is accessible....

April 29, 2022

Mattermost - gokrazy

Mattermost is an open source platform for secure collaboration across the entire software development lifecycle, and it can be self-hosted anywhere. ^[1] There are guides available on setting it up on DigitalOcean/EC2 etc. which are great and those have been inspiration for this post. To start with, we can see that the built packages are available for linux-amd64 and linux-arm64 (not metioned website), so we are off to a good start, but after checking the dependencies we can see that there are a lot of files that are needed, like web/, i18n/, etc....

January 23, 2022

gokrazy

This is more like an introductory post for gokrazy and it may update based on the use-cases and other things. The project gokrazy contains tools and commands for installing the applications and modifying them. From the site, gokrazy packs your Go application(s) into an SD card image for the Raspberry Pi 3 or 4 which — aside from the Linux kernel and proprietary Raspberry Pi bootloader — only contains Go software....

January 21, 2022

DNS and Systemd - Resolved!

DNS and Systemd Have you ever faced an issue that you get a good speed in https://speedtest.net or https://fast.com but still while opening any new page it takes a while? If the answer to that question is yes, then this post is worth reading and implementing. Background DNS has always been quite complicated for me, and somehow I always complain about ISP or the website that it’s not working. I am not sure if everyone will be having slow router/modem which doesn’t do DNS resolution properly, but that was in my case....

August 13, 2020

I am in Love with Go 😍

Background Recently due to a bug in our configuration (and lack of monitoring) the number of uWSGI log files were increasing every few minutes. We realized that it was mainly because of max log file size. Instead of adding it in 1000000 we just put 10MB assuming it took MB as input as well but it did not take that and by default it went up and took, 1kilo-byte and the log which it had was just “triggering rotation to filename”....

May 5, 2020

SSH Config

SSH Config I have been across this about two years back and I thought everyone would know how to use it. But turns out, at work I find it very useful and many of my co-workers are not aware of it entirely. This post will talk a bit about ssh_config and how it can make your life easier, assuming you use SSH very frequently. Also being a *nix user I don’t know if this will be useful for Microsoft Windows users....

September 15, 2019

WireGuard® - Simple yet powerful VPN

This post will mainly include a small introduction about WireGuard1 and most of the part will be about how I use it currently. What is WireGuard®? WireGuard is an alternative to OpenVPN for me. But from their website it has a lot of other features. WireGuard is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache....

May 31, 2019

Simple Deployment Agent

Introduction This post is mainly about a project which I carried out to achieve following simple tasks. Listen for an update. Execute some predefined tasks on update. Secure the listener with only some clients. To carry out these tasks the project has a listener which listens for a webhook called from a CI server once the updated code is tested and can be deployed. After the webhook, it executes the configured scripts or commands with arguments on the server which can be used to download a file (archive) from cloud and deploy to app server....

December 17, 2017

And that's how Telegram saved the day

This story is based on the challenges faced during the setup of infrastructure, its maintenance and monitoring. We recently added monitoring tool Grafana which helped us to get the KPIs of our applications running all over the infrastructure at one place. It was doing a great job and we added more and more parameters to it. Whenever we had any issues in servers or if traffic went down significantly we got alerts and we can check what went wrong and can start fixing it within minutes....

April 30, 2017