Hey guys,
I tried to follow your amazing guide to get started with shinyproxy (https://www.shinyproxy.io/getting-started/).
I’m using an amazon Linux 2018.03 instance. I installed java first and my java version is:
openjdk version "1.8.0_222" OpenJDK Runtime Environment (build 1.8.0_222-b10) OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
And then we installed the docker by running sudo install docker
and sudo service docker status
returns docker (pid 2890) is running...
. But on Amazon Linux server there is no /etc/systemd folder, so I can’t change the ExecStart=
part.
And if I pull your demo image using sudo docker pull openanalytics/shinyproxy-demo
and run java -jar shinyproxy-2.3.0.jar
(where your default application.yml file is in the same folder, the only thing I changed was the port, from 8080 to 2555), this is the output on the console:
:: Spring Boot :: (v2.0.0.RELEASE)
2019-11-08 01:15:14.264 INFO 4539 --- [ main] e.o.c.ContainerProxyApplication : Starting ContainerProxyApplication v0.8.3 on ip-10-0-0-32 with PID 4539 (/home/ec2-user/shinyproxy-2.3.0.jar started by root in /home/ec2-user)
2019-11-08 01:15:14.268 INFO 4539 --- [ main] e.o.c.ContainerProxyApplication : No active profile set, falling back to default profiles: default
2019-11-08 01:15:14.319 INFO 4539 --- [ main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@69d9c55: startup date [Fri Nov 08 01:15:14 UTC 2019]; root of context hierarchy
2019-11-08 01:15:15.346 INFO 4539 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2019-11-08 01:15:16.230 INFO 4539 --- [ main] org.xnio : XNIO version 3.3.8.Final
2019-11-08 01:15:16.247 INFO 4539 --- [ main] org.xnio.nio : XNIO NIO Implementation Version 3.3.8.Final
2019-11-08 01:15:16.391 WARN 4539 --- [ main] io.undertow.websockets.jsr : UT026009: XNIO worker was not set on WebSocketDeploymentInfo, the default worker will be used
2019-11-08 01:15:16.391 WARN 4539 --- [ main] io.undertow.websockets.jsr : UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used
2019-11-08 01:15:16.418 INFO 4539 --- [ main] io.undertow.servlet : Initializing Spring embedded WebApplicationContext
2019-11-08 01:15:16.418 INFO 4539 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 2099 ms
2019-11-08 01:15:16.582 INFO 4539 --- [ main] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]
2019-11-08 01:15:16.583 INFO 4539 --- [ main] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
2019-11-08 01:15:16.584 INFO 4539 --- [ main] .s.DelegatingFilterProxyRegistrationBean : Mapping filter: 'springSecurityFilterChain' to: [/*]
2019-11-08 01:15:16.584 INFO 4539 --- [ main] o.s.boot.web.servlet.RegistrationBean : Filter orderedHiddenHttpMethodFilter was not registered (disabled)
2019-11-08 01:15:16.584 INFO 4539 --- [ main] o.s.boot.web.servlet.RegistrationBean : Filter orderedHttpPutFormContentFilter was not registered (disabled)
2019-11-08 01:15:16.584 INFO 4539 --- [ main] o.s.b.w.servlet.ServletRegistrationBean : Servlet dispatcherServlet mapped to [/]
2019-11-08 01:15:16.839 INFO 4539 --- [ main] e.o.c.stat.StatCollectorRegistry : Disabled. Usage statistics will not be processed.
2019-11-08 01:15:17.067 INFO 4539 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/css/**'], []
2019-11-08 01:15:17.068 INFO 4539 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/img/**'], []
2019-11-08 01:15:17.068 INFO 4539 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/js/**'], []
2019-11-08 01:15:17.068 INFO 4539 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/assets/**'], []
2019-11-08 01:15:17.068 INFO 4539 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/webjars/**'], []
2019-11-08 01:15:17.204 INFO 4539 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: org.springframework.security.web.util.matcher.AnyRequestMatcher@1, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1530c739, org.springframework.security.web.context.SecurityContextPersistenceFilter@368247b9, org.springframework.security.web.header.HeaderWriterFilter@6c1a5b54, org.springframework.security.web.authentication.logout.LogoutFilter@63376bed, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@6e6f2380, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@5b1669c0, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1a942c18, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@738dc9b, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@78e4deb0, org.springframework.security.web.session.SessionManagementFilter@60099951, org.springframework.security.web.access.ExceptionTranslationFilter@45099dd3, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@7526515b]
2019-11-08 01:15:17.247 WARN 4539 --- [ main] org.thymeleaf.templatemode.TemplateMode : [THYMELEAF][main] Template Mode 'HTML5' is deprecated. Using Template Mode 'HTML' instead.
2019-11-08 01:15:17.628 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@69d9c55: startup date [Fri Nov 08 01:15:14 UTC 2019]; root of context hierarchy
2019-11-08 01:15:17.711 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/app/*],methods=[GET]}" onto public java.lang.String eu.openanalytics.shinyproxy.controllers.AppController.app(org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest)
2019-11-08 01:15:17.713 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/app_direct/**]}" onto public void eu.openanalytics.shinyproxy.controllers.AppController.appDirect(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2019-11-08 01:15:17.713 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/app/*],methods=[POST]}" onto public java.util.Map<java.lang.String, java.lang.String> eu.openanalytics.shinyproxy.controllers.AppController.startApp(javax.servlet.http.HttpServletRequest)
2019-11-08 01:15:17.714 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/issue],methods=[POST]}" onto public java.lang.String eu.openanalytics.shinyproxy.controllers.IssueController.postIssue(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2019-11-08 01:15:17.715 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/admin]}" onto private java.lang.String eu.openanalytics.shinyproxy.controllers.AdminController.admin(org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest)
2019-11-08 01:15:17.715 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto private java.lang.Object eu.openanalytics.shinyproxy.controllers.IndexController.index(org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest)
2019-11-08 01:15:17.717 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxy/{proxyId}],methods=[GET],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<eu.openanalytics.containerproxy.model.runtime.Proxy> eu.openanalytics.containerproxy.api.ProxyController.getProxy(java.lang.String)
2019-11-08 01:15:17.717 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxyspec],methods=[GET],produces=[application/json]}" onto public java.util.List<eu.openanalytics.containerproxy.model.spec.ProxySpec> eu.openanalytics.containerproxy.api.ProxyController.listProxySpecs()
2019-11-08 01:15:17.718 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxy],methods=[GET],produces=[application/json]}" onto public java.util.List<eu.openanalytics.containerproxy.model.runtime.Proxy> eu.openanalytics.containerproxy.api.ProxyController.listProxies()
2019-11-08 01:15:17.718 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxy/{proxyId}],methods=[DELETE],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<java.lang.String> eu.openanalytics.containerproxy.api.ProxyController.stopProxy(java.lang.String)
2019-11-08 01:15:17.719 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxyspec/{proxySpecId}],methods=[GET],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<eu.openanalytics.containerproxy.model.spec.ProxySpec> eu.openanalytics.containerproxy.api.ProxyController.getProxySpec(java.lang.String)
2019-11-08 01:15:17.719 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxy],methods=[POST],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<eu.openanalytics.containerproxy.model.runtime.Proxy> eu.openanalytics.containerproxy.api.ProxyController.startProxy(eu.openanalytics.containerproxy.model.spec.ProxySpec)
2019-11-08 01:15:17.720 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxy/{proxySpecId}],methods=[POST],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<eu.openanalytics.containerproxy.model.runtime.Proxy> eu.openanalytics.containerproxy.api.ProxyController.startProxy(java.lang.String,java.util.Set<eu.openanalytics.containerproxy.model.runtime.RuntimeSetting>)
2019-11-08 01:15:17.721 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/login],methods=[GET]}" onto public java.lang.Object eu.openanalytics.containerproxy.ui.LoginController.getLoginPage(java.util.Optional<java.lang.String>,org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest)
2019-11-08 01:15:17.721 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/route/**]}" onto public void eu.openanalytics.containerproxy.api.ProxyRouteController.route(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2019-11-08 01:15:17.725 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],consumes=[application/json],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> eu.openanalytics.containerproxy.ui.ErrorController.error(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2019-11-08 01:15:17.725 INFO 4539 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public java.lang.String eu.openanalytics.containerproxy.ui.ErrorController.handleError(org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2019-11-08 01:15:17.780 INFO 4539 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/assets/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2019-11-08 01:15:17.781 INFO 4539 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2019-11-08 01:15:17.781 INFO 4539 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2019-11-08 01:15:17.800 INFO 4539 --- [ main] .m.m.a.ExceptionHandlerExceptionResolver : Detected @ExceptionHandler methods in baseController.RestErrorHandler
2019-11-08 01:15:17.834 INFO 4539 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2019-11-08 01:15:17.951 INFO 4539 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page template: index
2019-11-08 01:15:18.059 INFO 4539 --- [ main] o.s.l.c.support.AbstractContextSource : Property 'userDn' not set - anonymous context will be used for read-write operations
2019-11-08 01:15:18.230 INFO 4539 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2019-11-08 01:15:18.232 INFO 4539 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Bean with name 'dataSource' has been autodetected for JMX exposure
2019-11-08 01:15:18.237 INFO 4539 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Located MBean 'dataSource': registering with JMX server as MBean [com.zaxxer.hikari:name=dataSource,type=HikariDataSource]
2019-11-08 01:15:18.304 INFO 4539 --- [ main] o.s.b.w.e.u.UndertowServletWebServer : Undertow started on port(s) 2555 (http) with context path ''
2019-11-08 01:15:18.307 INFO 4539 --- [ main] e.o.c.ContainerProxyApplication : Started ContainerProxyApplication in 4.563 seconds (JVM running for 5.189)
^C2019-11-08 01:17:05.024 INFO 4539 --- [ Thread-2] ConfigServletWebServerApplicationContext : Closing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@69d9c55: startup date [Fri Nov 08 01:15:14 UTC 2019]; root of context hierarchy
2019-11-08 01:17:05.027 INFO 4539 --- [ Thread-2] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposed beans on shutdown
2019-11-08 01:17:05.027 INFO 4539 --- [ Thread-2] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposed beans
And I can’t access the shiny proxy by typing my server_IP:2555 in my browser (the port 2555 is open in my security group).
EDIT: I think I found the docker config file in /etc/sysconfig/docker and the content there is:
# The max number of open files for the daemon itself, and all
# running containers. The default value of 1048576 mirrors the value
# used by the systemd service unit.
DAEMON_MAXFILES=1048576
# Additional startup options for the Docker daemon, for example:
# OPTIONS="--ip-forward=true --iptables=true"
# By default we limit the number of open files per container
OPTIONS="--default-ulimit nofile=1024:4096"
# How many seconds the sysvinit script waits for the pidfile to appear
# when starting the daemon.
DAEMON_PIDFILE_TIMEOUT=10
Thanks in advance,
Silvano