No Description

ghorsington 1b9a8ac3c1 Update packages; refactor 2 years ago
.vscode 1b9a8ac3c1 Update packages; refactor 2 years ago
src 1b9a8ac3c1 Update packages; refactor 2 years ago
.dockerignore 5659b6b193 Initial commit 4 years ago
.gitignore 1b9a8ac3c1 Update packages; refactor 2 years ago
Dockerfile 1b9a8ac3c1 Update packages; refactor 2 years ago
README.md 1b9a8ac3c1 Update packages; refactor 2 years ago
docker-compose.yml 1b9a8ac3c1 Update packages; refactor 2 years ago
ftp.env.template df92ad9db9 Add ability to specify the publichost to connect to 4 years ago
package-lock.json addf1db0f9 Remove BulmaCSS, move to TailwindCSS instead 3 years ago
package.json a99d23723b Minify style 3 years ago
requirements.txt 1b9a8ac3c1 Update packages; refactor 2 years ago
tailwind.config.js addf1db0f9 Remove BulmaCSS, move to TailwindCSS instead 3 years ago

README.md

BepInbuilds

Builds distribution website for BepInEx and other distributions

How to run

  1. Rename ftp.env.template to ftp.env and specify the FTP credentials you want to use
    • Note: Also specify PUBLICHOST which is the public IP address (or host address) that is used to connect to the FTP server. This is needed for passive mode to work.
    • Optional: Edit docker-compose.yml to set ports to the webapp and FTP servers
  2. Run docker-compose build to build the images
  3. Run docker-compose up to start

This will create volume bepisbuilds_builds-volume (assuming the working dir of this project is bepisbuilds) which is used to store build artifacts.

Note: Passive connection mode of FTP might not work. In addition, you might want to remap the ports in compose yml.

Builds folder layout

BepisBuilds detects and displays projects based on the folder layout of the the builds folder. In case of Docker, the builds folder is the volume.

Note: The FTP container is set up so that the root folder it displays is automatically the builds folder. All paths below are relative to that.

Projects

Each project must be in folder named <project_name>. In addition, <project_name>/info.json must exist with the following contents:

{
    "name": "Display name of the project"
}

If <project_name>/index.md exists, BepisBuild will display the rendered contents of the file on the project page.

Builds and artifacts

For each build, the artifacts must be stored in <project_name>/artifacts/<build_id> folder.
The artifacts must be placed into the build folder along with info.json that has the following example contents:

{
    "id": 102,
    "date": "10.20.2019",
    "changelog": "<ul><li>This is a changelog that is put as-is into the page</li></ul>",
    "artifacts": [
        {
            "file": "FileOne.file",
            "description": "First file"
        },
        {
            "file": "FileTwo.file",
            "description": "Second file"
        }
    ]
}