If you are using newer version of keycloak specifically 26, then
https://www.keycloak.org/server/containers#_importing_a_realm_on_startup
keycloak:
image: quay.io/keycloak/keycloak:26.1.4
command: start-dev --import-realm
ports:
- "8081:8080"
environment:
KC_BOOTSTRAP_ADMIN_USERNAME: admin
KC_BOOTSTRAP_ADMIN_PASSWORD: admin
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak
KC_DB_USERNAME: keycloak
KC_DB_PASSWORD: keycloak
volumes:
- keycloak_data:/opt/keycloak/data
- ./compose/keycloak/realms:/opt/keycloak/data/import
networks:
- keycloak