Author: applegater
-
Docker + Docker Compose Installation Guide
Ubuntu Server 24.04.4 LTS (Intel / AMD)
Overview
This guide installs:
- Docker Engine
- Docker Compose v2
- Docker Buildx
- Automatic Docker startup at boot
Platform:
- Ubuntu Server 24.04.4 LTS
- Intel / AMD (x86_64)
Step 1 — Update Ubuntu
Update package lists and upgrade the system.
sudo apt update
sudo apt upgrade -y
Step 2 — Install Required Dependencies
Install packages required for secure repositories.
sudo apt install -y ca-certificates curl gnupg
Step 3 — Create Docker Keyring Directory
sudo install -m 0755 -d /etc/apt/keyrings
Step 4 — Add Docker Official GPG Key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgSet proper permissions:
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Step 5 — Add Docker Repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Step 6 — Update Package Index
sudo apt update
Step 7 — Install Docker Engine and Components
Install Docker Engine and related tools:
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Installed components include:
- docker-ce – Docker Engine
- docker-ce-cli – Docker command-line tools
- containerd – container runtime
- docker-buildx-plugin – advanced build tool
- docker-compose-plugin – Docker Compose v2
Step 8 — Enable Docker to Start Automatically
sudo systemctl enable docker
sudo systemctl start dockerVerify Docker service status:
systemctl status dockerPress Q to exit.
Step 9 — Verify Installation
Check Docker version:
docker --versionExample output:
Docker version 26.x.xCheck Docker Compose version:
docker compose versionExample output:
Docker Compose version v2.x.x
Step 10 — Test Docker Installation
Run a test container:
sudo docker run hello-worldExpected output:
Hello from Docker!This confirms Docker is working properly.
Step 11 — (Optional) Allow Docker Without sudo
Add your user to the Docker group:
sudo usermod -aG docker $USERThen log out and log back in or reboot the server.
Test:
docker ps
Example Docker Compose Test
Create a Test Directory
mkdir ~/docker-test
cd ~/docker-test
Create Compose File
nano docker-compose.ymlPaste the following:
services:
nginx:
image: nginx:latest
ports:
- "8080:80"Save and exit.
Start Container
docker compose up -d
Verify Container Running
docker psYou should see the nginx container running.
Open in Browser
http://SERVER-IP:8080You should see the Nginx welcome page.
Stop the Container
docker compose down
Useful Docker Commands
List running containers
docker psList all containers
docker ps -aView container logs
docker logs CONTAINER_NAMEStop a container
docker stop CONTAINER_NAMERemove a container
docker rm CONTAINER_NAME
Optional Tools (Recommended for Servers)
Common tools installed with Docker environments:
Tool Purpose Portainer Web UI for Docker management Nginx Proxy Manager Reverse proxy + SSL Watchtower Automatic container updates -
Turbocharge Your AppImages: Instant Boot & GPU Acceleration on Ubuntu
If you are running a powerhouse Linux setup—like the Intel Core Ultra 9 (Evo Edition) and an NVIDIA RTX 5050—you expect your apps to open instantly. However, AppImages often feel sluggish. Why? Because by default, they are compressed files that need to “unzip” into memory every single time you click them.
In this guide, I’ll show you how to bypass the compression, fix “Sandbox” errors, and force your NVIDIA GPU to handle the heavy lifting.
The Problem: The “Slow” Default
Standard AppImages use SquashFS compression. This saves disk space but costs CPU time. Even on an Ultra 9, that micro-delay is noticeable. Additionally, these apps often default to integrated Intel graphics instead of your dedicated RTX card.
The Solution: The “Extraction” Method
To get the best performance, we extract the AppImage to a permanent folder. This allows your NVMe SSD to feed the CPU directly without decompression overhead.
Step 1: Extract and Optimize
Instead of just running the file, open your terminal and run:
Bash
./your-app.AppImage --appimage-extract mv squashfs-root MyOptimizedAppStep 2: Fixing the “FATAL” Sandbox Error
When you extract an AppImage, the Chromium sandbox (used by apps like Discord, VS Code, and Obsidian) loses its security permissions. You’ll see a “setuid sandbox” error. Fix it with these commands:
Bash
sudo chown root:root ./MyOptimizedApp/chrome-sandbox sudo chmod 4755 ./MyOptimizedApp/chrome-sandbox
Step 3: Forcing the NVIDIA RTX 5050
To ensure your app isn’t lagging on integrated graphics, you need to tell Ubuntu to use NVIDIA Prime Offload. When creating your desktop launcher, use this command in the
Execline:env __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia ./AppRun
The “One-Click” Automation Script
If you have many AppImages, doing this manually is a pain. Here is a bash script I wrote that automates the whole process: it extracts the app, renames the folder, fixes security permissions, and creates a high-performance desktop launcher.
Bash
#!/bin/bash # High-Performance AppImage Optimizer for Ubuntu APP_DIR="/home/$USER/Applications" DESKTOP_DIR="/home/$USER/.local/share/applications" NEW_APP_PATH=$(readlink -f "$1") # 1. Extraction & Renaming read -p "Enter App Name (e.g., Discord): " APP_NAME read -p "Enter Folder Name (e.g., Discord_Extracted): " FOLDER_NAME cd "$APP_DIR" "$NEW_APP_PATH" --appimage-extract > /dev/null mv squashfs-root "$FOLDER_NAME" # 2. Fix Sandbox & GPU Setup sudo chown root:root "$APP_DIR/$FOLDER_NAME/chrome-sandbox" sudo chmod 4755 "$APP_DIR/$FOLDER_NAME/chrome-sandbox" # 3. Create High-Perf Launcher cat <<EOF > "$DESKTOP_DIR/${FOLDER_NAME,,}.desktop" [Desktop Entry] Type=Application Name=$APP_NAME Exec=env __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia $APP_DIR/$FOLDER_NAME/AppRun Icon=utilities-terminal Terminal=false Categories=Utility; EOF update-desktop-database "$DESKTOP_DIR" echo "✅ $APP_NAME is now optimized for RTX 5050!"
Summary of Benefits
Feature Default AppImage Optimized Method Startup Speed 3-5 Seconds Instant (<1s) GPU Integrated Intel NVIDIA RTX 5050 CPU Impact High (Decompressing) Low (Direct Execution) Conclusion
Don’t let compression throttle your high-end hardware. By extracting your AppImages and forcing GPU offloading, you can turn a sluggish utility into a snappy, desktop-integrated application that takes full advantage of the Intel Ultra 9 architecture.
Have questions about Linux optimization? Drop a comment below!
-
SOP: PS4 Extended Storage & Save Resigning on Non-Jailbreak with Save Wizard PS4 Max—Only works on 13.00 or below.
Method: Vue-After-Free
| Target: Non-Jailbroken PS4 Consoles
|Credit: ALL credit is in here ->README.md
| Link: https://github.com/Vuemony/vue-after-free📋 Prerequisites & Tools
Ensure you have all items listed below before starting. Missing one step in this chain will result in a “Data Corrupted” error on the PS4.
- Console: PS4 with an active internet connection.
- Network: Must use Earthonion DNS –
127.0.0.2or62.210.38.117. - PSN Account: A legitimate or “fake” activated user profile.
- Hardware: USB 3.0+ External Drive (HDD/SSD), minimum 256 GB.
- Software (PC): * BalenaEtcher (for image flashing).
- Save Wizard for PS4 MAX (for resigning).
- The Earthonion/VueExtStorage file package.
🛠️ Phase 1: Drive & App Preparation
Goal: Prepare the external storage so the PS4 recognizes the modified capacity.
- Flash the Image: Open BalenaEtcher on your PC and flash the
Earthonionimage onto your USB drive.
Note: The drive may show as 256GB initially; this is normal. - After you are done, flash Drive, USB Flash Drive plug in front of the USB port.
- Internal Move: On your PS4, move the PlayStation Vue app to the internal storage.
- Not have to—You can skip to Phase 2,
Format Drive: Connect the USB to the PS4. Navigate to Settings > Devices > USB Storage Devices and select Format as Extended Storage. - Not have to—You can skip to Phase 2,
Final Migration: Move the PlayStation Vue app from Internal Storage back onto the Extended Storage drive.
📤 Phase 2: Exporting the Base Save
Goal: Extract your unique profile signature so the PC software can recognize you.
- Generate Error: Launch PlayStation Vue. Wait for the error code to appear, then close the app.
- Export Save: Navigate to Settings > Application Saved Data Management > Saved Data in System Storage.
- Plug a different USB flash drive (ExFat) into the PS4’s second port.
- Transfer: Select Copy to USB Storage Device and choose the PlayStation Vue save file.
- Then unplug the USB flash drive from the PS4 and plug it into the laptop (32 GB or any of your preferred storage size for save game and Homebrew and payload.bin), not the external drive from Earthonion, which is a separate flash drive.
💻 Phase 3: PC Modification & Resigning
Goal: “Sign” the hack so your PS4 thinks you created it.
Part A: Directory Setup
- Connect the save game USB to your PC.
- Ensure the file path is exactly:
USB Drive > PS4 > SAVEDATA >4f73272fd28f38284 (my profile ID). And create a folder in SAVEDATA->1111111111111111for to do the resign to match your profile ID. - Copy the
CUSA00960folder from the Earthonion download into the1111111111111111folder.
Part B: Save Wizard Registration
- Open Save Wizard for PS4 and go to the Re-sign tab.
- Find CUSA00960, right-click your Profile/PSN ID, and select Register.
- Select the 1111111111111111 folder and click Resign.
- When prompted to overwrite the original, select Yes.
📥 Phase 4: Final Import & Bypass
Goal: Apply the modified data to the console.
- Plug the USB into the PS4.
- Go to Settings > Application Saved Data Management > Saved Data on USB Storage Device.
- Select Copy to System Storage and pick PlayStation Vue.
- Confirm the overwrite when prompted.
- Launch PlayStation Vue. The error should now be bypassed.
Troubleshoot:
Issue Potential Cause Solution Save not showing on PC Incorrect folder structure Ensure path is PS4 > SAVEDATA > [Numbers]>CUSA00960“Data Corrupted” on PS4 Profile mismatch Ensure you Registered your PSN ID in Phase 3, Part B. Drive capacity error Formatting sequence Repeat Phase 1; ensure the app is moved after the format.