Integration of the module in Keycloak (Firebase problem)

I am trying to create a custom spi for push notification with FCM (Firebase service for messages). When I tried to start the docker container I received this error: 2024-03-16 15:52:51,135 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Failed to start server in (production) mode
2024-03-16 15:52:51,135 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: com/google/firebase/FirebaseOptions$Builder
2024-03-16 15:52:51,135 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: com.google.firebase.FirebaseOptions$Builder
2024-03-16 15:52:51,135 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) For more details run the same command passing the ‘–verbose’ option. Also you can use ‘–help’ to see the details about the usage of the particular com.This is my code: package org.keycloak.pushNotification.interfaces;

import org.keycloak.Config;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.services.resource.RealmResourceProvider;
import org.keycloak.services.resource.RealmResourceProviderFactory;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

public class MyResourceProviderFactory implements RealmResourceProviderFactory {
public static final String PROVIDER_ID = “token-fcm”;

@Override
public RealmResourceProvider create(KeycloakSession keycloakSession) {
    return new MyResourceProvider(keycloakSession);
}

@Override
public void init(Config.Scope scope) {
}

// This function will be run only once at start-up => firebase sdk initialization
@Override
public void postInit(KeycloakSessionFactory keycloakSessionFactory) {
    try {
        InputStream serviceAccount = MyResourceProviderFactory.class.getResourceAsStream("/fcm.json");
        if (serviceAccount == null) {
            throw new FileNotFoundException("Could not find 'fcm.json' in the classpath");
        }
        FirebaseOptions options = new FirebaseOptions.Builder()
                .setCredentials(GoogleCredentials.fromStream(serviceAccount))
                .build();

        if (FirebaseApp.getApps().isEmpty()) { // check if it has been initialized before
            FirebaseApp.initializeApp(options);
        }
    } catch (IOException e) {
        throw new RuntimeException("Failed to initialize Firebase", e);
    }
}

@Override
public void close() {
}

@Override
public String getId() {
    return PROVIDER_ID;
}

}
pom.xml:

<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.pushNotification</groupId>
<artifactId>Push-Notification</artifactId>
<name>Push Notification</name>
<version>1.0-SNAPSHOT</version>

<properties>
    <quarkus.version>3.8.2</quarkus.version>
    <java.version>17</java.version>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-bom</artifactId>
            <version>${quarkus.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-core</artifactId>
        <version>22.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-server-spi-private</artifactId>
        <version>22.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-server-spi</artifactId>
        <version>22.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-services</artifactId>
        <version>22.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.infinispan</groupId>
        <artifactId>infinispan-core</artifactId>
        <version>15.0.0.Final</version>
    </dependency>
    <dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-model-infinispan</artifactId>
        <version>22.0.1</version>
    </dependency>
    <dependency>
        <groupId>io.quarkiverse.googlecloudservices</groupId>
        <artifactId>quarkus-google-cloud-firebase-admin</artifactId>
        <version>2.7.0</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-maven-plugin</artifactId>
            <version>${quarkus.version}</version>
            <extensions>true</extensions>
            <executions>
                <execution>
                    <goals>
                        <goal>build</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
If you can, please help me because I don't understand where the mistake could be.

I solved. Firebase initialization should not have been written in postInit, but a separate initialization class should have been created.