docker version stuff

This commit is contained in:
Anthony Stirling 2023-08-27 19:58:20 +01:00
parent d850d026ed
commit b58fd2022a
15 changed files with 28 additions and 21 deletions

View file

@ -22,7 +22,7 @@ jobs:
- uses: gradle/gradle-build-action@v2.4.2 - uses: gradle/gradle-build-action@v2.4.2
env: env:
ENABLE_SECURITY: false DOCKER_ENABLE_SECURITY: false
with: with:
gradle-version: 7.6 gradle-version: 7.6
arguments: clean build arguments: clean build

View file

@ -30,7 +30,7 @@ jobs:
- name: Generate jar (With Security=${{ matrix.enable_security }}) - name: Generate jar (With Security=${{ matrix.enable_security }})
run: ./gradlew clean createExe run: ./gradlew clean createExe
env: env:
ENABLE_SECURITY: ${{ matrix.enable_security }} DOCKER_ENABLE_SECURITY: ${{ matrix.enable_security }}
- name: Upload binaries to release - name: Upload binaries to release
uses: svenstaro/upload-release-action@v2 uses: svenstaro/upload-release-action@v2

View file

@ -4,7 +4,7 @@ FROM frooodle/stirling-pdf-base:beta4
ARG VERSION_TAG ARG VERSION_TAG
ENV VERSION_TAG=$VERSION_TAG ENV VERSION_TAG=$VERSION_TAG
ENV ENABLE_SECURITY=false ENV DOCKER_ENABLE_SECURITY=false
# Create scripts folder and copy local scripts # Create scripts folder and copy local scripts
RUN mkdir /scripts RUN mkdir /scripts

View file

@ -20,7 +20,7 @@ EXPOSE 8080
# Set environment variables # Set environment variables
ENV GROUPS_TO_REMOVE=Python,OpenCV,OCRmyPDF ENV GROUPS_TO_REMOVE=Python,OpenCV,OCRmyPDF
ENV ENABLE_SECURITY=false ENV DOCKER_ENABLE_SECURITY=false
# Run the application # Run the application
CMD ["java", "-jar", "/app.jar"] CMD ["java", "-jar", "/app.jar"]

View file

@ -11,7 +11,7 @@ EXPOSE 8080
# Set environment variables # Set environment variables
ENV GROUPS_TO_REMOVE=CLI ENV GROUPS_TO_REMOVE=CLI
ENV ENABLE_SECURITY=false ENV DOCKER_ENABLE_SECURITY=false
# Run the application # Run the application
CMD ["java", "-jar", "/app.jar"] CMD ["java", "-jar", "/app.jar"]

View file

