restic-screenshot

Restic, On How to Backup Efficiently

This is a really interesting backup application to use, it kinda reminds me of git the version controlling tool. I mean restic is not gonna “version control” but it uses the same technology in a way that enables us to backup things without duplication. I’m using restic to backup the files in a sftp server. So this post is gonna cover the sftp aspects. However, I’m using a mobile phone as an ftp server, and I’m going to be using a weird directory name. ...

April 18, 2025
OpenMediaVault-screenshot

Open Media Vault (OMV) in R-Pi

How to install OpenMediaVault & troubleshoot errors after during installation or setup

April 14, 2025
pi5-box

Setting Up Raspberry Pi 5

I got my hands on the Raspberry Pi 5 few weeks ago, but I wasn’t able to use it for any purpose (more like I’m out of ideas). I mostly wanted to test the pihole in my network, but using Pi 5 just for that would be an overkill! So I got a Raspberry Pi Zero 2 W and installed Pihole natively. I wrote a post about it, feel free check-out. Also, when I ordered for the Raspberry Pi Zero 2 W, I forgot to order for a microSD, so I used the one in the Pi 5 which is a 64GB microSD card (I know it’s an overkill!). The entire Pi Zero is running just the Pihole with a 64GB microSD. ...

March 17, 2025

Installing Pihole in Raspberry Pi Zero 2W

I just got my hands on “Raspberry Pi Zero 2W” today, let’s setup the Pi! Setup the Pi Make sure to use pi-imager for writing the OS into the microSD. Also use a router as well for easy-setup. Choose “Raspberry Pi OS 32-bit with no desktop environment” for the OS. Make sure to edit the username & password, SSID configurations, enable SSH using authentication, additonally note-down the hostname for ssh connection. Insert the microSD into Pi Zero after the OS installation. Plug in the microUSB into Pi and wait for few seconds to boot up. Head inside the router web-page and look into the connected clients. Identify the hostname (default:“raspberrypi”) and note-down the IP address. Let’s ssh into the Pi! ssh username@192.168.31.xxx Now you are inside the Pi, please update & upgrade the packages in it for further installations. ...

March 13, 2025

Setup: A beginner `pi-hole` setup (Manual DNS Allocation for Each Device)

I don’t have enough knowledge about this when writing the documenation for setting up the pi-hole. I’m running this on a container in Raspberry Pi 5 8GB device (I know it’s an overkill but it’s for learning). Let’s use docker compose to run the pi-hole container Create directory for storing pi-hole configurations mkdir pihole-config cd pihole-config Create a file named docker-compose.yml touch docker-compose.yml Copy & paste this YAML configuration into docker-compose.yml services: pihole: container_name: pihole image: pihole/pihole:latest ports: - "53:53/tcp" # DNS Ports - "53:53/udp" # DNS Ports - "80:80/tcp" # Default HTTP Port - "443:443/tcp" # Default HTTPs Port - "67:67/udp" # using Pi-hole as your DHCP server environment: TZ: 'Asia/Kolkata' # Not setting one will result in a random password being assigned FTLCONF_webserver_api_password: 'pass' # If using Docker's default `bridge` network setting the dns listening mode should be set to 'all' FTLCONF_dns_listeningMode: 'all' volumes: # Pi-hole's databases and common configuration file - './etc-pihole:/etc/pihole' # Uncomment the below if you have custom dnsmasq config files that you want to persist. Not needed for most starting fresh with Pi-hole v6. If you're upgrading from v5 you and have used this directory before, you should keep it enabled for the first v6 container start to allow for a complete migration. It can be removed afterwards. Needs environment variable FTLCONF_misc_etc_dnsmasq_d: 'true' #- './etc-dnsmasq.d:/etc/dnsmasq.d' cap_add: # See https://github.com/pi-hole/docker-pi-hole#note-on-capabilities # Required if you are using Pi-hole as your DHCP server, else not needed - NET_ADMIN # Required if you are using Pi-hole as your NTP client to be able to set the host's system time - SYS_TIME # Optional, if Pi-hole should get some more processing time - SYS_NICE restart: unless-stopped Run the docker compose docker compose up -d Head inside the weblogin. i.e, http://localhost:80/admin (Note: Make sure the URL ends with /admin) Let’s setup the DNS address and connect other devices to use pi-hole Login into the pi-hole web login Goto Settings » DNS > Click the DNS of your liking in IPV4(I chose Open DNS) Let’s Connect from a Device pi-hole installed in 192.168.31.102, so make sure to point the devices to this IP address. Change the DNS manually on a specific connection. sudo nmcli connection modify device-name ipv4.dns "192.168.31.102" sudo nmcli connection reload sudo nmcli connection up device-name Check whether it’s actually allocated to the device ...

March 8, 2025

Instant Page Deploy Hugo

I noticed that I’m keep deploying many pages on Github and still looking at the documentation. So I decided to make a short documentation how to do it fast (keeping me from looking at the documentation) Create a hugo site in a specific directory you want: hugo new site sitename Replace the sitename with the actual sitename you want to create. Head inside the directory(hugo site) cd sitename git init Download a theme (we’re using holy theme here) git submodule add https://github.com/serkodev/holy.git themes/holy echo "theme = 'holy'" >> hugo.toml Let’s test it locally! hugo server Create a GitHub Repository Head inside the Repository on GitHub Goto Settings > Pages Change the Source settings to “GitHub Actions” Create a file named hugo.yaml inside .github/workflows mkdir -p .github/workflows touch .github/workflows/hugo.yaml Copy and paste the text into YAML file # Sample workflow for building and deploying a Hugo site to GitHub Pages name: Deploy Hugo site to Pages on: # Runs on pushes targeting the default branch push: branches: - main # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. concurrency: group: "pages" cancel-in-progress: false # Default to bash defaults: run: shell: bash jobs: # Build job build: runs-on: ubuntu-latest env: HUGO_VERSION: 0.144.2 steps: - name: Install Hugo CLI run: | wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ && sudo dpkg -i ${{ runner.temp }}/hugo.deb - name: Install Dart Sass run: sudo snap install dart-sass - name: Checkout uses: actions/checkout@v4 with: submodules: recursive fetch-depth: 0 - name: Setup Pages id: pages uses: actions/configure-pages@v5 - name: Install Node.js dependencies run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" - name: Build with Hugo env: HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache HUGO_ENVIRONMENT: production TZ: America/Los_Angeles run: | hugo \ --gc \ --minify \ --baseURL "${{ steps.pages.outputs.base_url }}/" - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: ./public # Deployment job deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 Head inside the root directory of your sitename hugo git add -A git commit -m "deploying the sitename" git push origin main

March 7, 2025

Goto: Open Source Android Applications to Use

Why Open Source? Well, why not? I like open source applications and I prefer using them over monopolized, propreitary or closed-source applications. I want to break the cyle and inspire people to use alternative and support FOSS in every possible way. besides I’m an open-source/FOSS enthusiast + a nerd (hehe) 1. droid-ify - F-Droid client with Material UI This is like a play-store for Open-Source applications. Finding the applications is a breeze! I have listed it because the downstream is easy after installing this application. ...

February 17, 2025