Skip to content

internetarchive/emularity-bios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1d4509c · Oct 2, 2024

History

12 Commits
Oct 2, 2024
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Apr 9, 2024
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Apr 10, 2024
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Apr 9, 2024
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023
Dec 22, 2023

Repository files navigation

IA S/W Emulation

How does this all work

The files are grouped and split up into 3 GitHub repositories (linked below) and corresponding deploys.

GitHub Actions

Internet Archive is using docker OCI containers to serve the repo files as static files, with a lightly customized nginx httpd server. Each deployed container is running on a nomad cluster.

Each git push to this repo will cause a GitHub Actions CI/CD pipeline to run. Presently, it does a [build] and [deploy] pair of jobs. (See CI/CD GitHub Action for more info.)

loader.js

The main ringleader from an archive.org/details/ page for a s/w emulation "item" will load loader.js.

browserFS

There is a parallel browserfs.min.js file that gets loaded alongside loader.js. It is used for node backend-like FileSystem operations like reading and writing files, in the context of the browser. Tracey thinks this came from here:

  • https://www.npmjs.com/package/browserfs and notes the browserfs.min.js* file pair have a fix from db48x after the v1.4.3. Likely worth looking into the near future if/as needed. browserFS can use "ES Modules" for JS import/loading via something like:
import BrowserFS from 'https://esm.sh/browserfs'

nginx

Each repo has the same layout, with all files starting at the top dir:

the nginx has a few critical changes for the handling of .gz files -- since nginx can also "gzip on the fly" text files as well. Thus, the browser needs to know if the file is being dynamically turned to a .gz file by nginx -- or if the file is being served as an already compressed .gz as a static file.

example items

current deployments - production, uses the production branch:

current deployments - testing, this one is for the main branch:

there are 3 related git repos & deployments:

prior archive.org source items with setup files:

About

archive.org software emulation

Resources

License

Stars

Watchers

Forks

Releases

No releases published