@ -18,7 +18,7 @@ repositories {
sourceSets { sourceSets {
main { main {
java { java {
if (System.getenv('ENABLE_SECURITY') == 'false') { if (System.getenv('DOCKER_ENABLE_SECURITY') == 'false') {
exclude 'stirling/software/SPDF/config/security/**' exclude 'stirling/software/SPDF/config/security/**'
exclude 'stirling/software/SPDF/controller/api/UserController.java' exclude 'stirling/software/SPDF/controller/api/UserController.java'
exclude 'stirling/software/SPDF/controller/web/AccountWebController.java' exclude 'stirling/software/SPDF/controller/web/AccountWebController.java'
@ -67,7 +67,7 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web:3.1.2' implementation 'org.springframework.boot:spring-boot-starter-web:3.1.2'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf:3.1.2' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf:3.1.2'
if (System.getenv('ENABLE_SECURITY') != 'false') { if (System.getenv('DOCKER_ENABLE_SECURITY') != 'false') {
implementation 'org.springframework.boot:spring-boot-starter-security:3.1.2' implementation 'org.springframework.boot:spring-boot-starter-security:3.1.2'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5:3.1.2.RELEASE' implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5:3.1.2.RELEASE'
implementation "org.springframework.boot:spring-boot-starter-data-jpa" implementation "org.springframework.boot:spring-boot-starter-data-jpa"

View file

@ -16,8 +16,8 @@ if [[ -n "$TESSERACT_LANGS" ]]; then
done done
fi fi
# Check for ENABLE_SECURITY and download the appropriate JAR if required # Check for DOCKER_ENABLE_SECURITY and download the appropriate JAR if required
if [ "$ENABLE_SECURITY" = "true" ] && [ "$VERSION_TAG" != "alpha" ]; then if [ "$DOCKER_ENABLE_SECURITY" = "true" ] && [ "$VERSION_TAG" != "alpha" ]; then
echo "Downloading from: https://github.com/Frooodle/Stirling-PDF/releases/download/$VERSION_TAG/Stirling-PDF-with-login.jar" echo "Downloading from: https://github.com/Frooodle/Stirling-PDF/releases/download/$VERSION_TAG/Stirling-PDF-with-login.jar"
curl -L -o new-app.jar https://github.com/Frooodle/Stirling-PDF/releases/download/$VERSION_TAG/Stirling-PDF-with-login.jar curl -L -o new-app.jar https://github.com/Frooodle/Stirling-PDF/releases/download/$VERSION_TAG/Stirling-PDF-with-login.jar
if [ $? -eq 0 ]; then # checks if curl was successful if [ $? -eq 0 ]; then # checks if curl was successful

View file

@ -19,7 +19,7 @@ function setMode(mode) {
elements.lightModeStyles.disabled = mode !== "off"; elements.lightModeStyles.disabled = mode !== "off";
elements.darkModeStyles.disabled = mode !== "on"; elements.darkModeStyles.disabled = mode !== "on";
elements.rainbowModeStyles.disabled = mode !== "rainbow"; elements.rainbowModeStyles.disabled = mode !== "rainbow";
var jumbotron = document.getElementById('jumbotron');
if (mode === "on") { if (mode === "on") {
elements.darkModeIcon.src = "moon.svg"; elements.darkModeIcon.src = "moon.svg";
// Add the table-dark class to tables for dark mode // Add the table-dark class to tables for dark mode
@ -27,6 +27,10 @@ function setMode(mode) {
tables.forEach(table => { tables.forEach(table => {
table.classList.add('table-dark'); table.classList.add('table-dark');
}); });
if(jumbotron) {
jumbotron.classList.add('bg-dark');
jumbotron.classList.remove('bg-light');
}
} else if (mode === "off") { } else if (mode === "off") {
elements.darkModeIcon.src = "sun.svg"; elements.darkModeIcon.src = "sun.svg";
// Remove the table-dark class for light mode // Remove the table-dark class for light mode
@ -34,6 +38,11 @@ function setMode(mode) {
tables.forEach(table => { tables.forEach(table => {
table.classList.remove('table-dark'); table.classList.remove('table-dark');
}); });
if(jumbotron){
console.log(mode)
jumbotron.classList.remove('bg-dark');
jumbotron.classList.add('bg-light');
}
} else if (mode === "rainbow") { } else if (mode === "rainbow") {
elements.darkModeIcon.src = "rainbow.svg"; elements.darkModeIcon.src = "rainbow.svg";
} }
@ -71,7 +80,7 @@ document.addEventListener("DOMContentLoaded", function() {
} else { } else {
setMode("off"); setMode("off");
} }
document.getElementById("dark-mode-toggle").addEventListener("click", function(event) { document.getElementById("dark-mode-toggle").addEventListener("click", function(event) {
event.preventDefault(); event.preventDefault();
toggleDarkMode(); toggleDarkMode();

View file

@ -51,8 +51,6 @@
<script src="js/tab-container.js"></script> <script src="js/tab-container.js"></script>
<script src="js/darkmode.js"></script>
</head> </head>
<th:block th:fragment="game"> <th:block th:fragment="game">

View file

@ -5,7 +5,7 @@
const currentVersion = /*[[${@appVersion}]]*/ ''; const currentVersion = /*[[${@appVersion}]]*/ '';
const noFavourites = /*[[#{noFavourites}]]*/ ''; const noFavourites = /*[[#{noFavourites}]]*/ '';
</script> </script>
<script th:src="@{/js/githubVersion.js}"></script> <script th:src="@{js/githubVersion.js}"></script>
<link rel="stylesheet" href="css/navbar.css"> <link rel="stylesheet" href="css/navbar.css">

View file

@ -12,7 +12,7 @@
<div id="content-wrap"> <div id="content-wrap">
<div th:insert="~{fragments/navbar.html :: navbar}"></div> <div th:insert="~{fragments/navbar.html :: navbar}"></div>
<!-- Jumbotron --> <!-- Jumbotron -->
<div class="jumbotron jumbotron-fluid d-none d-md-block" id="jumbotron"> <div class="bg-light p-5 rounded d-none d-md-block" id="jumbotron">
<div class="container"> <div class="container">
<h1 class="display-4" th:text="${@appName}"></h1> <h1 class="display-4" th:text="${@appName}"></h1>
<p class="lead" th:text="${@homeText != 'null' and @homeText != null and @homeText != ''} ? ${@homeText} : #{home.desc}"></p> <p class="lead" th:text="${@homeText != 'null' and @homeText != null and @homeText != ''} ? ${@homeText} : #{home.desc}"></p>

View file

@ -59,17 +59,17 @@ body {
<div th:if="${logoutMessage}" class="alert alert-success" <div th:if="${logoutMessage}" class="alert alert-success"
th:text="${logoutMessage}"></div> th:text="${logoutMessage}"></div>
<form th:action="@{/login}" method="post"> <form th:action="@{login}" method="post">
<img class="mb-4" src="favicon.svg" alt="" width="144" height="144"> <img class="mb-4" src="favicon.svg" alt="" width="144" height="144">
<h1 class="h1 mb-3 fw-normal">Stirling-PDF</h1> <h1 class="h1 mb-3 fw-normal">Stirling-PDF</h1>
<h2 class="h5 mb-3 fw-normal">Please sign in</h2> <h2 class="h5 mb-3 fw-normal">Please sign in</h2>
<div class="form-floating"> <div class="form-floating">
<input type="text" class="form-control" id="username" <input type="text" class="form-control" id="username" name="username"
placeholder="admin"> <label for="username">Username</label> placeholder="admin"> <label for="username">Username</label>
</div> </div>
<div class="form-floating"> <div class="form-floating">
<input type="password" class="form-control" id="password" <input type="password" class="form-control" id="password" name="password"
placeholder="Password"> <label for="password">Password</label> placeholder="Password"> <label for="password">Password</label>
</div> </div>

View file

@ -13,7 +13,7 @@
<div class="col-md-6"> <div class="col-md-6">
<h2 th:text="#{changeMetadata.header}"></h2> <h2 th:text="#{changeMetadata.header}"></h2>
<form method="post" id="form1" enctype="multipart/form-data" th:action="@{/update-metadata}"> <form method="post" id="form1" enctype="multipart/form-data" th:action="@{update-metadata}">
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div> <div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div>
<p class="text-muted" th:text="#{changeMetadata.selectText.1}"></p> <p class="text-muted" th:text="#{changeMetadata.selectText.1}"></p>

View file

@ -15,7 +15,7 @@
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-md-6"> <div class="col-md-6">
<h2 th:text="#{compress.header}"></h2> <h2 th:text="#{compress.header}"></h2>
<form action="#" th:action="@{/compress-pdf}" method="post" enctype="multipart/form-data"> <form action="#" th:action="@{compress-pdf}" method="post" enctype="multipart/form-data">
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div> <div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div>
<div class="card mb-3"> <div class="card mb-3">
<div class="card-body"> <div class="card-body">

View file

@ -38,7 +38,7 @@
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-md-6"> <div class="col-md-6">
<h2 th:text="#{ocr.header}"></h2> <h2 th:text="#{ocr.header}"></h2>
<form th:if="${#lists.size(languages) > 0}" action="#" th:action="@{/ocr-pdf}" method="post" enctype="multipart/form-data" class="mb-3"> <form th:if="${#lists.size(languages) > 0}" action="#" th:action="@{ocr-pdf}" method="post" enctype="multipart/form-data" class="mb-3">
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div> <div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div>
<div class="mb-3"> <div class="mb-3">
<label for="languages" class="form-label" th:text="#{ocr.selectText.1}"></label> <label for="languages" class="form-label" th:text="#{ocr.selectText.1}"></label>