How to Configure Traefik to Serve Your Hugo Site on Alpine Linux

You can configure Traefik to serve your Hugo site. Here’s a step-by-step guide to set this up:

1. Install Docker and Docker Compose

If Docker and Docker Compose are not already installed on your Alpine Linux VM, you can install them with the following commands:

sudo apk add docker
sudo apk add docker-compose

2. Create a Docker Compose File

Create a docker-compose.yml file for your Hugo site. This file will define your Hugo service and the Traefik reverse proxy. Here is an example configuration:

version: '3'

services:
  hugo:
    image: klakegg/hugo:ext
    ports:
      - "1313:1313"
    volumes:
      - ./hugo:/src
    command: server --bind=0.0.0.0

  traefik:
    image: traefik:v2.5
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"

3. Configure Hugo Site

Create a directory named hugo and place your Hugo site files in this directory. Ensure that your Hugo site’s config.toml file has the correct baseURL set. For example:

baseURL = "http://your_domain.com/"

4. Deploy with Docker Compose

Navigate to the directory containing your docker-compose.yml file and run:

sudo docker-compose up -d

5. Configure DNS Settings

Update your DNS settings to point your domain to the VM’s IP address where Traefik is running. This typically involves setting up an A record or CNAME record with your domain registrar.

6. Access Your Hugo Site

Once everything is set up, you should be able to access your Hugo site externally by navigating to your domain (e.g., http://your_domain.com).

This setup will allow you to serve your Hugo site using Traefik as the reverse proxy.

Ready to serve your amazing Hugo site to the world? 🌐


Chuck Norris Joke: When Chuck Norris configures Traefik, all traffic routes itself out of respect.


Related Posts