feat/docker #46
1
.gitignore
vendored
1
.gitignore
vendored
@@ -138,3 +138,4 @@ target
|
||||
/knockoutwhistweb/.g8/
|
||||
/knockoutwhistweb/.bsp/
|
||||
/currentSnapshot.json
|
||||
.env
|
||||
41
Dockerfile
Normal file
41
Dockerfile
Normal file
@@ -0,0 +1,41 @@
|
||||
# === Stage 1: Build the Play application ===
|
||||
FROM sbtscala/scala-sbt:eclipse-temurin-alpine-22_36_1.10.3_3.5.1 AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Install Node.js and Less CSS preprocessor
|
||||
USER root
|
||||
RUN apk add --no-cache nodejs npm && \
|
||||
npm install -g less
|
||||
|
||||
# Cache dependencies first
|
||||
COPY project ./project
|
||||
COPY build.sbt ./
|
||||
RUN sbt -Dscoverage.skip=true update
|
||||
|
||||
# Copy the rest of the code
|
||||
COPY . .
|
||||
|
||||
# Build the app and stage it
|
||||
RUN sbt -Dscoverage.skip=true clean stage
|
||||
|
||||
# === Stage 2: Runtime image ===
|
||||
FROM eclipse-temurin:21-jre-alpine
|
||||
|
||||
# Install Argon2 CLI and libraries
|
||||
RUN apk add --no-cache bash argon2 argon2-libs
|
||||
|
||||
WORKDIR /opt/playapp
|
||||
|
||||
# Copy staged Play build
|
||||
COPY --from=builder /app/knockoutwhistweb/target/universal/stage /opt/playapp
|
||||
|
||||
# Expose the default Play port
|
||||
EXPOSE 9000
|
||||
|
||||
# Set environment variables
|
||||
ENV PLAY_HTTP_PORT=9000
|
||||
|
||||
# Run the Play app
|
||||
ENTRYPOINT ["./bin/knockoutwhistweb"]
|
||||
CMD ["-Dplay.server.pidfile.path=/dev/null"]
|
||||
Submodule knockoutwhist updated: e0e45c4b43...b9a7b0a2af
@@ -14,8 +14,8 @@ class AuthAction @Inject()(val sessionManager: SessionManager, val parser: BodyP
|
||||
extends ActionBuilder[AuthenticatedRequest, AnyContent] {
|
||||
|
||||
override def executionContext: ExecutionContext = ec
|
||||
|
||||
private def getUserFromSession(request: RequestHeader): Option[User] = {
|
||||
|
||||
protected def getUserFromSession(request: RequestHeader): Option[User] = {
|
||||
val session = request.cookies.get("sessionId")
|
||||
if (session.isDefined)
|
||||
return sessionManager.getUserBySession(session.get.value)
|
||||
@@ -1,14 +1,14 @@
|
||||
# https://www.playframework.com/documentation/latest/Configuration
|
||||
play.filters.disabled += play.filters.csrf.CSRFFilter
|
||||
|
||||
play.http.secret.key="QCY?tAnfk?aZ?iwrNwnxIlR6CTf:G3gf:90Latabg@5241AB`R5W:1uDFN];Ik@n"
|
||||
play.http.secret.key=${?APPLICATION_SECRET}
|
||||
|
||||
auth {
|
||||
issuer = "knockoutwhistweb"
|
||||
audience = "ui"
|
||||
# ${?PUBLIC_KEY_FILE}
|
||||
privateKeyFile = "D:\\Workspaces\\Gitops\\rsa512-private.pem"
|
||||
privateKeyPem = ${?PUBLIC_KEY_PEM}
|
||||
#${?PUBLIC_KEY_FILE}
|
||||
publicKeyFile = "D:\\Workspaces\\Gitops\\rsa512-public.pem"
|
||||
privateKeyFile = ${?PRIVATE_KEY_FILE}
|
||||
privateKeyPem = ${?PRIVATE_KEY_PEM}
|
||||
|
||||
publicKeyFile = ${?PUBLIC_KEY_FILE}
|
||||
publicKeyPem = ${?PUBLIC_KEY_PEM}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user