Skip to content

Instantly share code, notes, and snippets.

View valeriansaliou's full-sized avatar
💫
Per aspera ad astra

Valerian Saliou valeriansaliou

💫
Per aspera ad astra
View GitHub Profile
@valeriansaliou
valeriansaliou / certbot-with-nomad.Dockerfile
Last active September 8, 2024 07:38
Dockerfile: Certbot with Nomad
ARG CERTBOT_VERSION=2.11.0
FROM certbot/certbot:v${CERTBOT_VERSION}
ARG NOMAD_VERSION=1.5.8-r4
RUN apk add --no-cache nomad=${NOMAD_VERSION}
ENTRYPOINT ["certbot"]
@valeriansaliou
valeriansaliou / crisp-plugin-settings-save.js
Created April 23, 2024 19:02
Crisp Plugin frontend settings save
// Globals
var _message_source = null;
var _message_origin = null;
// Methods
var __receive_message = function(event) {
var _data = JSON.parse(event.data);
if (_data.type && _data.payload) {
// Store message parameters
@valeriansaliou
valeriansaliou / setup-vultr-alpine-nomad-cluster.sh
Last active November 10, 2024 12:26
Setup Nomad cluster on Alpine Linux on Vultr (1st boot script)
#!/bin/bash
# 1. Setup base dependencies
apk update
apk del ufw
apk add htop busybox-extras
# 2. Disable Swap
@valeriansaliou
valeriansaliou / server_tcp.cfg
Created August 6, 2022 06:56
OpenVPN server configuration
port 1194
proto tcp6-server
dev tun
local ::
ca ca.crt
cert server.crt
key server.key
@valeriansaliou
valeriansaliou / server_backup_s3.sh
Last active January 30, 2020 22:16
Personal server backup script, ran every Sunday in the early morning. It's 100% pipe-based, which means it never writes to disk as to buffer backup files before uploading them to S3. Useful to preserve SD card write cycles on a Raspberry Pi.
#!/bin/bash
BACKUP_DATE=$(date +"%Y-%m-%d_%H-%M-%S")
AWS_CONTAINER="s3://xxx-backup/xxx_backup"
AWS_DESTINATION="$AWS_CONTAINER/$BACKUP_DATE"
[email protected]
[email protected]
@valeriansaliou
valeriansaliou / routeros_configuration_orange.txt
Last active June 18, 2024 10:04
RouterOS / MikroTik router configuration export to connect to the Orange/Sosh Livebox 4 fiber ONT (IPv4 + IPv6)
# jan/13/2020 08:34:56 by RouterOS 6.46.1
#
# notes: \
# - wan to orange ont on ether1; \
# - lan to ap/switch on ether2; \
# - ipv4 + ipv6 w/ fw rules; \
# - using routeros dns cache for lan, proxying to the dns servers advertised by orange's dhcpv4 server; \
# - direct plug your computer w/ wireshark to your livebox 4 fiber ethernet port and reboot it, inspect the dhcpv4 packat in wireshark and extract the value of 'authsend'; \
# - the cos tag needs to be set to 6 to be accepted by the ont dhcpv4/v6 server (from default 0), this may not be required depending on your ont, check for the cos flag sent by your livebox 4 when sniffing its traffic
#
@valeriansaliou
valeriansaliou / rocksdb-deadlock.txt
Created March 31, 2019 08:56
RocksDB deadlock LOG
** File Read Latency Histogram By Level [default] **
2019/03/31-08:53:54.017088 7fc4977f6700 [WARN] [db/db_impl.cc:669] ------- DUMPING STATS -------
2019/03/31-08:53:54.017165 7fc4977f6700 [WARN] [db/db_impl.cc:670]
** DB Stats **
Uptime(secs): 41400.5 total, 600.0 interval
Cumulative writes: 17M writes, 17M keys, 17M commit groups, 1.0 writes per commit group, ingest: 13.88 GB, 0.34 MB/s
Cumulative WAL: 17M writes, 0 syncs, 17597384.00 writes per sync, written: 13.88 GB, 0.34 MB/s
Cumulative stall: 00:00:0.000 H:M:S, 0.0 percent
Interval writes: 0 writes, 0 keys, 0 commit groups, 0.0 writes per commit group, ingest: 0.00 MB, 0.00 MB/s
Interval WAL: 0 writes, 0 syncs, 0.00 writes per sync, written: 0.00 MB, 0.00 MB/s
@valeriansaliou
valeriansaliou / sonic-benchmark_batch-query.js
Created March 19, 2019 13:15
Sonic Benchmark: Batch QUERY
var mongoose = require("mongoose");
var SonicChannelSearch = require("sonic-channel").Search;
var MessageModel = mongoose.model("message", new mongoose.Schema({
website_id : String,
type : String,
content : Object
}));
var query_count = 0;
@valeriansaliou
valeriansaliou / sonic-benchmark_batch-push.js
Created March 19, 2019 13:15
Sonic Benchmark: Batch PUSH
var mongoose = require("mongoose");
var SonicChannelIngest = require("sonic-channel").Ingest;
var MessageModel = mongoose.model("message", new mongoose.Schema({
session_id : String,
website_id : String,
type : String,
content : Object
}));
@valeriansaliou
valeriansaliou / package.json
Last active April 23, 2021 06:40
Slack archived channels delete
{
"dependencies": {
"request-promise": "4.2.2",
"request": "2.83.0",
"promise-seq": "2.0.1"
}
}