<p dir="ltr">We are planning on at some point to add an import directory. You can dump a realm json file in there and Keycloak will only import it once. It would use the hash of the file and add a marker to the db to make sure it&#39;s only done once, even if you delete the realm in the db.</p>
<p dir="ltr">Not sure when or even if this will be added though.</p>
<p dir="ltr">Another option is that it would be relatively easy to extend the Docker image to import a file only first time it&#39;s started.</p>
<div class="gmail_quote">On 15 Feb 2016 10:06, &quot;Tim Dudgeon&quot; &lt;<a href="mailto:tdudgeon.ml@gmail.com">tdudgeon.ml@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Edgar,<br>
<br>
Well, the way I&#39;m doing it now (which I don&#39;t like at all, hence the<br>
original post), is to run the startup script in a separate container so<br>
that the database (Postgres in my case) is populated, and to do that<br>
once before the actual container is launched (so that the real container<br>
picks up the required configuration from the database).<br>
Importing the realm every time might be an alternative, as long is it<br>
doesn&#39;t over-write any user info. I&#39;ll look into that.<br>
But hoping that there are better suggestions for this out there!<br>
<br>
Tim<br>
<br>
On 15/02/2016 08:40, Edgar Vonk - Info.nl wrote:<br>
&gt; Hi Tim,<br>
&gt;<br>
&gt; We also struggle with this. What we do at the moment is we _always_ import the realm on startup of our Keycloak Docker container. Our current idea is that we will not have any runtime configuration changes in our realm at all, apart from filling the Keycloak caches. The idea being that runtime configuration changes are not automatable. We store our users and groups in LDAP/Active Directory and all realm configuration is stored in the realm JSON file in Git and imported every time.<br>
&gt;<br>
&gt; I was wondering: if you do change your realm configuration runtime how do you deal with deployment automation? Is your idea to only import your realm definition once? If so, how would you deal with automating realm configuration changes?<br>
&gt;<br>
&gt; cheers<br>
&gt;<br>
&gt; Edgar<br>
&gt;<br>
&gt;&gt; On 12 Feb 2016, at 16:14, Tim Dudgeon &lt;<a href="mailto:tdudgeon.ml@gmail.com">tdudgeon.ml@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; I&#39;ve been struggling with a clean way to initialize the keycloak docker<br>
&gt;&gt; container.<br>
&gt;&gt; I need to import a realm definition, and the only way I can find is it<br>
&gt;&gt; start the image with the import options, wait for this to complete so<br>
&gt;&gt; that the database is populated and then to Ctrl-C out and to restart the<br>
&gt;&gt; container proper, which is hardly automatable.<br>
&gt;&gt; With 1.8 this also needs to include defining the admin user.<br>
&gt;&gt;<br>
&gt;&gt; Is there a cleaner way of achieving this?<br>
&gt;&gt; For instance, with the postgres docker images you just put any<br>
&gt;&gt; initialisation *.sql or *.sh scripts in a specific directory and they<br>
&gt;&gt; get executed first time the server starts.<br>
&gt;&gt;<br>
&gt;&gt; Tim<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; keycloak-user mailing list<br>
&gt;&gt; <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><br>
<br>
_______________________________________________<br>
keycloak-user mailing list<br>
<a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><br>
</blockquote></div>