Skip to content

Instantly share code, notes, and snippets.

View diegofcornejo's full-sized avatar
🪄
randomtechguy

Diego Cornejo diegofcornejo

🪄
randomtechguy
View GitHub Profile
@diegofcornejo
diegofcornejo / 1. MicroK8S Ubuntu.md
Last active June 1, 2025 06:18
How to Install MicroK8S on Ubuntu 24.04 (Single Node)

How to Install MicroK8S on Ubuntu 24.04 (Single Node)

Install MicroK8S

sudo snap install microk8s --classic

Add the current user to the microk8s group

@diegofcornejo
diegofcornejo / docker-compose.yml
Last active February 22, 2025 02:23
Deploy IPFS node with docker compose an expose with nginx
services:
ipfs:
image: ipfs/kubo:latest
container_name: ipfs
volumes:
- ./ipfs_path:/data/ipfs
- ./ipfs_export:/export
- ./ipfs_fuse:/ipfs
- ./ipns_fuse:/ipns
@diegofcornejo
diegofcornejo / docker-compose.yml
Created January 20, 2025 15:23
Neko rooms - docker compose
networks:
default:
attachable: true
name: "neko-rooms-net"
services:
neko-rooms:
image: "m1k1o/neko-rooms:latest"
restart: "unless-stopped"
environment:
@diegofcornejo
diegofcornejo / ec2-prometheus-node_exporter.md
Last active February 21, 2025 02:47
Install Prometheus and Node Exporter on EC2 Linux AMI 2023

Install Prometheus and Node Exporter on EC2 Linux AMI 2023

Prerequisites

Create prometheus user

sudo useradd -M -U prometheus

Install Node Exporter

@diegofcornejo
diegofcornejo / eml-download-attachments.js
Created December 16, 2024 20:27
Download attachments from EML file
const EmlParser = require('eml-parser');
const fs = require('fs');
const path = require('path');
// Define paths
const filesPath = 'files';
const resultsPathPrefix = 'results';
const timestamp = new Date().toISOString().replace(/[:]/g, '-').split('.')[0];
const resultsPath = path.join(resultsPathPrefix, timestamp);
@diegofcornejo
diegofcornejo / verify-pdf-signature.js
Created December 14, 2024 02:49
Verify PDF Signature
const verifyPDF = require('pdf-signature-reader-jpc');
const fs = require('fs');
const path = require('path');
// Define paths
const filesPath = 'files';
const resultsPathPrefix = 'results';
const timestamp = new Date().toISOString().replace(/[:]/g, '-').split('.')[0];
const resultsPath = path.join(resultsPathPrefix, timestamp);
const verifiedPath = path.join(resultsPath, 'verified');
@diegofcornejo
diegofcornejo / Dockerfile
Last active February 24, 2025 13:46
Cronicle Docker Compose
FROM docker:27.0
LABEL maintainer="BlueT - Matthew Lien - 練喆明 <[email protected]>"
# Docker defaults
ENV CRONICLE_VERSION 0.9.73
ENV CRONICLE_base_app_url 'http://localhost:3012'
ENV CRONICLE_WebServer__http_port 3012
ENV CRONICLE_WebServer__https_port 443
ENV EDITOR=nano
@diegofcornejo
diegofcornejo / 1. GRAFANA PINO DASHBOARD.md
Last active February 3, 2026 18:42
Grafana Dashboard for Pino HTTP Logs - Express JS example

Pino HTTP Logs Dashboard
This Grafana dashboard utilizes the Loki data source to visualize and analyze logs generated by the Pino logging library. Logs from HTTP requests are captured using the Pino-HTTP plugin and are sent to a Loki instance via the Pino-Loki plugin, enabling real-time monitoring and historical analysis. The dashboard includes graph and table panels to display key metrics such as request status codes, response times, and error rates, making it easy to track application behavior and identify performance issues.

Flow Overview:

  1. Pino: Captures structured logs in a JSON format.
  2. Pino-HTTP: Specifically designed to handle HTTP request/response logging, capturing details such as request method, URL, and status code.
  3. Pino-Loki: Transmits the
@diegofcornejo
diegofcornejo / README.md
Last active September 15, 2024 05:54
Install Prometheus, Loki and Promtail on Ubuntu 24.04 with Basic Auth

Install Prometheus, Loki and Promtail on Ubuntu 24.04 with Basic Auth

Prometheus Installation Guide

Install Prometheus and Node Exporter

apt -y install prometheus prometheus-node-exporter
@diegofcornejo
diegofcornejo / ipinfo.sh
Last active April 24, 2025 20:24
Get IP from bash
alias myip=ipinfo
ipinfo() {
# Check if an IP is passed as an argument
if [ -n "$1" ]; then
ip="$1"
data_ipinfo=$(curl -s "https://ipinfo.io/widget/demo/$ip")
# Only data from ipinfo if a custom IP is passed
jq -n \