inotia00 / rvx-builder

A NodeJS ReVanced Extended builder
GNU General Public License v3.0
525 stars 48 forks source link

wiki(request): Docker-Compose Build Instructions for the Revanced-Documentation Wiki #41

Closed Spacellary closed 1 year ago

Spacellary commented 1 year ago

It could be based on this, with your own style to match of course. I can only speak for Windows 10/11 here:



These are the Windows 10/11 docker-compose instructions to run the rvx-builder in a clean docker container:

Please follow each step carefully and make sure you read everything.

  1. Install Git if you don't have it already. If you are not sure, install it.

  2. Install and open Docker Desktop, it has to be running in the background for you to be able to run the builder container. Wait for it to load completely.

If you're running Windows 11, you can open your PowerShell terminal and install both of the above requirements with this command:

winget install --id=Git.Git -e  && winget install --id=Docker.DockerDesktop -e --accept-package-agreements
  1. After you install both I recommend creating a new empty folder and performing the next steps inside it for better organization.

  2. Right click inside the newly created folder and select "Open in Terminal" or "Open PowerShell Here" in the context menu.

  3. Now that you have a Terminal running, run:

    git clone -b revanced-extended https://github.com/inotia00/rvx-builder --depth=1 --no-tags
  4. Then run this command to get from here to the rvx-builder directory:

    cd .\rvx-builder\

    Or manually reopen the Terminal inside the newly created rvx-builder repository folder.

  5. To start building with docker-compose run:

    docker-compose build --no-cache

    This can take a while, please wait for it to finish.

  6. After building, launch the container by running:

    docker-compose up -d

    In your browser open localhost:8000 to access the builder interface. Your built applications will be located in the revanced folder inside the the rvx-builder folder that is located in the folder you created in step 3.

  7. When you are done building your applications, to stop the container you can run:

    docker-compose down

    Once that is done you can also stop Docker Desktop and close your Terminal window now.

In the future when you're running the builder again, after starting Docker Desktop, you can open a Terminal inside the rvx-builder folder and start from step 7.



For advanced users:

Although it's recommended to build with the --no-cache flag, you don't necessarily have to unless you want to update the builder or just being safe, that way it will use the previous image to get you running the builder quickly.
If you run it in this fashion, to update the builder when you want to, open the Terminal inside the rvx-builder folder, do a git pull to be sure, and follow the docker-compose instructions to build again, and you really have to use the --no-cache flag this time.



Overall this method has the advantage of pulling directly from the repository at the time of build, so you will pull all the most recent commits even if they aren't yet in the release builds.

The main advantage is really the clean environment for building, that should be reproducible in any machine regardless of setup. Docker is amazing.

Spacellary commented 1 year ago

It tends to be a bit long because I wanted to make sure that even a user that is not accustomed to the Terminal could follow the instructions. Of course a minimal guide could be done, if targeting only the experienced users.

But anyways, @inotia00 so I think I have completed the instructions for docker-compose. What do you think so far?

inotia00 commented 1 year ago

i don't use docker However, this guide is valid enough and seems to be helpful to someone.

Leave a pull-request in md file format with a bit more refinement I'll add it to the wiki

Spacellary commented 1 year ago

@thiensniper My friend, what do you think of this for a docker-compose step-by-step for beginners? Since you also seem to be a docker user, I'd appreciate your input.

Spacellary commented 1 year ago

@inotia00 So I have updated the layout of the instructions, seems to me more readable and organized now.

What do you think of it here?

Also, it is not possible to make PR to the wiki itself, so where should I submit the PR? Make a new file in the rvx-builder extended branch?

If you want you can just use the gist raw to add it manually, that's fine also.

Maybe it's good enough?

inotia00 commented 1 year ago

I was too busy refactoring the patch code, so I can't add this to the wiki Thank you very much for taking the time to leave a PR :)

Spacellary commented 1 year ago

No problem, just wanna help out more people use ReVanced and the Extended patches. Keep up the good work and don't let some unfounded criticisms bother you.