# Vuepress

This platform was created using Vuepress (opens new window), nginx, and Docker.

Vuepress Docker (opens new window) image is built from the repo on Github (opens new window)

The Vuepress instance is hosted on one of my own servers which pushes the content to Github Pages (opens new window).

Code highlighting list by PrismJS (opens new window)

# Docker config

I no longer host this locally as it's not needed, but keeping the config below for reference.
Here's the docker stack file used to build on my swarm; it also includes a web server to view the website locally.
docker-compose.yml

version: "3.4"
services:
  vuepress:
    image: blasteh/vuepress
    environment:
      - USE_HOOK=1
      - GITHUB_REPO=github.com/blastehh/my_source_repo.git
      - GITHUB_TOKEN=mysecretkey
      - GITHUB_PUSH_REPO=github.com/blastehh/blastehh.github.io.git
      - PLUGINS="@vuepress/plugin-back-to-top"
    deploy:
      replicas: 1
      restart_policy:
        condition: any
      placement:
        constraints: [node.role != manager]
      update_config:
        delay: 30s
        order: start-first
    ports:
      - "9090:9000/tcp"
    volumes:
      - /mnt/srv/vuepress/src/:/root/src/
      - /mnt/srv/vuepress/html/:/root/html/
  web:
    image: nginx:stable-alpine
    depends_on:
      - vuepress
    deploy:
      replicas: 2
      restart_policy:
        condition: any
      update_config:
        delay: 30s
        order: start-first
      placement:
        constraints: [node.role != manager]
    ports:
      - "8080:80/tcp"
    volumes:
      - /mnt/srv/vuepress/html/:/usr/share/nginx/html/

Stack launched with the command:

docker stack deploy -c docker-compose.yml vuepress

Portainer (opens new window) was used to run this stack.

Last Updated: 2021/04/02 16:14+00:00