fresh2dev / ShinyStudio

A fully Dockerized, self-hosted development environment for teams. Develop where you serve.
https://hub.docker.com/r/dm3ll3n/shinystudio
MIT License
242 stars 40 forks source link

Feature Request: Add the Possibility to Include in the Landing Page Custom Web App Containers (Streamlit, flexdashboard, ...) #20

Closed jtelleriar closed 3 years ago

jtelleriar commented 3 years ago

Would it be possible to include in the landing page an area where custom containers with web apps are made accessible?

Some examples of custom containers I plan to include:

Streamlit App

FROM python:3.7
RUN pip install streamlit
COPY . /app
WORKDIR /app
EXPOSE 8501
# ENTRYPOINT ["streamlit","run"]
CMD ["streamlit", "run", "app.py", "--server.port=8501"]
  specs:
  - id: streamlit
    display-name: Demo Streamlit app
    description: Adding another non shiny app to shinyproxy
    container-cmd: ["streamlit", "run", "app.py", "--server.port=8501"]
    container-image: shinyproxy-streamlit
    # Streamlit runs on port 8501
    port: 8501
    container-network: sp-example-net
    access-groups: [admins, app-users]

flexdashboard

FROM r-base

RUN apt-get update && apt-get install -y \
    libicu-dev \
    pandoc \
    make

# basic shiny functionality
RUN R -e "install.packages(c('shiny', 'rmarkdown', 'flexdashboard'), repos='https://packagemanager.rstudio.com/all/latest')"

# copy the app to the image
RUN mkdir /root/flexdashboard
COPY flexdashboard /root/flexdashboard

COPY Rprofile.site /usr/lib/R/etc/

EXPOSE 3838

CMD ["R", "-e", "rmarkdown::run('/root/flexdashboard/main.Rmd', shiny_args=list(host='0.0.0.0', port=3838))"]
  - id: flexdashboard
    container-cmd: ["R", "-e", "rmarkdown::run('/root/flexdashboard/main.Rmd', shiny_args=list(host='0.0.0.0', port=3838))"]
    container-image: flexdashboard_final
    container-network: sp-example-net
    access-groups: [admins, app-users]