Running Openvidu development server on M1 chip

Hello!

When trying to launch Openvidu development environment locally I stumble accross this error:

[ERROR] 2021-10-15 09:30:08,524 [main] org.springframework.boot.SpringApplication - Application run failed
openvidu-server_1  | java.lang.IllegalStateException: Logback configuration error detected: 
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@43:61 - no applicable action for [appender], current ElementPath  is [[configuration][if][then][appender]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@45:65 - no applicable action for [rollingPolicy], current ElementPath  is [[configuration][if][then][appender][rollingPolicy]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@46:23 - no applicable action for [FileNamePattern], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][FileNamePattern]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@48:18 - no applicable action for [MaxHistory], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][MaxHistory]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@49:20 - no applicable action for [TotalSizeCap], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][TotalSizeCap]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@51:74 - no applicable action for [encoder], current ElementPath  is [[configuration][if][then][appender][encoder]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@52:15 - no applicable action for [charset], current ElementPath  is [[configuration][if][then][appender][encoder][charset]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@53:15 - no applicable action for [pattern], current ElementPath  is [[configuration][if][then][appender][encoder][pattern]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@56:56 - no applicable action for [logger], current ElementPath  is [[configuration][if][then][logger]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@57:27 - no applicable action for [level], current ElementPath  is [[configuration][if][then][logger][level]]
...

This is happening when I am trying to run this developmen image: Docker Hub . I tried to use production version according to all instructions and after configuring everything properly, I get the same error.

I tried launching this in a separate ubuntu environment, and it worked properly.

Am I doing something wrong, or there is some kind of an issue here related to M1 processor? Was openvidu tested to work with M1 chip?

UPDATE OF OLD ANSWER: M1 chip is based on ARM, which is not currently supported by the development image openvidu-server-kms. But probably Rosetta should help running it, adding this property: --platform linux/amd64

Apple provides this information regarding Docker on M1: Docker Desktop for Apple silicon | Docker Documentation

I already tried adding platform property, as without it, the image doesn’t launch at all.

I have looked into the error logs a little bit and it seems that the server crashes in this place:

openvidu-server_1  | 2021-10-15 09:30:08,556 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at io.openvidu.server.OpenViduServer.checkConfigProperties(OpenViduServer.java:306)
openvidu-server_1  | 	at io.openvidu.server.OpenViduServer.main(OpenViduServer.java:271)
openvidu-server_1  | 	... 8 more

As far as I can figure it out, it seems that the problem happens when openvidu-server starts checking configuration properties in this place: openvidu/OpenViduServer.java at master · OpenVidu/openvidu · GitHub

Maybe I forgot to do something with the configuration? I am trying to run this container with following docker-compose file:

version: "3.1"

services:
  openvidu-server:
    image: openvidu/openvidu-server-kms
    platform: linux/amd64
    ports:
      - 4443:4443
    environment:
      - OPENVIDU_SECRET=test

Can you show more trace of the log?

Well, it is long, but hope it helps:

openvidu-server_1  | 2021-10-15 11:40:51,548 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
openvidu-server_1  | 2021-10-15 11:40:51,549 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,549 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
openvidu-server_1  | 2021-10-15 11:40:51,550 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,550 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
openvidu-server_1  | 2021-10-15 11:40:51,551 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,552 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:107)
openvidu-server_1  | 2021-10-15 11:40:51,552 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,552 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
openvidu-server_1  | 2021-10-15 11:40:51,553 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,553 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467)
openvidu-server_1  | 2021-10-15 11:40:51,554 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,555 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | Caused by: java.lang.IllegalStateException: Logback configuration error detected: 
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@43:61 - no applicable action for [appender], current ElementPath  is [[configuration][if][then][appender]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@45:65 - no applicable action for [rollingPolicy], current ElementPath  is [[configuration][if][then][appender][rollingPolicy]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@46:23 - no applicable action for [FileNamePattern], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][FileNamePattern]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@48:18 - no applicable action for [MaxHistory], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][MaxHistory]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@49:20 - no applicable action for [TotalSizeCap], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][TotalSizeCap]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@51:74 - no applicable action for [encoder], current ElementPath  is [[configuration][if][then][appender][encoder]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@52:15 - no applicable action for [charset], current ElementPath  is [[configuration][if][then][appender][encoder][charset]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@53:15 - no applicable action for [pattern], current ElementPath  is [[configuration][if][then][appender][encoder][pattern]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@56:56 - no applicable action for [logger], current ElementPath  is [[configuration][if][then][logger]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@57:27 - no applicable action for [level], current ElementPath  is [[configuration][if][then][logger][level]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@58:31 - no applicable action for [appender-ref], current ElementPath  is [[configuration][if][then][logger][appender-ref]]
openvidu-server_1  | 2021-10-15 11:40:51,556 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,556 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:169)
openvidu-server_1  | 2021-10-15 11:40:51,557 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,557 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:80)
openvidu-server_1  | 2021-10-15 11:40:51,558 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,558 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:60)
openvidu-server_1  | 2021-10-15 11:40:51,559 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,559 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:118)
openvidu-server_1  | 2021-10-15 11:40:51,560 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,560 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:306)
openvidu-server_1  | 2021-10-15 11:40:51,561 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,561 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:281)
openvidu-server_1  | 2021-10-15 11:40:51,563 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:239)
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:216)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
openvidu-server_1  | 	at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:80)
openvidu-server_1  | 	at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
openvidu-server_1  | 2021-10-15 11:40:51,563 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,563 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)
openvidu-server_1  | 2021-10-15 11:40:51,565 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
openvidu-server_1  | 	at io.openvidu.server.OpenViduServer.checkConfigProperties(OpenViduServer.java:306)
openvidu-server_1  | 	at io.openvidu.server.OpenViduServer.main(OpenViduServer.java:271)
openvidu-server_1  | 	... 8 more
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:40:51,628 DEBG fd 10 closed, stopped monitoring <POutputDispatcher at 274969160992 for <Subprocess at 274968949216 with name openvidu-server in state RUNNING> (stdout)>
openvidu-server_1  | 2021-10-15 11:40:51,628 INFO exited: openvidu-server (exit status 1; not expected)
openvidu-server_1  | 2021-10-15 11:40:51,630 DEBG received SIGCLD indicating a child quit
openvidu-server_1  | 2021-10-15 11:40:52,632 INFO spawned: 'openvidu-server' with pid 69
openvidu-server_1  | 2021-10-15 11:40:53,635 INFO success: openvidu-server entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
openvidu-server_1  | 2021-10-15 11:41:00,578 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | [ERROR] 2021-10-15 11:41:00,562 [main] org.springframework.boot.SpringApplication - Application run failed
openvidu-server_1  | java.lang.IllegalStateException: Logback configuration error detected: 
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@43:61 - no applicable action for [appender], current ElementPath  is [[configuration][if][then][appender]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@45:65 - no applicable action for [rollingPolicy], current ElementPath  is [[configuration][if][then][appender][rollingPolicy]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@46:23 - no applicable action for [FileNamePattern], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][FileNamePattern]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@48:18 - no applicable action for [MaxHistory], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][MaxHistory]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@49:20 - no applicable action for [TotalSizeCap], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][TotalSizeCap]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@51:74 - no applicable action for [encoder], current ElementPath  is [[configuration][if][then][appender][encoder]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@52:15 - no applicable action for [charset], current ElementPath  is [[configuration][if][then][appender][encoder][charset]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@53:15 - no applicable action for [pattern], current ElementPath  is [[configuration][if][then][appender][encoder][pattern]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@56:56 - no applicable action for [logger], current ElementPath  is [[configuration][if][then][logger]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@57:27 - no applicable action for [level], current ElementPath  is [[configuration][if][then][logger][level]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@58:31 - no applicable action for [appender-ref], current ElementPath  is [[configuration][if][then][logger][appender-ref]]
openvidu-server_1  | 	at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:169)
openvidu-server_1  | 	at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:80)
openvidu-server_1  | 	at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:60)
openvidu-server_1  | 	at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:118)
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:306)
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:281)
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:239)
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:216)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
openvidu-server_1  | 	at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:80)
openvidu-server_1  | 	at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
openvidu-server_1  | 	at io.openvidu.server.OpenViduServer.checkConfigProperties(OpenViduServer.java:306)
openvidu-server_1  | 	at io.openvidu.server.OpenViduServer.main(OpenViduServer.java:271)
openvidu-server_1  | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
openvidu-server_1  | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
openvidu-server_1  | 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
openvidu-server_1  | 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
openvidu-server_1  | 	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
openvidu-server_1  | 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:107)
openvidu-server_1  | 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
openvidu-server_1  | 	at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467)
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:41:00,583 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | Exception in thread "main" 
openvidu-server_1  | 2021-10-15 11:41:00,583 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | java.lang.reflect.InvocationTargetException
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:41:00,584 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:41:00,586 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
openvidu-server_1  | 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
openvidu-server_1  | 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
openvidu-server_1  | 	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
openvidu-server_1  | 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:107)
openvidu-server_1  | 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
openvidu-server_1  | 	at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467)
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:41:00,589 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | Caused by: java.lang.IllegalStateException: Logback configuration error detected: 
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@43:61 - no applicable action for [appender], current ElementPath  is [[configuration][if][then][appender]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@45:65 - no applicable action for [rollingPolicy], current ElementPath  is [[configuration][if][then][appender][rollingPolicy]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@46:23 - no applicable action for [FileNamePattern], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][FileNamePattern]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@48:18 - no applicable action for [MaxHistory], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][MaxHistory]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@49:20 - no applicable action for [TotalSizeCap], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][TotalSizeCap]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@51:74 - no applicable action for [encoder], current ElementPath  is [[configuration][if][then][appender][encoder]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@52:15 - no applicable action for [charset], current ElementPath  is [[configuration][if][then][appender][encoder][charset]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@53:15 - no applicable action for [pattern], current ElementPath  is [[configuration][if][then][appender][encoder][pattern]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@56:56 - no applicable action for [logger], current ElementPath  is [[configuration][if][then][logger]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@57:27 - no applicable action for [level], current ElementPath  is [[configuration][if][then][logger][level]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@58:31 - no applicable action for [appender-ref], current ElementPath  is [[configuration][if][then][logger][appender-ref]]
openvidu-server_1  | 	at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:169)
openvidu-server_1  | 	at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:80)
openvidu-server_1  | 	at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:60)
openvidu-server_1  | 	at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:118)
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:306)
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:281)
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:239)
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:216)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
openvidu-server_1  | 	at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:80)
openvidu-server_1  | 	at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
openvidu-server_1  | 	at io.openvidu.server.OpenViduServer.checkConfigProperties(OpenViduServer.java:306)
openvidu-server_1  | 	at io.openvidu.server.OpenViduServer.main(OpenViduServer.java:271)
openvidu-server_1  | 	... 8 more
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:41:00,643 DEBG fd 10 closed, stopped monitoring <POutputDispatcher at 274969160992 for <Subprocess at 274968949216 with name openvidu-server in state RUNNING> (stdout)>
openvidu-server_1  | 2021-10-15 11:41:00,646 INFO exited: openvidu-server (exit status 1; not expected)
openvidu-server_1  | 2021-10-15 11:41:00,646 DEBG received SIGCLD indicating a child quit
openvidu-server_1  | 2021-10-15 11:41:01,649 INFO spawned: 'openvidu-server' with pid 91
openvidu-server_1  | 2021-10-15 11:41:02,651 INFO success: openvidu-server entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
openvidu-server_1  | 2021-10-15 11:41:09,209 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | [ERROR] 2021-10-15 11:41:09,199 [main] org.springframework.boot.SpringApplication - Application run failed
openvidu-server_1  | java.lang.IllegalStateException: Logback configuration error detected: 
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@43:61 - no applicable action for [appender], current ElementPath  is [[configuration][if][then][appender]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@45:65 - no applicable action for [rollingPolicy], current ElementPath  is [[configuration][if][then][appender][rollingPolicy]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@46:23 - no applicable action for [FileNamePattern], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][FileNamePattern]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@48:18 - no applicable action for [MaxHistory], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][MaxHistory]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@49:20 - no applicable action for [TotalSizeCap], current ElementPath  is [[configuration][if][then][appender][rollingPolicy][TotalSizeCap]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@51:74 - no applicable action for [encoder], current ElementPath  is [[configuration][if][then][appender][encoder]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@52:15 - no applicable action for [charset], current ElementPath  is [[configuration][if][then][appender][encoder][charset]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@53:15 - no applicable action for [pattern], current ElementPath  is [[configuration][if][then][appender][encoder][pattern]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@56:56 - no applicable action for [logger], current ElementPath  is [[configuration][if][then][logger]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@57:27 - no applicable action for [level], current ElementPath  is [[configuration][if][then][logger][level]]
openvidu-server_1  | ERROR in ch.qos.logback.core.joran.spi.Interpreter@58:31 - no applicable action for [appender-ref], current ElementPath  is [[configuration][if][then][logger][appender-ref]]
openvidu-server_1  | 	at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:169)
openvidu-server_1  | 	at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:80)
openvidu-server_1  | 	at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:60)
openvidu-server_1  | 	at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:118)
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:306)
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:281)
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:239)
openvidu-server_1  | 	at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:216)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
openvidu-server_1  | 	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
openvidu-server_1  | 	at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:80)
openvidu-server_1  | 	at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
openvidu-server_1  | 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
openvidu-server_1  | 	at io.openvidu.server.OpenViduServer.checkConfigProperties(OpenViduServer.java:306)
openvidu-server_1  | 	at io.openvidu.server.OpenViduServer.main(OpenViduServer.java:271)
openvidu-server_1  | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
openvidu-server_1  | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
openvidu-server_1  | 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
openvidu-server_1  | 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
openvidu-server_1  | 	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
openvidu-server_1  | 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:107)
openvidu-server_1  | 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
openvidu-server_1  | 	at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467)
openvidu-server_1  | 
openvidu-server_1  | 2021-10-15 11:41:09,214 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | Exception in thread "main" 
openvidu-server_1  | 2021-10-15 11:41:09,215 DEBG 'openvidu-server' stdout output:
openvidu-server_1  | java.lang.reflect.InvocationTargetException
openvidu-server_1  | 2021-10-15 11:41:09,215 DEBG 'openvidu-server' stdout output:

