Author: Ifraaz

  • How to Check and Enable Wake-on-LAN on Fedora

    How to Check and Enable Wake-on-LAN on Fedora

    Wake-on-LAN (WOL) allows you to power on a Fedora computer remotely by sending a specially formatted “magic packet” over the network. It is useful for remotely accessing a home server, desktop, or media center without leaving the machine running continuously.

    This guide explains how to check whether your network adapter supports WOL, enable it, make the setting persistent, and test that it works.

    Check the Network Interface

    First, identify your wired network interface:

    ip link

    In this example, the interface is named enp3s0.

    Run ethtool to inspect its capabilities:

    ethtool enp3s0

    If you see an error such as:

    netlink error: Operation not permitted

    run the command with sudo:

    sudo ethtool enp3s0

    The interface should also report an active network connection:

    Link detected: yes

    This confirms that the Ethernet connection itself is working.

    Check Wake-on-LAN Support

    Look for these two lines in the output:

    Supports Wake-on: pumbg
    Wake-on: d

    The Supports Wake-on line shows which wake-up methods the network adapter supports. The letter g represents wake-up using a magic packet.

    The Wake-on line shows the current configuration:

    • Wake-on: g — magic-packet WOL is enabled
    • Wake-on: d — WOL is disabled
    • Supports Wake-on: ...g... — the adapter supports magic-packet WOL

    In this example, the adapter supports WOL, but it is currently disabled.

    Enable Wake-on-LAN Temporarily

    Enable magic-packet wake-up with:

    sudo ethtool -s enp3s0 wol g

    Verify the setting:

    sudo ethtool enp3s0 | grep -i wake

    The expected output is:

    Supports Wake-on: pumbg
    Wake-on: g

    This setting may be lost after reboot or when the network connection is restarted, so configure it persistently if you plan to use WOL regularly.

    Make the Setting Persistent

    Fedora commonly manages network connections through NetworkManager. List the available connections:

    nmcli connection show

    Identify the wired connection associated with enp3s0. Then configure it to use magic-packet Wake-on-LAN:

    sudo nmcli connection modify "CONNECTION_NAME" 802-3-ethernet.wake-on-lan magic

    Replace CONNECTION_NAME with the actual connection name shown by nmcli.

    For example:

    sudo nmcli connection modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic

    Reactivate the connection:

    sudo nmcli connection up "CONNECTION_NAME"

    Finally, verify the configuration:

    sudo ethtool enp3s0 | grep -i wake

    You should see:

    Wake-on: g

    Find the Computer’s MAC Address

    A Wake-on-LAN packet must be sent to the computer’s network adapter MAC address. Display it with:

    ip link show enp3s0

    Look for a line similar to:

    link/ether 00:11:22:33:44:55

    The value after link/ether is the MAC address you will use when sending the magic packet.

    Test Wake-on-LAN

    Before testing, shut down the Fedora computer:

    systemctl poweroff

    From another computer or mobile device on the same local network, send a Wake-on-LAN magic packet to the Fedora machine’s MAC address.

    If the computer powers on, Wake-on-LAN is working correctly.

    The sending device may require:

    • The target MAC address
    • The local broadcast address, often something like 192.168.1.255
    • UDP port 9 or 7

    The exact procedure depends on the operating system or WOL application you use.

    Troubleshooting

    If the computer does not wake, check the following:

    1. Confirm WOL is enabled before shutdown: sudo ethtool enp3s0 | grep -i wakeThe output should include: Wake-on: g
    2. Enable WOL in the BIOS or UEFI.
      Look for settings named:
      • Wake on LAN
      • Power On by PCI-E
      • Resume by LAN
      • PCIe Device Power On
    3. Use a wired Ethernet connection.
      Wake-on-LAN is generally more reliable over Ethernet than Wi-Fi.
    4. Keep the Ethernet cable connected.
      The network adapter must remain powered while the computer is off.
    5. Check power-saving settings.
      Options such as ErP, Deep Sleep, or EuP may remove power from the network adapter during shutdown. Disable them if necessary.
    6. Make sure the packet is sent from the same network.
      Basic WOL testing is easiest when both devices are connected to the same LAN.

    Summary

    To check and enable Wake-on-LAN on Fedora:

    sudo ethtool enp3s0
    sudo ethtool -s enp3s0 wol g
    sudo ethtool enp3s0 | grep -i wake

    A successful configuration reports:

    Supports Wake-on: pumbg
    Wake-on: g

    The adapter in this example supports Wake-on-LAN, and enabling wol g activates magic-packet wake-up. For reliable use after reboots, configure the setting through NetworkManager and verify that WOL is also enabled in the system’s BIOS or UEFI.

  • How to Install Ventoy on a USB Drive from Fedora (The Easy Multi-Boot Way)

    How to Install Ventoy on a USB Drive from Fedora (The Easy Multi-Boot Way)

    Tired of constantly reformatting your USB stick every time you want to try a new Linux distro or install Windows? Meet Ventoy — the open-source tool that turns one flash drive into a multi-boot powerhouse.

    With Ventoy, you install it once. After that, you just copy ISO files onto the drive and boot them. No more “burning” images. Fedora, Ubuntu, Windows, recovery tools, whatever — they all show up in a clean boot menu.

    Here’s exactly how to set it up on Fedora.

    Why Ventoy?

    • Supports hundreds of tested ISOs (including all recent Fedora releases)
    • Works with both Legacy BIOS and UEFI (including Secure Boot)
    • You can still use the drive for normal file storage
    • Updating Ventoy later doesn’t wipe your ISOs

    Before You Start

    Critical warning: Installing Ventoy will completely erase the USB drive. Back up anything important first.

    Also double-check the device name. Choosing the wrong disk (like your internal hard drive) will wipe it. Always use the whole disk (/dev/sdb), never a partition (/dev/sdb1).

    Step 1: Download the Latest Ventoy

    As of July 2026, the current version is 1.1.17.

    Open a terminal and run:

    wget https://sourceforge.net/projects/ventoy/files/v1.1.17/ventoy-1.1.17-linux.tar.gz

    Optional but recommended — verify the download:

    sha256sum ventoy-1.1.17-linux.tar.gz

    The official SHA-256 should be:
    7fb4ed08cef6a6b4d39dd19260d8c80291a78dfdf9af7d461571e23cbbc43805

    You can also grab it from the official site: ventoy.net/en/download.html

    Step 2: Extract the Archive

    tar -xzf ventoy-1.1.17-linux.tar.gz
    cd ventoy-1.1.17

    Step 3: Identify Your USB Drive

    Plug in the flash drive, then list your block devices:

    lsblk

    Look for the drive that matches your USB’s capacity. Note the device name carefully (example: sdb or sdc).

    Unmount it if it’s already mounted:

    sudo umount /dev/sdX*

    (Replace sdX with your actual device.)

    Step 4: Install Ventoy

    The safest and most useful option includes Secure Boot support:

    sudo ./Ventoy2Disk.sh -i -s /dev/sdX
    • -i installs Ventoy
    • -s enables Secure Boot support (recommended on modern systems)

    The script will ask for confirmation twice. Type y both times.

    Other useful flags:

    • -I → force install (overwrites existing Ventoy)
    • -g → use GPT instead of MBR
    • -u → update an existing Ventoy installation (keeps your ISO files safe)

    What Happens After Installation?

    Ventoy creates two partitions on the drive. The large data partition is where you put your files.

    Simply copy ISO files onto that partition (drag and drop works fine). Ventoy will automatically detect them and list them in the boot menu, even if they’re in subfolders.

    You can also store regular documents, installers, or backups on the same drive — it won’t interfere with Ventoy.

    Extra Tips for Fedora Users

    • On first boot with Secure Boot enabled, you may need to enroll Ventoy’s key. The on-screen menu will walk you through it.
    • The data partition is formatted as exFAT by default. You can reformat it to NTFS, FAT32, or ext4 later if you prefer.
    • Want to update Ventoy in the future? Just run the same script with the -u flag. Your ISOs stay intact.
    • Minimum recommended size is 8 GB, but 32 GB or larger is much more practical for multiple ISOs.

    That’s It

    You’re done. Eject the drive, plug it into any computer, boot from USB, and enjoy a clean menu of every ISO you’ve added.

    Ventoy is one of those rare tools that genuinely makes life simpler. Once you try it, going back to traditional USB creators feels painful.

    Have fun experimenting with distros — and if you run into any issues, the official documentation at ventoy.net is excellent.

  • Remote Control Your Samsung Galaxy Note 20 Ultra from Fedora with scrcpy

    Remote Control Your Samsung Galaxy Note 20 Ultra from Fedora with scrcpy

    A complete guide to mirror and control your Note 20 Ultra from Fedora Linux with high performance, screen-off mode, autostart, and safe always-plugged-in usage.


    Why scrcpy?

    scrcpy is the best free and open-source tool for controlling Android devices from Linux. It offers:

    • Low latency
    • Full mouse + keyboard control
    • Audio support
    • No root required
    • Works over USB or Wi-Fi

    This guide is written specifically for Fedora + Galaxy Note 20 Ultra (SM-N986B), but it works with most modern Samsung phones.


    1. Install scrcpy on Fedora

    sudo dnf install android-tools
    sudo dnf copr enable zeno/scrcpy
    sudo dnf install scrcpy

    Enable USB debugging on your phone:

    1. Go to Settings → About phone → Software information
    2. Tap Build number 7 times
    3. Go back → Developer options
    4. Enable USB debugging

    Connect the phone via USB and accept the debugging prompt.


    2. High Performance + Screen Off Command

    This is the recommended command for best visuals, audio, and keeping the phone screen off while controlling it:

    scrcpy \
      --video-codec=h264 \
      --video-bit-rate=16M \
      --max-fps=60 \
      --audio-bit-rate=192K \
      --turn-screen-off \
      --stay-awake \
      --disable-screensaver \
      --power-off-on-close

    What the options do:

    • h264 → Most compatible codec on Fedora
    • 16M bitrate → Sharp image
    • 60 FPS → Smooth
    • --turn-screen-off → Phone screen stays black
    • --stay-awake → Prevents the phone from sleeping
    • --power-off-on-close → Turns the phone screen off when you close the scrcpy window

    3. Create a Startup Script

    Create a reliable script that waits for the phone and then launches scrcpy with the best settings:

    mkdir -p ~/bin
    nano ~/bin/start-scrcpy.sh

    Paste this:

    #!/bin/bash
    
    # Wait until the phone is connected
    while ! adb devices | grep -q "device$"; do
        sleep 2
    done
    
    # High quality + screen off + audio
    exec scrcpy \
      --video-codec=h264 \
      --video-bit-rate=16M \
      --max-fps=60 \
      --audio-bit-rate=192K \
      --turn-screen-off \
      --stay-awake \
      --disable-screensaver \
      --power-off-on-close

    Make it executable:

    chmod +x ~/bin/start-scrcpy.sh

    4. Create a Desktop Shortcut

    nano ~/Desktop/scrcpy.desktop

    Paste:

    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=Phone Control
    Comment=Control Note 20 Ultra with scrcpy
    Exec=/home/YOUR_USERNAME/bin/start-scrcpy.sh
    Icon=phone
    Terminal=false
    Categories=Utility;
    StartupNotify=false

    Replace YOUR_USERNAME with your actual username, then:

    chmod +x ~/Desktop/scrcpy.desktop

    Right-click the icon on the desktop → Allow Launching.


    5. Auto-start on Login (Optional)

    mkdir -p ~/.config/autostart
    nano ~/.config/autostart/scrcpy.desktop

    Use the same content as the desktop shortcut above (just change the path if needed).


    6. Handling Pattern Lock / Black Lock Screen

    Android protects the pattern/PIN lock screen, so scrcpy shows a black screen when the phone is locked. This is a security feature.

    Best workflow:

    1. Unlock the phone first (fingerprint or pattern)
    2. Then launch Phone Control
    3. The screen will turn off, but the phone stays unlocked and fully controllable

    7. Safe Always-Plugged-In Usage

    If you keep the phone connected most of the time:

    1. Go to Settings → Battery and device care → Battery → More battery settings
    2. Enable Protect battery (limits charge to 85%)

    Extra tips:

    • Use a good quality cable and charger
    • Keep the phone in a well-ventilated spot
    • Avoid covering it while charging

    This combination keeps the battery healthier over the long term.


    Final Recommended Script

    Here’s the complete polished version:

    #!/bin/bash
    
    while ! adb devices | grep -q "device$"; do
        sleep 2
    done
    
    exec scrcpy \
      --video-codec=h264 \
      --video-bit-rate=16M \
      --max-fps=60 \
      --audio-bit-rate=192K \
      --turn-screen-off \
      --stay-awake \
      --disable-screensaver \
      --power-off-on-close

    Summary

    You now have:

    • High-quality remote control of your Note 20 Ultra
    • Phone screen stays off while controlling
    • Desktop shortcut named Phone Control
    • Optional auto-start
    • Safe battery settings for always-plugged use

    This setup turns your Note 20 Ultra into a powerful secondary device you can control comfortably from Fedora.


    My Start Script

    1 Main 2 Virtual:

    #!/bin/bash
    
    while ! adb devices | grep -q "device$"; do
        sleep 2
    done
    
    VIDEO_OPTS=(
      --video-codec=h265
      --video-bit-rate=10M
      --max-fps=60
      --stay-awake
      --disable-screensaver
    )
    
    # 1. Home Assistant (portrait virtual)
    scrcpy "${VIDEO_OPTS[@]}" \
      --new-display=1080x1920 \
      --start-app=io.homeassistant.companion.android \
      --no-audio \
      --no-vd-system-decorations \
      --window-title="Home Assistant" &
    
    # 2. Main phone screen
    scrcpy "${VIDEO_OPTS[@]}" \
      --audio-bit-rate=192K \
      --turn-screen-off \
      --power-off-on-close \
      --window-title="Note20 Main" &
    
    # 3. Jellyfin (landscape virtual)
    scrcpy "${VIDEO_OPTS[@]}" \
      --new-display=1920x1080 \
      --start-app=org.jellyfin.mobile \
      --no-audio \
      --no-vd-system-decorations \
      --window-title="Jellyfin" &
    
    wait
  • Fastfetch + Docker Stats + Welcome on Terminal

    Fastfetch + Docker Stats + Welcome on Terminal

    # 1. Add the Fastfetch PPA
    sudo add-apt-repository ppa:zhangsongcui3371/fastfetch -y
    
    # 2. Update package list
    sudo apt update
    
    # 3. Install / Upgrade to the latest fastfetch
    sudo apt install fastfetch -y
    nano ~/.bashrc
    # =============================================
    # Fastfetch + Syndicate Network
    # =============================================
    
    if [[ $- == *i* ]]; then
        echo
        
        # Fastfetch
        fastfetch --logo ubuntu_small --color-keys blue
        
        # Custom Minimal Banner
        echo -e "\033[1;37m► Syndicate Network ◄\033[0m"
        echo -e "\033[1;36m   Welcome Back!\033[0m"
        echo -e "\033[38;5;239m──────────────────────────────────────────────\033[0m"
        echo
    fi
    # Docker Stats (shows for 8 seconds then returns to prompt)
        echo -e "\033[1;33m→ Docker Container Statistics (live for 8s):\033[0m"
        timeout 8s docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}" 2>/dev/null || echo "No running containers or Docker not available."
        echo
    fi
  • How to Install Docker, Deploy the Glance Dashboard, and Share It Over SMB on a Proxmox Ubuntu VM

    How to Install Docker, Deploy the Glance Dashboard, and Share It Over SMB on a Proxmox Ubuntu VM

    A complete, beginner-friendly guide for self-hosters who want a beautiful personal dashboard and easy network access to its config files.


    If you’re running Proxmox and have an Ubuntu VM, one of the most useful services you can spin up is Glance — a fast, lightweight, highly customizable self-hosted dashboard. It pulls together RSS feeds, weather, Reddit, Hacker News, YouTube channels, market data, Docker container status, server stats, and more into one clean interface.

    In this guide we’ll cover everything end-to-end:

    1. Enable SSH access
    2. Install the official Docker Engine on Ubuntu
    3. Deploy Glance using Docker Compose
    4. Share the Glance configuration folder over the network with Samba (SMB)

    This works on Ubuntu 22.04, 24.04, and 26.04.


    Prerequisites

    • An Ubuntu server or VM (this guide assumes a Proxmox VM)
    • Console access to the VM (via Proxmox web UI or physical console) for the initial SSH setup
    • Your username is syndicate and the Glance folder will live at /home/syndicate/glance (adjust paths if yours is different)

    Part 1: Enable SSH Access

    Most Ubuntu Server installations already have SSH enabled, but if you’re using a minimal image or need to set it up from scratch, follow these steps.

    1. Install the OpenSSH server (if it’s not already installed):

    sudo apt update
    sudo apt install openssh-server -y

    2. Start and enable the SSH service so it starts automatically on boot:

    sudo systemctl enable --now ssh

    3. Check that SSH is running:

    sudo systemctl status ssh

    You should see active (running).

    4. (Optional but recommended) Allow SSH through the firewall if you have UFW enabled:

    sudo ufw allow OpenSSH
    sudo ufw enable          # only if the firewall is not already active
    sudo ufw status

    5. Find your VM’s IP address:

    ip a

    Look for the IP under your main network interface (usually something like 192.168.x.x or 10.x.x.x).

    You can now connect from another computer using:

    ssh syndicate@YOUR_VM_IP

    Security tips:

    • Prefer SSH key authentication instead of passwords when possible.
    • Consider changing the default SSH port or restricting access with AllowUsers in /etc/ssh/sshd_config for extra security.
    • After making any changes to the SSH config, restart the service with sudo systemctl restart ssh.

    Once you can log in via SSH, the rest of the guide can be completed remotely.


    Part 2: Install Docker Engine

    SSH into your Ubuntu VM and run the following commands.

    # Update packages and install prerequisites
    sudo apt update
    sudo apt install ca-certificates curl -y
    
    # Add Docker’s official GPG key
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc
    
    # Add the Docker repository
    sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
    Types: deb
    URIs: https://download.docker.com/linux/ubuntu
    Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
    Components: stable
    Architectures: $(dpkg --print-architecture)
    Signed-By: /etc/apt/keyrings/docker.asc
    EOF
    
    # Install Docker Engine + Compose plugin
    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

    Recommended: Allow your user to run Docker without sudo:

    sudo usermod -aG docker $USER

    Log out and log back in (or reboot the VM) for the group change to take effect.

    Verify Docker is working:

    docker run hello-world

    You should see a success message.


    Part 3: Deploy the Glance Dashboard

    The easiest way is to use the official Docker Compose template.

    # Create the directory and download the official template
    mkdir -p ~/glance && cd ~/glance
    curl -sL https://github.com/glanceapp/docker-compose-template/archive/refs/heads/main.tar.gz | tar -xzf - --strip-components 2

    This creates a clean project structure containing:

    • docker-compose.yml
    • config/glance.yml and config/home.yml
    • .env and other supporting files

    You can optionally edit the config files now:

    nano config/home.yml      # widgets and layout
    nano config/glance.yml    # theme, pages, etc.
    nano docker-compose.yml   # change the published port if needed (default is 8080)

    Start Glance:

    docker compose up -d

    Check that it’s running:

    docker compose ps
    docker compose logs -f   # press Ctrl+C to exit

    Open a browser and go to:

    http://YOUR_VM_IP:8080

    You should see the Glance dashboard.

    Useful commands later:

    ActionCommand
    Stop Glancedocker compose down
    Restartdocker compose restart
    View logsdocker compose logs -f
    Update to latest versiondocker compose pull && docker compose up -d

    Part 4: Share the Glance Folder Over SMB (Samba)

    Being able to edit the Glance config files from your main computer is very convenient. We’ll set up a private Samba share for /home/syndicate/glance.

    1. Install Samba

    sudo apt update
    sudo apt install samba -y

    2. Create a Samba password for your user

    sudo smbpasswd -a syndicate
    sudo smbpasswd -e syndicate

    You’ll be prompted to set a Samba password (it can be different from your Linux password).

    3. Set correct ownership and permissions

    sudo chown -R syndicate:syndicate /home/syndicate/glance
    sudo chmod -R 775 /home/syndicate/glance

    4. Configure the share

    Edit the Samba configuration file:

    sudo nano /etc/samba/smb.conf

    Scroll to the bottom and add this section:

    [glance]
       comment = Glance Dashboard Config
       path = /home/syndicate/glance
       browseable = yes
       read only = no
       guest ok = no
       valid users = syndicate
       force user = syndicate
       force group = syndicate
       create mask = 0664
       directory mask = 0775

    Save and exit (Ctrl+O, Enter, Ctrl+X).

    5. Test and restart Samba

    testparm                  # check for syntax errors
    sudo systemctl restart smbd nmbd
    sudo systemctl enable smbd nmbd

    6. (Optional) Open the firewall

    If you’re using UFW:

    sudo ufw allow samba

    How to Access the Share

    From Windows
    Open File Explorer and type:

    \\YOUR_VM_IP\glance

    Log in with username syndicate and the Samba password you created.

    From macOS
    Finder → Go → Connect to Server → enter:

    smb://YOUR_VM_IP/glance

    From another Linux machine

    smbclient //YOUR_VM_IP/glance -U syndicate

    You can now edit config/home.yml, config/glance.yml, and other files directly from your main computer. After making changes, restart the container so Glance picks them up:

    cd ~/glance
    docker compose restart

    Final Tips

    • Always keep a backup of your config/ folder before making big changes.
    • If you want the share to be public (no password), change guest ok = yes and remove the valid users line — but this is less secure.
    • For production use, consider putting Glance behind a reverse proxy (Nginx Proxy Manager, Caddy, or Traefik) with HTTPS.
    • Glance is extremely lightweight, so it runs happily even on modest VMs.

    You now have SSH access, a fully working Glance dashboard running in Docker, and easy network access to its configuration files via SMB. Enjoy customizing your new personal command center!

    You now have a fully working Glance dashboard running in Docker, with easy network access to its configuration files via SMB. Enjoy customizing your new personal command center!

  • Live Cyber Attack Maps 2026 – Real-Time Threat Visualization

    Live Cyber Attack Maps 2026 – Real-Time Threat Visualization

    GLOBAL CYBER THREAT VISUALIZATION

    The digital battlefield never sleeps.
    Watch real-time cyber attacks unfolding across the planet.
    KASPERSKY CYBERTHREAT
    LIVE MAP
    Real-time malware detections and global attack visualization.
    CHECK POINT THREATCLOUD MAP
    MALWARE + PHISHING
    Clean real-time dashboard showing malware, phishing, and exploit attacks worldwide.
    RADWARE LIVE THREAT MAP
    DDoS + BOTNETS
    Strong focus on DDoS attacks and bot activity with excellent live statistics.
    ⚠️ These visualizations display only a portion of real-world traffic from each vendor’s sensors. For educational and monitoring purposes only.
    v2026
  • Proxmox VE 9.1.1 – TurnKey LXC Containers Cheatsheet

    Proxmox VE 9.1.1 – TurnKey LXC Containers Cheatsheet

    CategoryAppliance NameDescription
    Core / BasecoreMinimal Debian base with TurnKey tools, first-boot wizard, security & auto-config
    Core / BasetkldevTurnKey appliance build/dev environment (build your own custom ones)
    Networking / VPNopenvpnFull-featured OpenVPN server with client certs & easy setup
    Networking / VPNwireguardFast, modern WireGuard VPN server
    File Sharing / SyncfileserverSamba/NFS/WebDAV/rsync file server + web-based file manager (simple NAS)
    File Sharing / SyncowncloudSelf-hosted file sync/share & collaboration (ownCloud platform)
    File Sharing / SyncsyncthingContinuous peer-to-peer file synchronization (private Dropbox alternative)
    DatabasesmysqlMariaDB/MySQL relational database server
    DatabasespostgresqlAdvanced PostgreSQL object-relational database
    DatabasescouchdbApache CouchDB NoSQL document-oriented database
    DatabasesredisIn-memory key-value store / cache (ultra-fast)
    Web Server StackslampClassic LAMP: Apache + MariaDB + PHP/Python/Perl
    Web Server StackslappLAPP: Apache + PostgreSQL + PHP/Python/Perl
    Web Server Stacksnginx-php-fastcgiHigh-performance Nginx + PHP-FPM stack
    Web Server Stackslighttpd-php-fastcgiLightweight Lighttpd + PHP FastCGI
    Web Server StackstomcatApache Tomcat Java servlet/JSP container
    Web Server Stackstomcat-apacheTomcat behind Apache reverse proxy
    CMS / BloggingwordpressMost popular open-source blogging & CMS platform
    CMS / Bloggingjoomla4Modern Joomla CMS (v4) – user-friendly site builder
    CMS / Bloggingdrupal9Powerful, flexible Drupal CMS (v9)
    CMS / Bloggingconcrete-cmsConcrete CMS – flexible, developer-focused content management
    CMS / BloggingsilverstripeSilverStripe CMS & framework
    CMS / Bloggingtypo3TYPO3 enterprise-grade CMS
    Wikis / Knowledge BasesbookstackModern, beautiful, simple book-style wiki & knowledge base
    Wikis / Knowledge BasesdokuwikiEasy, no-DB file-based wiki engine
    Wikis / Knowledge BasesmediawikiWikipedia’s engine – powerful wiki with extensions
    Wikis / Knowledge BasesfoswikiEnterprise wiki with structured data & forms
    Dev Frameworks / RuntimesnodejsNode.js runtime + NPM + common tools
    Dev Frameworks / RuntimesdjangoDjango Python web framework with batteries included
    Dev Frameworks / RuntimesrailsRuby on Rails full-stack web framework
    Dev Frameworks / RuntimeslaravelLaravel PHP framework (elegant & modern)
    Dev Frameworks / RuntimessymfonySymfony PHP framework
    Dev Frameworks / RuntimescodeigniterLightweight CodeIgniter PHP framework
    Dev Frameworks / RuntimescakephpCakePHP rapid PHP development framework
    Dev Frameworks / RuntimesyiiframeworkYii PHP framework
    Dev Frameworks / Runtimesweb2pyFull-stack Python web framework
    DevOps / Git / CIgiteaLightweight self-hosted Git service (Gitea)
    DevOps / Git / CIgitlabFull GitLab CE: git hosting, CI/CD, issues, wikis
    DevOps / Git / CIjenkinsAutomation server for CI/CD pipelines
    Project / Issue TrackingredmineFlexible project mgmt, issue tracking, wiki, forums
    Project / Issue TrackingleantimeLean open-source project & task management
    Project / Issue TrackingmantisMantisBT bug & issue tracker
    Project / Issue TrackingbugzillaMozilla’s Bugzilla bug tracking system
    ERP / CRM / BusinessodooAll-in-one ERP/CRM/eCommerce/business apps suite
    ERP / CRM / BusinesssuitecrmOpen-source CRM (SugarCRM community fork)
    ERP / CRM / BusinessespocrmModern, lightweight CRM
    ERP / CRM / BusinessorangehrmHR management system
    E-commerceprestashopPopular open-source e-commerce platform
    E-commerceopencartFeature-rich OpenCart shopping cart
    E-commercebagistoLaravel-based eCommerce platform
    Media / Gallery / VideozoneminderProfessional video surveillance & CCTV recording
    Media / Gallery / VideoavideoVideo sharing/streaming platform (YouPHPTube fork)
    Media / Gallery / VideogalleryPhoto gallery & management system
    Forums / Social / ChatphpbbClassic phpBB forum software
    Forums / Social / ChatmattermostOpen-source team chat (Slack-like)
    Forums / Social / ChatmibewLive chat & helpdesk software
    Analytics / SurveysmatomoSelf-hosted web analytics (privacy-focused GA alt)
    Analytics / SurveyslimesurveyAdvanced online survey & polling tool
    Other Notableinvoice-ninjaInvoicing, billing & client management
    Other Notablesnipe-itIT asset/license management system
    Other NotablemoodleFull-featured learning management system (LMS)
    Other Notablemayan-edmsAdvanced document management system
    Other NotablephplistNewsletter & email campaign manager
    Other NotableetherpadReal-time collaborative text editor
    • Tips → Always apt update && apt full-upgrade after first boot. Use a reverse proxy LXC (e.g., Nginx Proxy Manager) for HTTPS.

  • APT sources for Debian Trixie

    APT sources for Debian Trixie

    Debian 13 (Trixie)

    nano /etc/apt/sources.list

    deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
    deb-src http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
    
    deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
    deb-src http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
    
    deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
    deb-src http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware

    Save and exit (Ctrl+O → Enter → Ctrl+X in nano).