Skip to content

Commit d275f6c

Browse files
authored
shinyproxy 3.2.2 (#26)
* shinyproxy 3.2.2 * readme * changelog * CI
1 parent 6bd8e94 commit d275f6c

File tree

5 files changed

+71
-0
lines changed

5 files changed

+71
-0
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ jobs:
2929
#- { tag: "shinyproxy-3.0.2", dockerfile: "shinyproxy/3.0.2/Dockerfile", context: "shinyproxy/3.0.2"}
3030
- { tag: "shinyproxy-3.1.1", dockerfile: "shinyproxy/3.1.1/Dockerfile", context: "shinyproxy/3.1.1"}
3131
- { tag: "shinyproxy-3.2.0", dockerfile: "shinyproxy/3.2.0/Dockerfile", context: "shinyproxy/3.2.0"}
32+
- { tag: "shinyproxy-3.2.2", dockerfile: "shinyproxy/3.2.2/Dockerfile", context: "shinyproxy/3.2.2"}
3233
- { tag: "rstudio", dockerfile: "development/rstudio/Dockerfile", context: "development/rstudio"}
3334
- { tag: "vscode", dockerfile: "development/vscode/Dockerfile", context: "development/vscode"}
3435
- { tag: "ollama-llama3.2", dockerfile: "ollama/Dockerfile", context: "ollama", OLLAMA_MODEL: "llama3.2:3b"}

CHANGELOG

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
## CHANGELOG
22

3+
### Release 0.3.2
4+
5+
- blackbar-shinyproxy
6+
- blackbar-shinyproxy-3.2.2 added
7+
- Based on Ubuntu 24.04 and Java 21 adding "-XX:MaxRAMPercentage=50.0", "-XX:MinRAMPercentage=20.0", "-XX:+ExitOnOutOfMemoryError" to java options at startup
8+
39
### Release 0.3.1
410

511
- blackbar-inception-minio and blackbar-inception-minio-mariadb

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,13 @@ docker pull ghcr.io/bnosac/blackbar-inception-minio-mariadb:latest
3737

3838
- **blackbar-shinyproxy**:
3939

40+
- **blackbar-shinyproxy-3.2.2**: Docker image containing ShinyProxy 3.2.2 and Java 21 based on Ubuntu Noble (eclipse-temurin:21-jre-noble)
4041
- **blackbar-shinyproxy-3.2.0**: Docker image containing ShinyProxy 3.2.0 and Java 21 based on Ubuntu Noble (eclipse-temurin:21-jre-noble)
4142
- **blackbar-shinyproxy-3.1.1**: Docker image containing ShinyProxy 3.1.1 and Java 17 based on Ubuntu Jammy (eclipse-temurin:17-jammy)
4243
- **blackbar-shinyproxy-3.0.2**: Docker image containing ShinyProxy 3.0.2 and Java 11 based on Debian Buster (openjdk:11-jre-slim-buster)
4344

4445
```
46+
docker pull ghcr.io/bnosac/blackbar-shinyproxy-3.2.2:latest
4547
docker pull ghcr.io/bnosac/blackbar-shinyproxy-3.2.0:latest
4648
docker pull ghcr.io/bnosac/blackbar-shinyproxy-3.1.1:latest
4749
docker pull ghcr.io/bnosac/blackbar-shinyproxy-3.0.2:latest

shinyproxy/3.2.2/Dockerfile

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
FROM openanalytics/shinyproxy:3.2.2 AS shinyproxy
2+
FROM public.ecr.aws/docker/library/eclipse-temurin:21-jre-noble
3+
4+
RUN set -ex \
5+
&& DEBIAN_FRONTEND=noninteractive \
6+
&& apt-get update \
7+
&& apt-get install -y gettext \
8+
&& apt-get install -y curl
9+
10+
## Copy over shinyproxy.jar from the official shinyproxy repository
11+
RUN mkdir /opt/shinyproxy
12+
ENV SHINY_USER blackbar
13+
RUN useradd -c 'blackbar user' -m -d /home/$SHINY_USER -s /sbin/nologin $SHINY_USER
14+
COPY --from=shinyproxy --chown=$SHINY_USER:$SHINY_USER /opt/shinyproxy/ /opt/shinyproxy/
15+
16+
## Entrypoint is shell script which overwrites the applications
17+
ENV SHINYPROXY_APPLICATION_DIR /home/$SHINY_USER/apps
18+
19+
ADD ./entrypoint.sh /opt/shinyproxy/init-application-yml.sh
20+
RUN chmod +x /opt/shinyproxy/init-application-yml.sh
21+
ENTRYPOINT ["sh", "/opt/shinyproxy/init-application-yml.sh"]
22+
23+
WORKDIR /opt/shinyproxy
24+
USER $SHINY_USER
25+
26+
EXPOSE 8080
27+
28+
# Start ShinyProxy with some extra parameters for faster startup (https://spring.io/blog/2018/11/08/spring-boot-in-a-container#tweaks)
29+
CMD ["java", "-Dsun.net.inetaddr.ttl=5", "-XX:MaxRAMPercentage=50.0", "-XX:MinRAMPercentage=20.0", "-XX:+ExitOnOutOfMemoryError", "-jar", "/opt/shinyproxy/shinyproxy.jar", "--spring.jmx.enabled=false", "--spring.config.location=/opt/shinyproxy/application.yml"]

shinyproxy/3.2.2/entrypoint.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/ash
2+
set -e
3+
4+
echo "Checking ${SHINYPROXY_APPLICATION_DIR} for Shinyproxy config file either as application.tmp or as application.yml"
5+
6+
# substitute ${ENV_VARIABLE}s in application.tmp with container environment variables
7+
if [ -f ${SHINYPROXY_APPLICATION_DIR}/application.tmp ]; then
8+
echo " - found application.tmp; plugging in environment variables to application.yml"
9+
envsubst < ${SHINYPROXY_APPLICATION_DIR}/application.tmp > /opt/shinyproxy/application.yml
10+
fi
11+
12+
# If file ${SHINYPROXY_APPLICATION_DIR}/application.yml is available, make the shinyproxy configuration available to the application
13+
if [ -f ${SHINYPROXY_APPLICATION_DIR}/application.yml ]; then
14+
#rm --force ${SHINYPROXY_INSTALL_DIR}/application.yml
15+
cp --force ${SHINYPROXY_APPLICATION_DIR}/application.yml /opt/shinyproxy/application.yml
16+
echo " - copying ${SHINYPROXY_APPLICATION_DIR}/application.yml to /opt/shinyproxy/application.yml in Shinyproxy container"
17+
else
18+
echo "No 'application.yml' was found: defaulting to default Shinyproxy configuration"
19+
fi
20+
21+
# If there is an apps folder in the SHINYPROXY_INSTALL_DIR, copy the files over (for development purposes)
22+
if [ -d ${SHINYPROXY_APPLICATION_DIR}/apps ]; then
23+
echo " - moving all apps from ${SHINYPROXY_APPLICATION_DIR}/apps to ${SHINYPROXY_INSTALL_DIR} in Shinyproxy container"
24+
cp --force --recursive ${SHINYPROXY_APPLICATION_DIR}/apps /opt/shinyproxy/blackbar
25+
chown -R $SHINY_USER:$SHINY_USER /opt/shinyproxy/blackbar/apps/
26+
else
27+
echo "Note: no 'apps' folder at ${SHINYPROXY_APPLICATION_DIR}"
28+
fi
29+
30+
cat /opt/shinyproxy/application.yml
31+
echo "\nStarting up Shinyproxy\n"
32+
33+
exec "$@"

0 commit comments

Comments
 (0)