Add Dockerfile

This commit is contained in:
Elias Projahn 2025-03-05 17:22:57 +01:00
parent 401e327fdc
commit 414dba5693
6 changed files with 38 additions and 5 deletions

View file

@ -1,2 +1,4 @@
^docker$
^scripts$ ^scripts$
^Dockerfile$
^LICENSE\.md$ ^LICENSE\.md$

View file

@ -29,7 +29,6 @@ Imports:
gprofiler2, gprofiler2,
markdown, markdown,
rclipboard, rclipboard,
readr,
shiny, shiny,
shinyWidgets shinyWidgets
Suggests: Suggests:

12
Dockerfile Normal file
View file

@ -0,0 +1,12 @@
FROM rocker/shiny:4.4
COPY . /tmp/package/
RUN Rscript -e 'install.packages("pak")' && \
Rscript -e 'pak::local_install("/tmp/package/")'
COPY docker/app.R /srv/shiny-server/ubigen/app.R
COPY docker/shiny-server.conf /etc/shiny-server/shiny-server.conf
EXPOSE 3464
CMD ["/usr/bin/shiny-server"]

View file

@ -6,7 +6,9 @@ genes. It is publicly available at
This repository contains an R package including the input data, the methods and This repository contains an R package including the input data, the methods and
the code for the interactive web interface. the code for the interactive web interface.
## Installation ## Installation and Usage
### Local
You can install the development version of `ubigen` using: You can install the development version of `ubigen` using:
@ -15,11 +17,9 @@ You can install the development version of `ubigen` using:
pak::pkg_install("git::https://gitlab.uni-rostock.de/ep135/ubigen.git") pak::pkg_install("git::https://gitlab.uni-rostock.de/ep135/ubigen.git")
``` ```
## Usage
You only need one function to get started. It will run the application and You only need one function to get started. It will run the application and
serve the graphical user interface which can be viewed using your preferred serve the graphical user interface which can be viewed using your preferred
web browser. web browser:
```r ```r
ubigen::run_app() ubigen::run_app()
@ -28,6 +28,13 @@ ubigen::run_app()
For additional information on using the R package, take a look at the built-in For additional information on using the R package, take a look at the built-in
documentation (`?ubigen::run_app`). documentation (`?ubigen::run_app`).
### Server
Docker images for deploying Ubigen on a server are available on Docker Hub at
[johrpan/ubigen](https://hub.docker.com/r/johrpan/ubigen). They expose the web
application at port 3464. We recommend setting up a reverse proxy to enable
TLS.
## License ## License
This program is free software: you can redistribute it and/or modify it under This program is free software: you can redistribute it and/or modify it under

2
docker/app.R Normal file
View file

@ -0,0 +1,2 @@
# This file is needed for Shiny Server to recognize Ubigen's shiny app.
ubigen::app()

11
docker/shiny-server.conf Normal file
View file

@ -0,0 +1,11 @@
run_as shiny;
server {
listen 3464;
location / {
site_dir /srv/shiny-server/ubigen;
log_dir /var/log/shiny-server;
directory_index off;
}
}