Skip to content

meese-os/meeseOS

Repository files navigation

meeseOS logo


Active issues on DeepSource Resolved issues on DeepSource Gitter

This redesign of my website would not be possible without the incredible work by Anders Evenrud on OS.js. As you can see in the majority of the files, this monorepo is a modified amalgamation of the OS.js source code.

Setup

  • Run the following commands and update the generated files with your own information:
    • cp apps/old-site/.env.template apps/old-site/.env
    • cp apps/terminal/scripts/.env.template apps/terminal/scripts/.env
    • cp website/src/client/.env.template website/src/client/.env
    • cp website/src/server/auth/template.env.json website/src/server/auth/.env.json
  • bash ./scripts/setup.sh

Deploy

  • bash ./scripts/deploy.sh
    • Can use --no-reset for local deployment testing, so you don't lose your changes
  • Running pm2 monit will allow you to track when the server has finished initializing

For more information, see this guide.

Troubleshooting

If you encounter the error EADDRINUSE, Address already in use on Windows, run taskkill /F /IM node.exe.

To see if the port is already in use on Linux, run netstat -tulpn | grep LISTEN. If you need to free the port, you can likely run sudo pkill -9 node. Alternatively, you can run the command sudo fuser -k 8000/tcp until there is no output, then the port will be guaranteed to be free.

To see if your process is still runninng, run pm2 list.

To monitor the logs from your process, run pm2 monit.

Development

Actions

To run GitHub Actions locally, do the following:

Linux

  1. curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
  2. sudo ./bin/act -s GITHUB_TOKEN=ENTER_YOUR_PAT_HERE
  3. Select "Medium" as the image size

Windows

  1. winget install nektos.act
  2. Open a new terminal
  3. Ensure that Docker Desktop is running
  4. docker pull catthehacker/ubuntu:act-latest
  5. act --pull=false -s GITHUB_TOKEN=ENTER_YOUR_PAT_HERE
  6. Select "Medium" as the image size

Publishing

To publish changes to MeeseOS, use the following command:

rush --debug publish --publish --include-all --set-access-level public

You can specify which registry you want to publish by adding one of the following flags:

  • GitHub Packages: --registry https://npm.pkg.github.com
  • NPM: --registry https://registry.npmjs.org

If you want to do a dry run first, run rush publish --include-all.

TODO

  • Caching for "rush-project.json"
    • "Project does not have a rush-project.json configuration file, or one provided by a rig, so it does not support caching."
    • "rush build --verbose"