Skip to content

Instantly share code, notes, and snippets.

View ericfledderman's full-sized avatar
*️⃣
AKA "The Independent Variable"

Eric Fledderman ericfledderman

*️⃣
AKA "The Independent Variable"
View GitHub Profile
@ericfledderman
ericfledderman / ubuntu-2404-odoo.sh
Created October 25, 2025 14:21
Ubuntu 24.04 Server — Odoo 19 Installation
#!/usr/bin/env bash
# Odoo 19 + Postgres 16 via Docker on Ubuntu 24.04
# Usage: sudo ODOO_DOMAIN=example.com ODOO_ADMIN_PASS=changeme ODOO_DB_PASS=changeme ./install-odoo19-docker.sh
set -euo pipefail
[ "$(id -u)" -eq 0 ] || { echo "Run as root"; exit 1; }
ODOMAIN="${ODOO_DOMAIN:-}"
ADMIN_PASS="${ODOO_ADMIN_PASS:-changeme}"
DB_PASS="${ODOO_DB_PASS:-odoo19pass}"
@ericfledderman
ericfledderman / ubuntu-2404-harden.sh
Created October 25, 2025 14:08
Ubuntu 24.04 Server — Hardening
#!/usr/bin/env bash
# Harden Ubuntu 24.04 (non-interactive, idempotent)
# Usage: sudo ./harden-ubuntu2404.sh [-u NEWUSER] [-k "ssh-ed25519 AAA..."]
set -euo pipefail
NEWUSER="deploy"; PUBKEY=""
while getopts "u:k:" o; do case "$o" in u) NEWUSER="$OPTARG";; k) PUBKEY="$OPTARG";; esac; done
[ "$(id -u)" -eq 0 ] || { echo "Run as root"; exit 1; }
export DEBIAN_FRONTEND=noninteractive
apt-get update -y
@ericfledderman
ericfledderman / spod_openapi.json
Last active February 2, 2024 12:07
SPOD API — OpenAPI
{
"openapi": "3.0.2",
"info": {
"version": "0.1.0",
"title": "SPOD fulfillment service REST-API",
"contact": {
"name": "SPOD",
"email": "business@spod.com",
"url": "https://www.spod.com"
},
echo "Free Things 3"
echo "Removing current Thing 3 and its files..."
osascript -e 'quit app "things"'
rm -rf /Applications/Things3.app
rm -rf ~/Library/Caches/com.culturedcode.ThingsMac
rm -rf ~/Library/Containers/com.culturedcode.ThingsMac
rm -rf ~/Library/Preferences/com.culturedcode.ThingsMac.plist
@ericfledderman
ericfledderman / .git-commit-template.txt
Created July 9, 2018 16:50 — forked from adeekshith/.git-commit-template.txt
This commit message template helps you write great commit messages and enforce it across teams.
# <type>: (If applied, this commit will...) <subject> (Max 50 char)
# |<---- Using a Maximum Of 50 Characters ---->|
# Explain why this change is being made
# |<---- Try To Limit Each Line to a Maximum Of 72 Characters ---->|
# Provide links or keys to any relevant tickets, articles or other resources
# Example: Github issue #23