์ฌ๋ณด์ธ์!
ShinyProxy๊ฐ ๋์ปค ์ปจํ ์ด๋๋ก ์คํ ์ค์ผ ๋ navbar.html์ ํธ์งํ ์ ์์ต๋๋ค. ํธ์งํ navbar.html์ templates/fragments ๋๋ ํ ๋ฆฌ์ ๋ฃ์ ๋ค์ /opt/shinyproxy/templates์ ๋ณต์ฌํ๋ ค๊ณ ํ์ง๋ง ์๋ฒ๋ฅผ ๋ค์ ์์ํด๋ ๋ณ๊ฒฝ ์ฌํญ์ด ํ์๋์ง ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, "Sair"์ ๋ํด "๋ก๊ทธ์์"์ ๋ณ๊ฒฝํ๊ณ ์ถ์ต๋๋ค.
๋์ปค ํ์ผ:
openjdk:8-jre ์์
์คํ mkdir -p /opt/shinyproxy/
์คํ wget https://www.shinyproxy.io/downloads/shinyproxy-2.3.0.jar -O /opt/shinyproxy/shinyproxy.jar
๋ณต์ฌ application.yml /opt/shinyproxy/application.yml
mkdir ํ
ํ๋ฆฟ ์คํ
๋ณต์ฌ ํ
ํ๋ฆฟ/* /opt/shinyproxy/templates/
mkdir ํ
ํ๋ฆฟ/์กฐ๊ฐ ์คํ
COPY ํ
ํ๋ฆฟ/์กฐ๊ฐ/* /opt/shinyproxy/templates/fragments/
WORKDIR /opt/shinyproxy/
CMD ["์๋ฐ", "-jar", "/opt/shinyproxy/shinyproxy.jar"]
application.yml:
๋๋ฆฌ:
์ ๋ชฉ: LicitaR
๋ฐฉ๋ฌธ ํ์ด์ง: /
ํ
ํ๋ฆฟ ๊ฒฝ๋ก: ./templates
ํฌํธ: 8080
์ธ์ฆ: ๋จ์
๊ด๋ฆฌ์ ๊ทธ๋ฃน: ๊ด๋ฆฌ์
์ฌ์ฉ์:
๋ฒ์ฑ ๋ฐ์ถ:
ํ์ผ:
/log/shinyproxy.log
๋ด๊ฐ ๋ญ๊ฐ ์๋ชปํ๊ณ ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋์์ฃผ์๊ฒ ์ด์? ๊ฐ์ฌํฉ๋๋ค.
ํ์ธ๋ก
์ด๋ฏธ์ง๋ฅผ ๋ค์ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
BTW, ๋น์ ์ ํ์ผ์ ๋ณต์ฌํด์๋ ์๋ฉ๋๋ค. ๋์ ํด๋๋ฅผ ๋ณผ๋ฅจ์ผ๋ก ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์ด๋ฐ ์์ผ๋ก ํ์ผ์ ๋ณ๊ฒฝํ ํ ๋ธ๋ผ์ฐ์ ๋ฅผ ์๋ก ๊ณ ์น๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
@shrektan ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค.
๋ณ๊ฒฝ ํ sudo docker-compose build
๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ๋ค์ ๋ง๋ค์์ง๋ง ์๋ฌด ๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์์์ต๋๋ค. ๋ง์?
๋ณผ๋ฅจ์ผ๋ก์์ ํด๋์ ๋ํด ์๋ฅผ ๋ค์ด ์ฃผ์๊ฒ ์ต๋๊น? ์ ๋ ShinyProxy์ ์๋ก์ด ์ฌ์ฉ์์ด๊ธฐ ๋๋ฌธ์ ์กฐ๊ธ ํค๋งค๊ณ ์์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
์ฃ์กํฉ๋๋ค. ์ง๊ธ์ ์ด ์์ ์ ์ํํ ์๊ฐ์ด ์์ง๋ง ํ๋ก๋์ ์ค์ ์ ์คํฌ๋ฆฐ์ท์ผ๋ก ๋ณด์ฌ ๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ดํดํ๊ธฐ ์ฌ์์ผ ํฉ๋๋ค.
@shrektan ๋์ ์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค.
1) docker-compose.yml์ '๋ณผ๋ฅจ'์ ๋ง๋ค๊ณ ๋ง์ํ์ ๋๋ก Dockerfile์ ๋ณ๊ฒฝํ์ต๋๋ค. ํ์ผ(admin, app, index, login)์ ํ์ด์ง๋ฅผ ์๋ก๊ณ ์นจํ ๋ ์ฌ์ฉ๋ฉ๋๋ค(๋๋ถ์). ๊ทธ๋ฌ๋ sudo docker-compose build
๋ฅผ ์
๋ ฅํ๊ณ sudo docker-compose up -d shinyproxy
๋ช
๋ น์ "dnv_shinyproxy๊ฐ ์ต์ ์ํ์
๋๋ค"๋ผ๊ณ ํ์๋์ด๋ shinyproxy/application.yml์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ๊ทธ๋์ ๋๋ application.yml์ ๊ดํ Dockerfile์ ํ๋์ CP๋ฅผ ๋จ๊ฒผ์ต๋๋ค. :(
docker-compose.yml
๋ฒ์ : "3.6"
์๋น์ค:
์ค์ด๋ํ๋ก์:
์ด๋ฏธ์ง: ๋ฐ์ดํฐ๋
ธ๋น์/์ค์ด๋ํ๋ก์
container_name: dnv_shinyproxy
์ฌ์์: ์คํจ ์
๋น๋: ./shinyproxy
๋คํธ์ํฌ:
- dnv-net
ํฌํธ:
- 8080:8080
๋ณผ๋ฅจ:
- "/var/run/docker.sock:/var/run/docker.sock"
- "./shinyproxy-logs/์๋ฒ:/๋ก๊ทธ"
- "./shinyproxy-logs/container:/container-logs"
- "./shinyproxy/application.yml:/opt/shinyproxy/application.yml"
- "./shinyproxy/templates/:/opt/shinyproxy/templates"
- "./shinyproxy/templates/fragments/navbar.html:/opt/shinyproxy/templates/fragments/navbar.html"
์ค์ผ๋ฌ:
์ด๋ฏธ์ง: ์ค์ผ๋ฌ ๋์ปค
์ปจํ
์ด๋ ์ด๋ฆ: dnv_euler
๋น๋: ./shinyapps/euler-docker
๋คํธ์ํฌ:
- dnv-net
๋คํธ์ํฌ:
dnv-net:
์ด๋ฆ: dnv-net
๋์ปคํ์ผ
openjdk:8-jre ์์
์คํ mkdir -p /opt/shinyproxy/
์คํ wget https://www.shinyproxy.io/downloads/shinyproxy-2.3.0.jar -O /opt/shinyproxy/shinyproxy.jar
๋ณต์ฌ application.yml /opt/shinyproxy/application.yml
WORKDIR /opt/shinyproxy/
CMD ["์๋ฐ", "-jar", "/opt/shinyproxy/shinyproxy.jar"]
application.yml
๋๋ฆฌ:
์ ๋ชฉ: LicitaR
๋ฐฉ๋ฌธ ํ์ด์ง: /
์จ๊ธฐ๊ธฐ ํ์ ๋ชจ์: ๊ฑฐ์ง
ํ
ํ๋ฆฟ ๊ฒฝ๋ก: ./templates/
ํฌํธ: 8080
์ธ์ฆ: ๋จ์
๊ด๋ฆฌ์ ๊ทธ๋ฃน: ๊ด๋ฆฌ์
์ฌ์ฉ์:
๋ฒ์ฑ ๋ฐ์ถ:
ํ์ผ:
/log/shinyproxy.log
2) ์ฌ์ ํ navbar.html ํ์ผ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. template-path: ./templates/fragments
๋ฃ์์ ๋ ๊ฐ๋ฅํ๋๋ฐ ์ด๋ ๊ฒ ํ๋ฉด ๋ด๊ฐ ๋ณ๊ฒฝํ ๋ค๋ฅธ ํ์ผ(admin, app, index, login)์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
3) ๋๋ฌด
@PauloJhonny
ํ
ํ๋ฆฟ ๋ด๋ถ์ ์กฐ๊ฐ์ ๋ฃ์ ์ ์์ง๋ง index.html
๋๋ ๋จผ์ ์ด๋๊ฐ์ ์ด๋ฅผ ์ฃผ์ฅํด์ผ ํฉ๋๋ค(์ฃ์กํฉ๋๋ค. ์ ํํ ์์น๊ฐ ๊ธฐ์ต๋์ง ์์ต๋๋ค).
๋ฌด์์ ํ๊ณ ์๋์ง ์ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ(๋๋ ํ์คํ์ง ์์ ๊ฒฝ์ฐ) shinyproxy/
์๋์ $ fragments
ํด๋๋ฅผ ๋ฐฐ์นํด์ผ ํฉ๋๋ค. ๊ทธ ์ด์ ๋ ์๋ ๋ฐฉ์์ ์์ง ๋ชปํ๋ ๊ฒฝ์ฐ Shinyproxy์ ๋์ผํ ํด๋ ๊ตฌ์กฐ๋ฅผ ์ ์งํด์ผ ํ๊ธฐ ๋๋ฌธ์
๋๋ค. ์ฌ๊ธฐ์์ Shinyproxy์ ๊ธฐ๋ณธ ํด๋ ๊ตฌ์กฐ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค: https://github.com/openanalytics/shinyproxy/tree/master/src/main/resources
๊ธ์, ๋๋ ์ค์ ๋ก ๋น์ ์ ์ํด docker-compose ์์ ๋ฅผ ๋น๋ํฉ๋๋ค. https://github.com/shrektan/shinyproxy-docker-compose-example์ ์ฐธ์กฐํ์ธ์. ์ด๊ฒ์ด ๋น์ ์ ํผ๋์ ๋ช ํํ ํด์ฃผ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
(๋ค์ ๋งํ์ง๋ง, ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ์ด๋ฌํ ํ ํ๋ฆฟ HTML ํ์ผ์ ํซ๋ก๋๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋์ปค ์ปจํ ์ด๋๋ฅผ ๊ณ์ํด์ ์ข ๋ฃํ๊ณ ๋ค์ ์์ํ ํ์๊ฐ ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ๋ฅผ ํธ์ง, ์ ์ฅ ๋ฐ ์๋ก ๊ณ ์นจํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ด๊ฒ์ ํจ์ฌ ๊ฐ๋จํ UI ์กฐ์ ์ํฌํ๋ก์ ๋๋ค. .)
@shrektan ์ ๋ง ๊ฐ์ฌํฉ๋๋ค. ์ ๋ง ๋์์ด ๋์์ต๋๋ค.
๊ทธ๊ฒ์ ํจ๊ณผ๊ฐ ์์๋ค. ์กฐ๊ฐ ํด๋๋ฅผ ์๋ชป๋ ์์น์ ๋ฃ์์ต๋๋ค(์ฌ๋ฐ๋ฅธ ํธ๋ฆฌ ์ฐธ์กฐ). ์ด์ application.yml์ ์ ์ธํ ๋ชจ๋ ํ์ผ์ด ํซ๋ก๋๋ฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
์ข์ ์์์ ๋๋ค.
BTW, ์ถ๊ฐ ์ง๋ฌธ์ด ์์ผ๋ฉด ๋ฌธ์ ๋ฅผ ์ข ๋ฃํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ฐ์ฌ ํด์.
๊ฐ์ฌํฉ๋๋ค. :)
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๋ฏธ์ง๋ฅผ ๋ค์ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
BTW, ๋น์ ์ ํ์ผ์ ๋ณต์ฌํด์๋ ์๋ฉ๋๋ค. ๋์ ํด๋๋ฅผ ๋ณผ๋ฅจ์ผ๋ก ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์ด๋ฐ ์์ผ๋ก ํ์ผ์ ๋ณ๊ฒฝํ ํ ๋ธ๋ผ์ฐ์ ๋ฅผ ์๋ก ๊ณ ์น๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.