Log start here is when kms launches successfully and basically it retries launching the server and crashes there.

From my research it seems like a problem with JVM and Apple Silicon with M1. (Those Apple guys breaks everything :wink: ):

We would be able to create an arm based image but Kurento can only by compiled as x86 at the moment. I don’t have a current solution for you right now, but definetly we should take a look to this.

/c @pabloFuente @micael.gallego @j1elo

What I would do is to spin up a VM with ubuntu server and connect your app using the private IP of this machine. It is not convenient but, it is the only workaround I can suggest right now.

Best Regards

Until SpringBoot on Apple M1 is not supported, we can not do too much to support OpenVidu on Apple M1.

Thanks for the replies!

I thought about wrapping up openvidu in ubuntu image, and then run installation from there, and if I understand you correctly @cruizba , this is what you are offering?

Also, if I decide to do that, what would I need to put in DOMAIN_OR_PUBLIC_IP environment variable? I cannot know the IP address before launching container.

Another question is: what kind of certificate is recommended for local development?

No, I was suggesting about installing some hardware virtualization like Virtual Box or VMWare and install there docker and run openvidu there.

About the DOMAIN_OR_PUBLIC_IP, you will know the IP of your VM on start.

About the certificates, I would use the selfsigned and install the certificate in my machine. They’re generated in /opt/openvuidu/certificates