Skip to content

Instantly share code, notes, and snippets.

View pacohigh's full-sized avatar
🎯
Focusing

Pascal Lanoix pacohigh

🎯
Focusing
View GitHub Profile
@rameerez
rameerez / kamal-production-server-setup.sh
Last active May 2, 2025 14:13
Set up a Ubuntu server to deploy Kamal 2.x Docker containers to, hardened security and production ready
#!/bin/bash
# Production Docker Host Hardening Script v2
# For Ubuntu Server 24.04 LTS (Noble)
# Suitable for both Kamal deployment and builder hosts
set -euo pipefail
IFS=$'\n\t'
# --- Constants ---
@rameerez
rameerez / postgres-production-setup.sh
Last active April 17, 2025 12:26
PostgreSQL Production Server Setup - Set up a new Ubuntu Server 24.04 LTS machine to run a production Postgres server
#!/bin/bash
# This script takes a clean Ubuntu Server 24.04 LTS image and installs and configures
# everything needed to deploy a production-ready PostgreSQL server.
set -euo pipefail
# --- AESTHETICS ---
GREEN='\033[0;32m'
@rameerez
rameerez / exit_the_cloud.md
Last active April 22, 2025 22:12
☁️ How I got off the cloud and migrated everything from AWS to a VPS in Hetzner

☁️ How I got off the cloud and migrated everything from AWS to a VPS in Hetzner

This is an opinionated handbook on how I migrated all my Rails apps off the cloud and into VPS.

This is how I manage real production loads for my Rails apps. It assumes:

  • Rails 7+
  • Ruby 3+
  • PostgreSQL
  • Ubuntu Server 24.04
  • Capistrano, Puma, Nginx
@davestevens
davestevens / slack_notify.rake
Created February 18, 2015 18:15
Capistrano Slack integration.
# Capistrano Task that hooks into `deploy:finished` to send a message to Slack
#
# 1. Setup a Slack Incoming Webhook Integration (https://api.slack.com/incoming-webhooks)
# 2. Put the Webhook URL in an Environment variable (SLACK_WEBHOOK_URL)
# 3. Place this file in `lib/capistrano/tasks`
#
# This will then create a new message in the channel on deployment, including who, what and where information
require "net/http"
require "json"
fr:
admin:
js:
true: Vrai
false: Faux
is_present: Est présent
is_blank: Est vide
date: Date ...
between_and_: Entre le ... et le ...
today: "Aujourd'hui"