title: Keycloak with Postgres on a Raspberry Pi 3b
body: <p>I have the following docker compose:</p>
  <pre><code>version: '3.1'
  
  services:
  
    keycloak-postgres:
      image: postgres
      restart: always
      volumes:
        - postgres-keycloak-data:/var/lib/postgresql/data
      expose:
        - 5433
      ports:
        - 5433:5432
      environment:
        POSTGRES_DB: keycloak
        POSTGRES_PASSWORD: password
        POSTGRES_USER: keycloak
  
    keycloak:
      image: mihaibob/keycloak:12.0.4
      depends_on: 
        - keycloak-postgres
      volumes:
        - ./keycloak/realm-export.json:/opt/jboss/keycloak/imports/realm-export.json
        - ./keycloak/keycloak-add-user.json:/opt/jboss/keycloak/standalone/configuration/keycloak-add-user.json
      environment:
        DB_VENDOR: POSTGRES
        DB_ADDR: keycloak-postgres
        DB_DATABASE: keycloak
        DB_USER: keycloak
        DB_SCHEMA: public
        DB_PASSWORD: password
        KEYCLOAK_IMPORT: /opt/jboss/keycloak/imports/realm-export.json -Dkeycloak.profile.feature.upload_scripts=enabled
      ports:
        - 8443:8443
      restart: on-failure
  
  volumes:
    postgres-keycloak-data:
  </code></pre>
  <p>I'm using the <code>mihaibob/keycloak:12.0.4</code> image instead of <code>jboss/keycloak</code> as I'm running on an arm 32 machine (Raspberry Pi) - it looks like it's the same but with an ubuntu base image.</p>
  <p>Whenever I start with <code>docker-compose up</code> I get the following logs from keycloak:</p>
  <pre><code>[36mkeycloak_1           |[0m [0mAttaching to raspberry-pi_keycloak_1, raspberry-pi_keycloak-postgres_1
  [36mkeycloak_1           |[0m -b 0.0.0.0
  [36mkeycloak_1           |[0m =========================================================================
  [36mkeycloak_1           |[0m 
  [36mkeycloak_1           |[0m   Using PostgreSQL database
  [36mkeycloak_1           |[0m 
  [36mkeycloak_1           |[0m =========================================================================
  [36mkeycloak_1           |[0m 
  [36mkeycloak_1           |[0m touch: setting times of '/opt/jboss/configured': Operation not permitted
  [36mkeycloak_1           |[0m -b 0.0.0.0
  [36mkeycloak_1           |[0m =========================================================================
  [36mkeycloak_1           |[0m 
  [36mkeycloak_1           |[0m   Using PostgreSQL database
  [36mkeycloak_1           |[0m 
  [36mkeycloak_1           |[0m =========================================================================
  [36mkeycloak_1           |[0m 
  [36mkeycloak_1           |[0m =========================================================================
  [36mkeycloak_1           |[0m 
  [36mkeycloak_1           |[0m   JBoss Bootstrap Environment
  [36mkeycloak_1           |[0m 
  [36mkeycloak_1           |[0m   JBOSS_HOME: /opt/jboss/keycloak
  [36mkeycloak_1           |[0m 
  [36mkeycloak_1           |[0m   JAVA: java
  [36mkeycloak_1           |[0m 
  [36mkeycloak_1           |[0m   JAVA_OPTS:  -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true    --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=jdk.unsupported/sun.reflect=ALL-UNNAMED
  [36mkeycloak_1           |[0m 
  [36mkeycloak_1           |[0m =========================================================================
  [36mkeycloak_1           |[0m 
  [36mkeycloak_1           |[0m OpenJDK Server VM warning: No monotonic clock was available - timed services may be adversely affected if the time-of-day clock changes
  [36mkeycloak_1           |[0m [0m10:33:47,138 INFO  [org.jboss.modules] (main) JBoss Modules version 1.10.2.Final
  [36mkeycloak_1           |[0m [0m[0m10:33:57,347 INFO  [org.jboss.msc] (main) JBoss MSC version 1.4.12.Final
  [36mkeycloak_1           |[0m [0m[0m10:33:57,481 INFO  [org.jboss.threads] (main) JBoss Threads version 2.4.0.Final
  [36mkeycloak_1           |[0m [0m[0m10:33:59,204 INFO  [org.jboss.as] (MSC service thread 1-1) WFLYSRV0049: Keycloak 12.0.4 (WildFly Core 13.0.3.Final) starting
  [36mkeycloak_1           |[0m [0m[0m10:34:00,779 INFO  [org.jboss.vfs] (MSC service thread 1-5) VFS000002: Failed to clean existing content for temp file provider of type temp. Enable DEBUG level log to find what caused this
  [36mkeycloak_1           |[0m [0m[0m10:34:15,287 INFO  [org.wildfly.security] (ServerService Thread Pool -- 22) ELY00001: WildFly Elytron version 1.13.1.Final
  [36mkeycloak_1           |[0m [0m[0m10:34:29,948 INFO  [org.jboss.as.controller.management-deprecated] (Controller Boot Thread) WFLYCTL0028: Attribute 'security-realm' in the resource at address '/core-service=management/management-interface=http-interface' is deprecated, and may be removed in a future version. See the attribute description in the output of the read-resource-description operation to learn more about the deprecation.
  [36mkeycloak_1           |[0m [0m[0m10:34:30,650 INFO  [org.jboss.as.controller.management-deprecated] (ServerService Thread Pool -- 27) WFLYCTL0028: Attribute 'security-realm' in the resource at address '/subsystem=undertow/server=default-server/https-listener=https' is deprecated, and may be removed in a future version. See the attribute description in the output of the read-resource-description operation to learn more about the deprecation.
  [36mkeycloak_1           |[0m [0m[0m10:34:34,082 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0039: Creating http management service using socket-binding (management-http)
  [36mkeycloak_1           |[0m [0m[0m10:34:34,310 INFO  [org.xnio] (MSC service thread 1-5) XNIO version 3.8.2.Final
  [36mkeycloak_1           |[0m [0m[0m10:34:34,400 INFO  [org.xnio.nio] (MSC service thread 1-5) XNIO NIO Implementation Version 3.8.2.Final
  [36mkeycloak_1           |[0m [0m[0m10:34:34,870 INFO  [org.wildfly.extension.microprofile.config.smallrye._private] (ServerService Thread Pool -- 48) WFLYCONF0001: Activating WildFly MicroProfile Config Subsystem
  [36mkeycloak_1           |[0m [0m[0m10:34:34,888 INFO  [org.jboss.as.clustering.jgroups] (ServerService Thread Pool -- 43) WFLYCLJG0001: Activating JGroups subsystem. JGroups version 4.2.5
  [36mkeycloak_1           |[0m [0m[0m10:34:34,829 INFO  [org.wildfly.extension.io] (ServerService Thread Pool -- 40) WFLYIO001: Worker 'default' has auto-configured to 8 IO threads with 64 max task threads based on your 4 available processors
  [36mkeycloak_1           |[0m [0m[0m10:34:35,198 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 39) WFLYCLINF0001: Activating Infinispan subsystem.
  [36mkeycloak_1           |[0m [0m[0m10:34:35,209 INFO  [org.wildfly.extension.microprofile.metrics.smallrye] (ServerService Thread Pool -- 50) WFLYMETRICS0001: Activating Eclipse MicroProfile Metrics Subsystem
  [36mkeycloak_1           |[0m [0m[0m10:34:35,208 INFO  [org.wildfly.extension.microprofile.health.smallrye] (ServerService Thread Pool -- 49) WFLYHEALTH0001: Activating Eclipse MicroProfile Health Subsystem
  [36mkeycloak_1           |[0m [0m[33m10:34:35,341 WARN  [org.jboss.as.txn] (ServerService Thread Pool -- 57) WFLYTX0013: The node-identifier attribute on the /subsystem=transactions is set to the default value. This is a danger for environments running multiple servers. Please make sure the attribute value is unique.
  [36mkeycloak_1           |[0m [0m[0m10:34:35,585 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 52) WFLYNAM0001: Activating Naming Subsystem
  [36mkeycloak_1           |[0m [0m[0m10:34:35,650 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 55) WFLYSEC0002: Activating Security Subsystem
  [36mkeycloak_1           |[0m [0m[0m10:34:35,710 INFO  [org.jboss.remoting] (MSC service thread 1-8) JBoss Remoting version 5.0.19.Final
  [36mkeycloak_1           |[0m [0m[0m10:34:35,887 INFO  [org.jboss.as.jaxrs] (ServerService Thread Pool -- 41) WFLYRS0016: RESTEasy version 3.13.2.Final
  [36mkeycloak_1           |[0m [0m[0m10:34:36,324 INFO  [org.jboss.as.connector] (MSC service thread 1-6) WFLYJCA0009: Starting JCA Subsystem (WildFly/IronJacamar 1.4.23.Final)
  [36mkeycloak_1           |[0m [0m[0m10:34:36,374 INFO  [org.jboss.as.security] (MSC service thread 1-1) WFLYSEC0001: Current PicketBox version=5.0.3.Final-redhat-00006
  [36mkeycloak_1           |[0m [0m[0m10:34:37,048 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 34) WFLYJCA0004: Deploying JDBC-compliant driver class org.h2.Driver (version 1.4)
  [36mkeycloak_1           |[0m [0m[0m10:34:37,136 INFO  [org.jboss.as.naming] (MSC service thread 1-8) WFLYNAM0003: Starting Naming Service
  [36mkeycloak_1           |[0m [0m[0m10:34:37,161 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-8) WFLYMAIL0001: Bound mail session [java:jboss/mail/Default]
  [36mkeycloak_1           |[0m [0m[0m10:34:37,310 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-8) WFLYJCA0018: Started Driver service with driver-name = h2
  [36mkeycloak_1           |[0m [0m[0m10:34:37,453 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-7) WFLYUT0003: Undertow 2.2.2.Final starting
  [36mkeycloak_1           |[0m [0m[33m10:34:38,070 WARN  [org.wildfly.clustering.web.undertow] (ServerService Thread Pool -- 58) WFLYCLWEBUT0007: No routing provider found for default-server; using legacy provider based on static configuration
  [36mkeycloak_1           |[0m [0m[0m10:34:39,964 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 58) WFLYUT0014: Creating file handler for path '/opt/jboss/keycloak/welcome-content' with options [directory-listing: 'false', follow-symlink: 'false', case-sensitive: 'true', safe-symlink-paths: '[]']
  [36mkeycloak_1           |[0m [0m[0m10:34:40,071 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0012: Started server default-server.
  [36mkeycloak_1           |[0m [0m[0m10:34:40,120 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-5) WFLYUT0018: Host default-host starting
  [36mkeycloak_1           |[0m [0m[0m10:34:41,970 INFO  [org.jboss.as.ejb3] (MSC service thread 1-5) WFLYEJB0481: Strict pool slsb-strict-max-pool is using a max instance size of 64 (per class), which is derived from thread worker pool sizing.
  [36mkeycloak_1           |[0m [0m[0m10:34:42,569 INFO  [org.jboss.as.ejb3] (MSC service thread 1-2) WFLYEJB0482: Strict pool mdb-strict-max-pool is using a max instance size of 16 (per class), which is derived from the number of CPUs on this host.
  [36mkeycloak_1           |[0m [0m[0m10:34:43,058 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-7) WFLYUT0006: Undertow HTTP listener default listening on 0.0.0.0:8080
  [36mkeycloak_1           |[0m [0m[0m10:34:43,062 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) WFLYUT0006: Undertow AJP listener ajp listening on 0.0.0.0:8009
  [36mkeycloak_1           |[0m [0m[0m10:34:43,173 INFO  [org.jboss.modcluster] (ServerService Thread Pool -- 60) MODCLUSTER000001: Initializing mod_cluster version 1.4.1.Final
  [36mkeycloak_1           |[0m [0m[0m10:34:43,497 INFO  [org.jboss.modcluster] (ServerService Thread Pool -- 60) MODCLUSTER000032: Listening to proxy advertisements on /224.0.1.105:23364
  [36mkeycloak_1           |[0m [0m[0m10:34:45,548 INFO  [org.jboss.as.ejb3] (MSC service thread 1-5) WFLYEJB0493: EJB subsystem suspension complete
  [36mkeycloak_1           |[0m [0m[0m10:34:48,142 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-6) WFLYJCA0001: Bound data source [java:jboss/datasources/ExampleDS]
  [36mkeycloak_1           |[0m [0m[0m10:34:48,176 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-4) WFLYJCA0001: Bound data source [java:jboss/datasources/KeycloakDS]
  [36mkeycloak_1           |[0m [0m[0m10:34:50,708 INFO  [org.jboss.as.patching] (MSC service thread 1-1) WFLYPAT0050: Keycloak cumulative patch ID is: base, one-off patches include: none
  [36mkeycloak_1           |[0m [0m[0m10:34:50,944 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-4) WFLYDS0013: Started FileSystemDeploymentService for directory /opt/jboss/keycloak/standalone/deployments
  [36mkeycloak_1           |[0m [0m[33m10:34:50,980 WARN  [org.jboss.as.domain.management.security] (MSC service thread 1-1) WFLYDM0111: Keystore /opt/jboss/keycloak/standalone/configuration/application.keystore not found, it will be auto generated on first use with a self signed certificate for host localhost
  [36mkeycloak_1           |[0m [0m[0m10:34:51,095 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-8) WFLYSRV0027: Starting deployment of &quot;keycloak-server.war&quot; (runtime-name: &quot;keycloak-server.war&quot;)
  [36mkeycloak_1           |[0m [0m[0m10:34:54,077 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-6) WFLYUT0006: Undertow HTTPS listener https listening on 0.0.0.0:8443
  [36mkeycloak_1           |[0m [0m[33m10:35:08,495 WARN  [org.jgroups.protocols.UDP] (ServerService Thread Pool -- 60) JGRP000015: the send buffer of socket ManagedMulticastSocketBinding was set to 1.00MB, but the OS only allocated 180.22KB
  [36mkeycloak_1           |[0m [0m[33m10:35:08,499 WARN  [org.jgroups.protocols.UDP] (ServerService Thread Pool -- 60) JGRP000015: the receive buffer of socket ManagedMulticastSocketBinding was set to 20.00MB, but the OS only allocated 180.22KB
  [36mkeycloak_1           |[0m [0m[33m10:35:08,502 WARN  [org.jgroups.protocols.UDP] (ServerService Thread Pool -- 60) JGRP000015: the send buffer of socket ManagedMulticastSocketBinding was set to 1.00MB, but the OS only allocated 180.22KB
  [36mkeycloak_1           |[0m [0m[33m10:35:08,506 WARN  [org.jgroups.protocols.UDP] (ServerService Thread Pool -- 60) JGRP000015: the receive buffer of socket ManagedMulticastSocketBinding was set to 25.00MB, but the OS only allocated 180.22KB
  [36mkeycloak_1           |[0m [0m[0m10:35:11,612 INFO  [org.jgroups.protocols.pbcast.GMS] (ServerService Thread Pool -- 60) c413ecf31c7f: no members discovered after 3034 ms: creating cluster as coordinator
  [36mkeycloak_1           |[0m [0m[0m10:35:22,092 INFO  [org.infinispan.CONTAINER] (ServerService Thread Pool -- 60) ISPN000128: Infinispan version: Infinispan 'Corona Extra' 11.0.4.Final
  [36mkeycloak_1           |[0m [0m[0m10:35:22,809 INFO  [org.infinispan.PERSISTENCE] (ServerService Thread Pool -- 60) ISPN000556: Starting user marshaller 'org.wildfly.clustering.infinispan.marshalling.jboss.JBossMarshaller'
  [36mkeycloak_1           |[0m [0m[0m10:35:23,433 INFO  [org.infinispan.PERSISTENCE] (ServerService Thread Pool -- 64) ISPN000556: Starting user marshaller 'org.wildfly.clustering.infinispan.spi.marshalling.InfinispanProtoStreamMarshaller'
  [36mkeycloak_1           |[0m [0m[0m10:35:23,433 INFO  [org.infinispan.PERSISTENCE] (ServerService Thread Pool -- 63) ISPN000556: Starting user marshaller 'org.wildfly.clustering.infinispan.marshalling.jboss.JBossMarshaller'
  [36mkeycloak_1           |[0m [0m[0m10:35:23,434 INFO  [org.infinispan.PERSISTENCE] (ServerService Thread Pool -- 66) ISPN000556: Starting user marshaller 'org.wildfly.clustering.infinispan.spi.marshalling.InfinispanProtoStreamMarshaller'
  [36mkeycloak_1           |[0m [0m[0m10:35:23,434 INFO  [org.infinispan.PERSISTENCE] (ServerService Thread Pool -- 65) ISPN000556: Starting user marshaller 'org.wildfly.clustering.infinispan.spi.marshalling.InfinispanProtoStreamMarshaller'
  [36mkeycloak_1           |[0m [0m[0m10:35:25,183 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 63) ISPN000078: Starting JGroups channel ejb
  [36mkeycloak_1           |[0m [0m[0m10:35:25,172 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 66) ISPN000078: Starting JGroups channel ejb
  [36mkeycloak_1           |[0m [0m[0m10:35:25,185 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 64) ISPN000078: Starting JGroups channel ejb
  [36mkeycloak_1           |[0m [0m[0m10:35:25,184 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 65) ISPN000078: Starting JGroups channel ejb
  [36mkeycloak_1           |[0m [0m[0m10:35:25,172 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 60) ISPN000078: Starting JGroups channel ejb
  [36mkeycloak_1           |[0m [0m[0m10:35:25,242 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 66) ISPN000094: Received new cluster view for channel ejb: [c413ecf31c7f|0] (1) [c413ecf31c7f]
  [36mkeycloak_1           |[0m [0m[0m10:35:25,243 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 65) ISPN000094: Received new cluster view for channel ejb: [c413ecf31c7f|0] (1) [c413ecf31c7f]
  [36mkeycloak_1           |[0m [0m[0m10:35:25,244 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 64) ISPN000094: Received new cluster view for channel ejb: [c413ecf31c7f|0] (1) [c413ecf31c7f]
  [36mkeycloak_1           |[0m [0m[0m10:35:25,242 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 60) ISPN000094: Received new cluster view for channel ejb: [c413ecf31c7f|0] (1) [c413ecf31c7f]
  [36mkeycloak_1           |[0m [0m[0m10:35:25,242 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 63) ISPN000094: Received new cluster view for channel ejb: [c413ecf31c7f|0] (1) [c413ecf31c7f]
  [36mkeycloak_1           |[0m [0m[0m10:35:25,302 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 65) ISPN000079: Channel ejb local address is c413ecf31c7f, physical addresses are [172.25.0.2:55200]
  [36mkeycloak_1           |[0m [0m[0m10:35:25,317 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 60) ISPN000079: Channel ejb local address is c413ecf31c7f, physical addresses are [172.25.0.2:55200]
  [36mkeycloak_1           |[0m [0m[0m10:35:25,321 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 63) ISPN000079: Channel ejb local address is c413ecf31c7f, physical addresses are [172.25.0.2:55200]
  [36mkeycloak_1           |[0m [0m[0m10:35:25,322 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 64) ISPN000079: Channel ejb local address is c413ecf31c7f, physical addresses are [172.25.0.2:55200]
  [36mkeycloak_1           |[0m [0m[0m10:35:25,347 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 66) ISPN000079: Channel ejb local address is c413ecf31c7f, physical addresses are [172.25.0.2:55200]
  [36mkeycloak_1           |[0m [0m[0m10:35:25,923 INFO  [org.infinispan.CONFIG] (MSC service thread 1-6) ISPN000152: Passivation configured without an eviction policy being selected. Only manually evicted entities will be passivated.
  [36mkeycloak_1           |[0m [0m[0m10:35:25,935 INFO  [org.infinispan.CONFIG] (MSC service thread 1-6) ISPN000152: Passivation configured without an eviction policy being selected. Only manually evicted entities will be passivated.
  [36mkeycloak_1           |[0m [0m[0m10:35:28,682 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 65) WFLYCLINF0002: Started http-remoting-connector cache from ejb container
  [36mkeycloak_1           |[0m [0m[0m10:35:29,967 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 66) WFLYCLINF0002: Started offlineClientSessions cache from keycloak container
  [36mkeycloak_1           |[0m [0m[0m10:35:30,002 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 60) WFLYCLINF0002: Started offlineSessions cache from keycloak container
  [36mkeycloak_1           |[0m [0m[0m10:35:30,412 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 71) WFLYCLINF0002: Started actionTokens cache from keycloak container
  [36mkeycloak_1           |[0m [0m[0m10:35:30,448 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 68) WFLYCLINF0002: Started loginFailures cache from keycloak container
  [36mkeycloak_1           |[0m [0m[0m10:35:30,469 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 64) WFLYCLINF0002: Started users cache from keycloak container
  [36mkeycloak_1           |[0m [0m[0m10:35:30,469 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 70) WFLYCLINF0002: Started sessions cache from keycloak container
  [36mkeycloak_1           |[0m [0m[0m10:35:30,470 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 65) WFLYCLINF0002: Started keys cache from keycloak container
  [36mkeycloak_1           |[0m [0m[0m10:35:30,473 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 63) WFLYCLINF0002: Started authorization cache from keycloak container
  [36mkeycloak_1           |[0m [0m[0m10:35:30,479 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 67) WFLYCLINF0002: Started realms cache from keycloak container
  [36mkeycloak_1           |[0m [0m[0m10:35:30,494 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 73) WFLYCLINF0002: Started clientSessions cache from keycloak container
  [36mkeycloak_1           |[0m [0m[0m10:35:30,499 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 69) WFLYCLINF0002: Started authenticationSessions cache from keycloak container
  [36mkeycloak_1           |[0m [0m[0m10:35:30,520 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 72) WFLYCLINF0002: Started work cache from keycloak container
  [36mkeycloak_1           |[0m [0m[33m10:35:32,190 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-4) WFLYSRV0273: Excluded subsystem webservices via jboss-deployment-structure.xml does not exist.
  [36mkeycloak_1           |[0m [0m[0m10:35:39,922 INFO  [org.keycloak.services] (ServerService Thread Pool -- 72) KC-SERVICES0001: Loading config from standalone.xml or domain.xml
  [36mkeycloak_1           |[0m [0m[33m10:35:41,062 WARN  [org.keycloak.common.Profile] (ServerService Thread Pool -- 72) Deprecated feature enabled: upload_scripts
  [36mkeycloak_1           |[0m [0m[33m10:35:41,064 WARN  [org.keycloak.common.Profile] (ServerService Thread Pool -- 72) Preview feature enabled: scripts
  [36mkeycloak_1           |[0m [0m[0m10:35:42,470 INFO  [org.keycloak.url.DefaultHostnameProviderFactory] (ServerService Thread Pool -- 72) Frontend: &lt;request&gt;, Admin: &lt;frontend&gt;, Backend: &lt;request&gt;
  [36mkeycloak_1           |[0m [0m[33m10:35:46,169 WARN  [org.infinispan.encoding.impl.StorageConfigurationManager] (ServerService Thread Pool -- 72) ISPN000599: Configuration for cache 'realmRevisions' does not define the encoding for keys or values. If you use operations that require data conversion or queries, you should configure the cache with a specific MediaType for keys or values.
  [36mkeycloak_1           |[0m [0m[0m10:35:46,251 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 72) WFLYCLINF0002: Started realmRevisions cache from keycloak container
  [36mkeycloak_1           |[0m [0m[33m10:35:46,262 WARN  [org.infinispan.encoding.impl.StorageConfigurationManager] (ServerService Thread Pool -- 72) ISPN000599: Configuration for cache 'userRevisions' does not define the encoding for keys or values. If you use operations that require data conversion or queries, you should configure the cache with a specific MediaType for keys or values.
  [36mkeycloak_1           |[0m [0m[0m10:35:46,305 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 72) WFLYCLINF0002: Started userRevisions cache from keycloak container
  [36mkeycloak_1           |[0m [0m[33m10:35:46,320 WARN  [org.infinispan.encoding.impl.StorageConfigurationManager] (ServerService Thread Pool -- 72) ISPN000599: Configuration for cache 'authorizationRevisions' does not define the encoding for keys or values. If you use operations that require data conversion or queries, you should configure the cache with a specific MediaType for keys or values.
  [36mkeycloak_1           |[0m [0m[0m10:35:46,363 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 72) WFLYCLINF0002: Started authorizationRevisions cache from keycloak container
  [36mkeycloak_1           |[0m [0m[0m10:35:46,371 INFO  [org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory] (ServerService Thread Pool -- 72) Node name: c413ecf31c7f, Site name: null
  [36mkeycloak_1           |[0m [0m[0m10:35:52,222 INFO  [org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory] (ServerService Thread Pool -- 72) Database info: {databaseUrl=jdbc:h2:/opt/jboss/keycloak/standalone/data/keycloak, databaseUser=SA, databaseProduct=H2 1.4.197 (2018-03-18), databaseDriver=H2 JDBC Driver 1.4.197 (2018-03-18)}
  [36mkeycloak_1           |[0m [0m[0m10:36:48,801 INFO  [org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider] (ServerService Thread Pool -- 72) Initializing database schema. Using changelog META-INF/jpa-changelog-master.xml
  </code></pre>
  <p>It then proceeds to connect to an embedded H2 database (working, but not ideal!). Why is it doing this? Why can't it connect to postgres? There are no errors that I can see in the above logs, or the postgres logs.</p>
  <p>The postgres database is empty:</p>
  <pre><code>pi@raspberrypi:~/raspberry-pi $ docker exec -it raspberry-pi_keycloak-postgres_1 psql -U keycloak
  psql (13.2 (Debian 13.2-1.pgdg100+1))
  Type &quot;help&quot; for help.
  
  keycloak=# \d
  Did not find any relations.
  keycloak=# \dn
    List of schemas
    Name  |  Owner
  --------+----------
   public | keycloak
  (1 row)
  
  keycloak=#
  </code></pre>