No description
Find a file
2025-02-05 17:28:08 -05:00
public
src
.dockerignore
.gitignore
astro.config.mjs
bun.lock
bunfig.toml
config.json
docker-compose.yml
Dockerfile
LICENSE
package.json
README.md
tsconfig.json


ButterflyVu

ButterflyVu is a documentation template built on the Astro Web Framework.

Development

bun will be used over npm in instructions.

Requirements

  • Git
  • Bun

Clone Repository

Start by cloning the repository to somewhere on your device using the git command:

git clone https://ark.sudovanilla.org/korbs/butterflyvu/
cd ./butterflyvu/

Install Packages

Install required packages so you can run the project:

bun install

Run

Run the website with the run command:

bun start

The website should start running at http://localhost:2014.

If the website is not running and an error appears, troubleshoot the problem by reading the error and try again. If the problem persist, submit an issue.

Hosting

Requirements

It is expected for the server admin to use the Docker method, as it is recommended, so please install the Docker Engine.

SudoVanilla does NOT recommend using the Docker Desktop application, as it is proprietary software.

A Docker Compose file is provided that can be used without needing to clone the repository. Download the file to it's folder somewhere on your disk and run it.

services:
  butterflyvu:
    image: oci.registry.sudovanilla.org/butterflyvu:latest
    volumes:
      - ./config.json:/app/config.json
      - ./docs/:/app/src/content/docs/
      - ./dists/:/app/dist/

  nginx:
    image: nginx:latest
    restart: always
    ports:
      - 4242:80
    volumes:
      - ./dists/:/usr/share/nginx/html/

Overriding Components

Since ButterflyVu is written in Astro and the site is built during each startup in Docker, overriding the components is easy. Now for, overriding the header will be shown, it's pretty much the same basics for other components.

This also works for any other part of ButterflyVu, such as for the layouts and styles. This will be expanded on once the ButterflyVu documentations are written on it's own site, ironic that it hasn't been built yet, right?

Header

In the docker-compose.yml file, add a path to the volumes section to your custom header:

  - ./components/Header.astro:/app/src/components/global/Header.astro

The file must be an .astro file, anything else like .jsx will not work.

If you already have the custom header written and it's ready for showtime, just run the Docker image again and the new header will be built with the site.


A SudoVanilla Project