mirror of
https://github.com/revanced/revanced-api.git
synced 2025-05-01 23:24:39 +02:00
docs: Add Docker as a method to deploy
This commit is contained in:
parent
6c39353ef5
commit
e9badb4501
71
README.md
71
README.md
@ -68,24 +68,74 @@ API server for ReVanced.
|
|||||||
## ❓ About
|
## ❓ About
|
||||||
|
|
||||||
ReVanced API is a server that is used as the backend for ReVanced.
|
ReVanced API is a server that is used as the backend for ReVanced.
|
||||||
ReVanced API acts as the data source for [ReVanced Website](https://github.com/ReVanced/revanced-website) and powers [ReVanced Manager](https://github.com/ReVanced/revanced-manager) with updates and ReVanced Patches.
|
ReVanced API acts as the data source for [ReVanced Website](https://github.com/ReVanced/revanced-website) and powers [ReVanced Manager](https://github.com/ReVanced/revanced-manager)
|
||||||
|
with updates and ReVanced Patches.
|
||||||
|
|
||||||
## 💪 Features
|
## 💪 Features
|
||||||
|
|
||||||
Some of the features ReVanced API include:
|
Some of the features ReVanced API include:
|
||||||
|
|
||||||
- 📢 **Announcements**: Post and get announcements grouped by channels
|
- 📢 **Announcements**: Post and get announcements grouped by channels
|
||||||
- ℹ️ **About**: Get more information such as a description, ways to donate to, and links of the hoster of ReVanced API
|
- ℹ️ **About**: Get more information such as a description, ways to donate to,
|
||||||
|
and links of the hoster of ReVanced API
|
||||||
- 🧩 **Patches**: Get the latest updates of ReVanced Patches, directly from ReVanced API
|
- 🧩 **Patches**: Get the latest updates of ReVanced Patches, directly from ReVanced API
|
||||||
- 👥 **Contributors**: List all contributors involved in the project
|
- 👥 **Contributors**: List all contributors involved in the project
|
||||||
- 🔄 **Proxy**: A proxy to an old API for migration purposes and backwards compatibility
|
- 🔄 **Proxy**: A proxy to an old API for migration purposes and backwards compatibility
|
||||||
|
|
||||||
## 🚀 How to get started
|
## 🚀 How to get started
|
||||||
|
|
||||||
1. Clone the repository
|
ReVanced API can be deployed as a Docker container or used standalone.
|
||||||
2. Set up the environment variables in a `.env` file using the `.env.example` file as a template
|
|
||||||
3. Configure the `configuration.toml` file using the `configuration.toml.example` file as a template
|
## 🐳 Docker
|
||||||
4. Run the server using `gradlew run --args=start`
|
|
||||||
|
To deploy ReVanced API as a Docker container, you can use Docker Compose or Docker CLI.
|
||||||
|
The Docker image is published on GitHub Container registry,
|
||||||
|
so before you can pull the image, you need to [authenticate to the Container registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-to-the-container-registry).
|
||||||
|
|
||||||
|
### 🗄️ Docker Compose
|
||||||
|
|
||||||
|
1. Create an `.env` file using [.env.example](.env.example) as a template
|
||||||
|
2. Create a `configuration.toml` file using [configuration.example.toml](configuration.example.toml) as a template
|
||||||
|
3. Create a `docker-compose.yml` file using [docker-compose.example.yml](docker-compose.example.yml) as a template
|
||||||
|
4. Run `docker-compose up -d` to start the server
|
||||||
|
|
||||||
|
### 🐳 Docker CLI
|
||||||
|
|
||||||
|
1. Create an `.env` file using [.env.example](.env.example) as a template
|
||||||
|
2. Create a `configuration.toml` file using [configuration.example.toml](configuration.example.toml) as a template
|
||||||
|
3. Start the container using the following command:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
docker run -d --name revanced-api \
|
||||||
|
# Mount the .env file
|
||||||
|
-v $(pwd)/.env:/app/.env \
|
||||||
|
# Mount the configuration.toml file
|
||||||
|
-v $(pwd)/configuration.toml:/app/configuration.toml \
|
||||||
|
# Mount the persistence folder
|
||||||
|
-v $(pwd)/persistence:/app/persistence \
|
||||||
|
# Expose the port 8888
|
||||||
|
-p 8888:8888 \
|
||||||
|
ghcr.io/revanced/revanced-api:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🖥️ Standalone
|
||||||
|
|
||||||
|
To deploy ReVanced API standalone, you can either use the pre-built executable or build it from source.
|
||||||
|
|
||||||
|
### 📦 Pre-built executable
|
||||||
|
|
||||||
|
1. [Download](https://github.com/ReVanced/revanced-patches/releases/latest) ReVanced API to a folder
|
||||||
|
2. In the same folder, create an `.env` file using [.env.example](.env.example) as a template
|
||||||
|
3. In the same folder, create a `configuration.toml` file
|
||||||
|
using [configuration.example.toml](configuration.example.toml) as a template
|
||||||
|
4. Run `java -jar revanced-api.jar start` to start the server
|
||||||
|
|
||||||
|
### 🛠️ From source
|
||||||
|
|
||||||
|
1. Run `git clone git@github.com:ReVanced/revanced-api.git` to clone the repository
|
||||||
|
2. Copy [.env.example](.env.example) to `.env` and fill in the required values
|
||||||
|
3. Copy [configuration.example.toml](configuration.example.toml) to `configuration.toml` and fill in the required values
|
||||||
|
4. Run `gradlew run --args=start` to start the server
|
||||||
|
|
||||||
## 📚 Everything else
|
## 📚 Everything else
|
||||||
|
|
||||||
@ -95,14 +145,15 @@ Thank you for considering contributing to ReVanced API. You can find the contrib
|
|||||||
|
|
||||||
### 🛠️ Building
|
### 🛠️ Building
|
||||||
|
|
||||||
In order to build ReVanced API, follow these steps:
|
In order to build ReVanced API, Java Development Kit (JDK) and Git must be installed first.
|
||||||
|
Follow the steps below to build ReVanced API:
|
||||||
|
|
||||||
1. Clone the repository
|
1. Run `git clone git@github.com:ReVanced/revanced-api.git` to clone the repository
|
||||||
2. Run `gradlew build` to build the project
|
2. Run `gradlew build` to build the project
|
||||||
|
|
||||||
## 📜 Licence
|
## 📜 Licence
|
||||||
|
|
||||||
ReVanced API is licensed under the GPLv3 licence. Please see the [licence file](LICENSE) for more information.
|
ReVanced API is licensed under the AGPLv3 licence. Please see the [licence file](LICENSE) for more information.
|
||||||
[tl;dr](https://www.tldrlegal.com/license/gnu-general-public-license-v3-gpl-3) you may copy, distribute and
|
[tl;dr](https://www.tldrlegal.com/license/gnu-affero-general-public-license-v3-agpl-3-0) you may copy, distribute and
|
||||||
modify ReVanced API as long as you track changes/dates in source files.
|
modify ReVanced API as long as you track changes/dates in source files.
|
||||||
Any modifications to ReVanced API must also be made available under the GPL along with build & install instructions.
|
Any modifications to ReVanced API must also be made available under the GPL along with build & install instructions.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user