Hi all,
I’m looking for guidance on the recommended starting point for a production deployment of Dataverse using containers.
I’m intentionally not asking to debug my current setup — I’d rather understand how people who run Dataverse in production with Docker usually start.
Current context (already done):
What I’m trying to understand:
For production with containers:
If starting from the demo:
From a Dataverse perspective:
Are there any “known good” reference setups (even informal) that the community considers production-ready with Docker?
I’m comfortable with infrastructure and security, but I’m still learning the Dataverse-specific production patterns, and I’d really appreciate guidance on the right way to start rather than trial-and-error.
Thanks in advance for any pointers.
— Mauricio
@Andres Mauricio Heredia hi! We had a meeting just today! (See #containers > meetings). Maybe you can join the next one! Meanwhile, we can try to answer you here. :smile:
The dev persona is what we use in development. This explains how to set up a demo persona, which is more secure than the default dev persona: https://guides.dataverse.org/en/6.9/container/running/demo.html#creating-and-running-a-demo-persona
Does that help?
Hi Philip, thanks — yes, that does help :+1:
What I’m trying to validate is the correct production path, because what I’m seeing is this:
As soon as I start making what I would expect to be “production changes”:
Dataverse stops working properly (sometimes it only reaches Payara, other times Dataverse starts but nothing initializes).
So my question is more about process than configuration:
Is the recommended approach to:
Or should production be approached as:
2) starting from scratch with all production configurations defined up front, and expecting Dataverse to initialize correctly from that state?
I’m comfortable adjusting configs, but I’m missing the mental model of how the Dataverse team expects the transition from demo → production-with-containers to happen.
Any guidance from people who’ve done this in production would be really valuable.
I see. I would suggest starting from a working config and then making changes one by one, such as switching to S3.
after several days of debugging I want to share a clear finding and ask for guidance / confirmation.
Observed behavior
gdcc/dataverse + gdcc/configbaker) with Dataverse 6.9, the instance can start, metadata blocks are loaded, but the root dataverse is never created. The bootstrap.sh script skips execution as soon as metadata blocks exist:
BLOCK_COUNT=$(curl ... /api/metadatablocks) if [[ $BLOCK_COUNT -gt 0 ]]; then echo "Your instance has been bootstrapped already, skipping." exit 0 fi
Once this happens, the system is left in an inconsistent state:
dataverse table is empty POST /api/dataverses/:root fails, POST /api/dataverses returns Bad API key or validation errors)Important comparison
This strongly suggests a bootstrap regression between 6.5 → 6.9, likely related to:
Impact
Questions to the community
Any confirmation, guidance, or pointer to the correct workflow would be greatly appreciated.
Thanks in advance.
Andres Mauricio Heredia said:
- with Dataverse 6.9, the instance can start, metadata blocks are loaded, but the root dataverse is never created.
@Oliver Bertuch @Balázs Pataki does this sound like what @Akio Sone was telling us in the containerization working group meeting yesterday? :thinking:
@Akio Sone were you seeing the same symptoms? No root collection created?
This morning I just checked out DV, built the 6.9 base image and then DV and it started all right with Root collection, and everything. But this is with a totally fresh instance and in "dev" only, not production.
And I deleted all my gdcc/* docker images, so these were all built fresh
@Balázs Pataki phew! Thanks for testing! :sweat_smile:
But how can we reproduce what @Andres Mauricio Heredia is seeing? :thinking:
Not sure what's going on here. Also I'm a bit reluctant here because the description above sounds influenced by an LLM, which may foster doing things the wrong way.
I'm not 100% sure what @Akio Sone problems were exactly :see_no_evil: As far as I understood, he (has?) had a build problem when checking out the 6.9 code and building the images, not a problem with bootstrapping. So I'd cautiously vote for "not related".
I would suggest to make sure to start from clean: remove all gdcc and other containers and images built/started by docker compose and start with a fresh clone of the repo so that previous attempts don't "infect" the experiment.
Wait a sec here - I may have an idea!
He says this is about bootstrapping, so configbaker related.
IIRC somewhere around 6.5 we started "real" tags.
So he may be using the unstable tag from before!
If @Andres Mauricio Heredia kept those around for any 6.9 experiments, that would be my educated guess where any kind of trouble may come from.
I may be wrong, but my non-LLM advice: first pin down these versions in both DV and Bootstrapping, try again and see what happens.
So basically what @Balázs Pataki said, but in more controlled manner than "delete all images". :wink: Hat tip for jumpstarting my brain! :coin: :top_hat: :smiley:
@Akio Sone so! Please try deleting local gdcc images to get a clean test of 6.9. Thanks!
@Andres Mauricio Heredia please keep the questions coming! We love the feedback! Again, I'm sorry we could talk to you live yesterday during the meeting!
I encountered the reported issue as follows:
Dataverse sub-containers were running but Dataverse (web page) seemed not working
symptoms: Docker log (server.log) showed that an old version of Payara was still running and
that the health check (hitting the health-check API endpoint) was continuously failing
Don Sizemore told me that version 6.9 requires a new version of Payara server due to some recent change made by Jim
check out the develop branch (commit id: 96e96f4763; 2025-12-22;)
When a new version of Dataverse is released, I set up a fresh repository for each version.
So I suspected some of the commits between the day when the tag was created and 2025-12-22 fixed the above issue although I did not dig in which commit(s) solved the issue.
@Akio Sone that makes sense but our suggestion is to delete any gdcc containers from Docker and try the above again.
Hi to everyone, thanks for the interest on this call for help, I couldn't do it with containers, so I made it in the tradicional installation way, and now we are in production, and we are figuring on the dataverse installations map. Thanks Again.
No worries! The traditional way is fine! Is there any feedback you'd like to give about containers? Anything we can improve?
Last updated: Apr 03 2026 at 06:08 UTC