Fix Hugo compatibility: update theme min version, add install script
This commit is contained in:
@@ -9,25 +9,62 @@ This guide explains how to deploy this Hugo website to an LXC container running
|
|||||||
- Git installed on container
|
- Git installed on container
|
||||||
- Domain name `dustin.coffee` pointing to container's IP address (or adjust baseURL in `hugo.toml`)
|
- Domain name `dustin.coffee` pointing to container's IP address (or adjust baseURL in `hugo.toml`)
|
||||||
|
|
||||||
## Step 1: Install Hugo on LXC
|
## Step 1: Install Hugo Extended on LXC
|
||||||
|
|
||||||
On the container, install Hugo (extended version recommended):
|
**Important**: This theme requires Hugo **extended** version ≥ 0.123.0. Ubuntu's default apt repository provides an outdated version (v0.123.7). You must install a newer extended version.
|
||||||
|
|
||||||
|
### Option A: Using installation script (Recommended)
|
||||||
|
|
||||||
|
Copy the `install-hugo.sh` script to your container and run it:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# For Arch Linux
|
# On your container, as root or with sudo:
|
||||||
sudo pacman -S hugo
|
chmod +x install-hugo.sh
|
||||||
|
./install-hugo.sh
|
||||||
# For Debian/Ubuntu
|
|
||||||
# sudo apt install hugo
|
|
||||||
|
|
||||||
# For other distributions, see https://gohugo.io/installation/
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Verify installation:
|
### Option B: Manual installation for Ubuntu/Debian
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Remove old Hugo if installed
|
||||||
|
sudo apt remove -y hugo
|
||||||
|
|
||||||
|
# Add Hugo APT repository
|
||||||
|
ARCH=$(dpkg --print-architecture)
|
||||||
|
echo "deb [arch=${ARCH} signed-by=/etc/apt/keyrings/hugo.gpg] https://hugo-apt.8hob.io latest main" | sudo tee /etc/apt/sources.list.d/hugo.list
|
||||||
|
sudo chmod 644 /etc/apt/sources.list.d/hugo.list
|
||||||
|
|
||||||
|
# Add signing key
|
||||||
|
sudo mkdir -p /etc/apt/keyrings
|
||||||
|
sudo wget -O /etc/apt/keyrings/hugo.gpg https://hugo-apt.8hob.io/signing-key
|
||||||
|
sudo chmod 644 /etc/apt/keyrings/hugo.gpg
|
||||||
|
|
||||||
|
# Pin repository priority
|
||||||
|
echo 'Package: hugo
|
||||||
|
Pin: origin "hugo-apt.8hob.io"
|
||||||
|
Pin-Priority: 520' | sudo tee /etc/apt/preferences.d/hugo
|
||||||
|
sudo chmod 644 /etc/apt/preferences.d/hugo
|
||||||
|
|
||||||
|
# Install Hugo Extended
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y hugo
|
||||||
|
|
||||||
|
# Install git (required for Hugo modules)
|
||||||
|
sudo apt install -y git
|
||||||
|
```
|
||||||
|
|
||||||
|
### Verify installation
|
||||||
|
|
||||||
|
Check that you have the extended version:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
hugo version
|
hugo version
|
||||||
|
hugo env | grep HUGO_EXTENDED
|
||||||
|
# Should show: HUGO_EXTENDED=true
|
||||||
```
|
```
|
||||||
|
|
||||||
|
If `hugo version` shows v0.123.7 or earlier, the installation failed. Try Option B or install the binary manually from [Hugo releases](https://github.com/gohugoio/hugo/releases).
|
||||||
|
|
||||||
## Step 2: Clone Repository
|
## Step 2: Clone Repository
|
||||||
|
|
||||||
Clone your git repository to a directory, e.g., `/srv/www/dustin.coffee`:
|
Clone your git repository to a directory, e.g., `/srv/www/dustin.coffee`:
|
||||||
|
|||||||
52
install-hugo.sh
Normal file
52
install-hugo.sh
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Install Hugo Extended on Ubuntu LXC container
|
||||||
|
# Run as root or with sudo
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "Installing Hugo Extended on Ubuntu..."
|
||||||
|
|
||||||
|
# Check current Hugo version
|
||||||
|
if command -v hugo &> /dev/null; then
|
||||||
|
echo "Current Hugo version:"
|
||||||
|
hugo version
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove old Hugo from apt if installed
|
||||||
|
echo "Removing old Hugo installation..."
|
||||||
|
apt remove -y hugo 2>/dev/null || true
|
||||||
|
|
||||||
|
# Add Hugo APT repository
|
||||||
|
echo "Adding Hugo APT repository..."
|
||||||
|
ARCH=$(dpkg --print-architecture)
|
||||||
|
echo "deb [arch=${ARCH} signed-by=/etc/apt/keyrings/hugo.gpg] https://hugo-apt.8hob.io latest main" | tee /etc/apt/sources.list.d/hugo.list
|
||||||
|
chmod 644 /etc/apt/sources.list.d/hugo.list
|
||||||
|
|
||||||
|
# Add signing key
|
||||||
|
mkdir -p /etc/apt/keyrings
|
||||||
|
wget -O /etc/apt/keyrings/hugo.gpg https://hugo-apt.8hob.io/signing-key
|
||||||
|
chmod 644 /etc/apt/keyrings/hugo.gpg
|
||||||
|
|
||||||
|
# Pin repository priority
|
||||||
|
cat > /etc/apt/preferences.d/hugo <<EOF
|
||||||
|
Package: hugo
|
||||||
|
Pin: origin "hugo-apt.8hob.io"
|
||||||
|
Pin-Priority: 520
|
||||||
|
EOF
|
||||||
|
chmod 644 /etc/apt/preferences.d/hugo
|
||||||
|
|
||||||
|
# Install Hugo Extended
|
||||||
|
echo "Updating package list and installing Hugo..."
|
||||||
|
apt update
|
||||||
|
apt install -y hugo
|
||||||
|
|
||||||
|
# Install git (required for Hugo modules)
|
||||||
|
apt install -y git
|
||||||
|
|
||||||
|
# Verify installation
|
||||||
|
echo "Verifying installation..."
|
||||||
|
hugo version
|
||||||
|
hugo env | grep HUGO_EXTENDED
|
||||||
|
|
||||||
|
echo "Hugo Extended installation completed successfully!"
|
||||||
|
echo "Run 'hugo version' to confirm."
|
||||||
@@ -20,5 +20,5 @@ title = 'My New Hugo Site'
|
|||||||
|
|
||||||
[module]
|
[module]
|
||||||
[module.hugoVersion]
|
[module.hugoVersion]
|
||||||
extended = false
|
extended = true
|
||||||
min = '0.146.0'
|
min = '0.123.0'
|
||||||
|
|||||||
Reference in New Issue
Block a user