mirror of
https://github.com/revanced/revanced-api.git
synced 2025-05-02 15:44:33 +02:00
build: Update dockerfile and env vars
This commit is contained in:
parent
0904390481
commit
9d816223fb
17
.env.example
17
.env.example
@ -1,15 +1,20 @@
|
|||||||
|
# File path to store configurations for the API
|
||||||
CONFIG_FILE_PATH=configuration.toml
|
CONFIG_FILE_PATH=configuration.toml
|
||||||
GITHUB_TOKEN=
|
# Optional token for API calls to the backend
|
||||||
|
BACKEND_API_TOKEN=
|
||||||
|
# An option URL to the old API to proxy for migration purposes
|
||||||
|
OLD_API_URL=
|
||||||
|
|
||||||
|
# Database connection details
|
||||||
DB_URL=jdbc:h2:./persistence/revanced-api
|
DB_URL=jdbc:h2:./persistence/revanced-api
|
||||||
DB_USER=
|
DB_USER=
|
||||||
DB_PASSWORD=
|
DB_PASSWORD=
|
||||||
|
|
||||||
JWT_SECRET=
|
# Basic authentication to issue JWT tokens
|
||||||
JWT_ISSUER=
|
|
||||||
JWT_VALIDITY_IN_MIN=
|
|
||||||
|
|
||||||
BASIC_USERNAME=
|
BASIC_USERNAME=
|
||||||
BASIC_PASSWORD=
|
BASIC_PASSWORD=
|
||||||
|
|
||||||
OLD_API_URL=
|
# JWT configuration for authenticated API endpoints
|
||||||
|
JWT_SECRET=
|
||||||
|
JWT_ISSUER=
|
||||||
|
JWT_VALIDITY_IN_MIN=
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -39,4 +39,3 @@ out/
|
|||||||
.env
|
.env
|
||||||
persistence/
|
persistence/
|
||||||
configuration.toml
|
configuration.toml
|
||||||
.db
|
|
40
Dockerfile
40
Dockerfile
@ -1,31 +1,19 @@
|
|||||||
FROM azul/zulu-openjdk:latest
|
# Build the application
|
||||||
|
FROM gradle:latest AS build
|
||||||
|
|
||||||
ARG CONFIG_FILE_PATH
|
ARG GITHUB_ACTOR
|
||||||
|
ARG GITHUB_TOKEN
|
||||||
|
|
||||||
ARG DB_URL
|
ENV GITHUB_ACTOR $GITHUB_ACTOR
|
||||||
ARG DB_USER
|
ENV GITHUB_TOKEN $GITHUB_TOKEN
|
||||||
ARG DB_PASSWORD
|
|
||||||
|
|
||||||
ARG JWT_SECRET
|
WORKDIR /app
|
||||||
ARG JWT_ISSUER
|
COPY . .
|
||||||
ARG JWT_VALIDITY_IN_MIN
|
RUN gradle publish --no-daemon
|
||||||
|
|
||||||
ARG BASIC_USERNAME
|
# Build the runtime container
|
||||||
ARG BASIC_PASSWORD
|
FROM eclipse-temurin:latest
|
||||||
|
|
||||||
ENV CONFIG_FILE_PATH $CONFIG_FILE_PATH
|
WORKDIR /app
|
||||||
|
COPY --from=build /app/build/libs/revanced-api-*.jar revanced-api.jar
|
||||||
ENV DB_URL $DB_URL
|
CMD java -jar revanced-api.jar $COMMAND
|
||||||
ENV DB_USER $DB_USER
|
|
||||||
ENV DB_PASSWORD $DB_PASSWORD
|
|
||||||
|
|
||||||
ENV JWT_SECRET $JWT_SECRET
|
|
||||||
ENV JWT_ISSUER $JWT_ISSUER
|
|
||||||
ENV JWT_VALIDITY_IN_MIN $JWT_VALIDITY_IN_MIN
|
|
||||||
|
|
||||||
ENV BASIC_USERNAME $BASIC_USERNAME
|
|
||||||
ENV BASIC_PASSWORD $BASIC_PASSWORD
|
|
||||||
|
|
||||||
COPY build/libs/revanced-api-*.jar revanced-api.jar
|
|
||||||
|
|
||||||
CMD java -jar revanced-api.jar start
|
|
||||||
|
@ -1,23 +1,13 @@
|
|||||||
version: "3.8"
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
revanced-api:
|
revanced-api:
|
||||||
container_name: revanced-api
|
container_name: revanced-api
|
||||||
image: ghcr.io/revanced/revanced-api:latest
|
image: ghcr.io/revanced/revanced-api:latest
|
||||||
volumes:
|
volumes:
|
||||||
- /data/revanced-api/persistence:/persistence
|
- /data/revanced-api/persistence:/app/persistence
|
||||||
- /data/revanced-api/configuration.toml:/configuration.toml
|
- /data/revanced-api/.env:/app/.env
|
||||||
|
- /data/revanced-api/configuration.toml:/app/configuration.toml
|
||||||
environment:
|
environment:
|
||||||
- CONFIG_FILE_PATH=configuration.toml
|
- COMMAND=start
|
||||||
- GITHUB_TOKEN=
|
|
||||||
- DB_URL=jdbc:h2:./persistence/revanced-api
|
|
||||||
- DB_USER=
|
|
||||||
- DB_PASSWORD=
|
|
||||||
- JWT_SECRET=
|
|
||||||
- JWT_ISSUER=
|
|
||||||
- JWT_VALIDITY_IN_MIN=5
|
|
||||||
- BASIC_USERNAME=
|
|
||||||
- BASIC_PASSWORD=
|
|
||||||
ports:
|
ports:
|
||||||
- 127.0.0.1:8080:8000
|
- localhost:8080:8080
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
@ -19,7 +19,7 @@ internal object StartAPICommand : Runnable {
|
|||||||
description = ["The host address to bind to."],
|
description = ["The host address to bind to."],
|
||||||
showDefaultValue = CommandLine.Help.Visibility.ALWAYS,
|
showDefaultValue = CommandLine.Help.Visibility.ALWAYS,
|
||||||
)
|
)
|
||||||
private var host: String = "0.0.0.0"
|
private var host: String = "127.0.0.1"
|
||||||
|
|
||||||
@CommandLine.Option(
|
@CommandLine.Option(
|
||||||
names = ["-p", "--port"],
|
names = ["-p", "--port"],
|
||||||
|
@ -36,9 +36,7 @@ import java.io.File
|
|||||||
fun Application.configureDependencies() {
|
fun Application.configureDependencies() {
|
||||||
val globalModule = module {
|
val globalModule = module {
|
||||||
single {
|
single {
|
||||||
Dotenv.configure()
|
Dotenv.configure().load()
|
||||||
.systemProperties()
|
|
||||||
.load()
|
|
||||||
}
|
}
|
||||||
factory { params ->
|
factory { params ->
|
||||||
val defaultRequestUri: String = params.get<String>()
|
val defaultRequestUri: String = params.get<String>()
|
||||||
@ -80,7 +78,7 @@ fun Application.configureDependencies() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
get<Dotenv>()["GITHUB_TOKEN"]?.let {
|
get<Dotenv>()["BACKEND_API_TOKEN"]?.let {
|
||||||
install(Auth) {
|
install(Auth) {
|
||||||
bearer {
|
bearer {
|
||||||
loadTokens {
|
loadTokens {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user