Stream: dev

Topic: fast redeploy with docker compose


view this post on Zulip Philip Durbin 🚀 (Nov 04 2025 at 20:56):

  dataverse:
    container_name: "dataverse"
    hostname: dataverse
    build:
      dockerfile: ./dataverse/Dockerfile
      args:
        - BASE_VERSION=${BASE_VERSION:-6.6-noble}
        - DATAVERSE_WAR_URL=${DATAVERSE_WAR_URL:-https://github.com/IQSS/dataverse/releases/download/v6.6/dataverse-6.6.war}
        - USER_ID=${USER_ID:-1000}
        - GROUP_ID=${GROUP_ID:-1000}

From @Eryk Kulikowski at https://github.com/libis/rdm-integration/blob/bca3826674a426522fdd75437b0e4ff54234f6e6/docker-compose.yml#L66

view this post on Zulip Oliver Bertuch (Nov 07 2025 at 09:57):

What I like most in that repo: the modularized approach to setup. @Eryk Kulikowski this would be good to have in upstream, too!

view this post on Zulip Philip Durbin 🚀 (Nov 07 2025 at 11:33):

Absolutely. That compose file was something we only touched on during tech hours but I'd love to hear more.

view this post on Zulip Eryk Kulikowski (Nov 07 2025 at 11:57):

I just opened a PR that might be interesting for the upstream repo: https://github.com/IQSS/dataverse/pull/11961

It adds fast-redeploy scripts for container-based development that reduce iteration time from ~54s to ~12s (4.5x faster). The workflow uses exploded WAR deployment with incremental compilation and Payara's asadmin deploy --force for hot redeployment without container restarts.

Key features:

This could be a good topic for tech hours - we could discuss what developer workflow improvements would be valuable to include in the mainstream Dataverse repo.

view this post on Zulip Philip Durbin 🚀 (Nov 07 2025 at 11:58):

@Eryk Kulikowski THANK YOU!

view this post on Zulip Philip Durbin 🚀 (Nov 07 2025 at 11:58):

And yes, I'd love to hear from other developers any tips and tricks to speed up development!

view this post on Zulip Oliver Bertuch (Nov 10 2025 at 09:39):

@Eryk Kulikowski I really like what you did in your PR! Thanks for testing out all of this stuff and looking into making it work!

view this post on Zulip Oliver Bertuch (Nov 10 2025 at 09:39):

I have a few suggestions and maybe we should discuss them here in chat or during the next containerization meeting.

view this post on Zulip Oliver Bertuch (Nov 10 2025 at 09:58):

Braindump / Notes to self:

view this post on Zulip Philip Durbin 🚀 (May 26 2026 at 13:44):

Eryk Kulikowski said:

I just opened a PR that might be interesting for the upstream repo: https://github.com/IQSS/dataverse/pull/11961

@Eryk Kulikowski sorry, I'm only just trying this! I'm running into some problems, unfortunately. Can you please take a look at my comment at https://github.com/IQSS/dataverse/pull/11961/changes#r3304062417 ? Thanks!

view this post on Zulip Philip Durbin 🚀 (May 26 2026 at 13:48):

Actually, you know what, I tried it again and it worked!

view this post on Zulip Philip Durbin 🚀 (May 26 2026 at 13:54):

Merged! Thanks, @Eryk Kulikowski! :heart:

view this post on Zulip Philip Durbin 🚀 (May 26 2026 at 19:35):

@Eryk Kulikowski I'm already using your scripts! I love them! Thanks again!

view this post on Zulip Philip Durbin 🚀 (May 27 2026 at 20:46):

I used it all day today. It's great!

view this post on Zulip Philip Durbin 🚀 (May 27 2026 at 20:47):

The IDE methods are much more fiddly. You have to update each class individually.

view this post on Zulip Philip Durbin 🚀 (May 27 2026 at 20:48):

With Eryk's method you can edit a bunch of files and not think hard about which one you edited. You can just run the script and BOOM, the new code is deployed.

view this post on Zulip Oliver Bertuch (May 28 2026 at 14:18):

Cool! Still wondering if we can make it a bit more aligned, more intuitive to use for folks new to this kind of stuff. It might seem strange to people to run these scripts.

view this post on Zulip Philip Durbin 🚀 (May 28 2026 at 14:24):

As a command line junkie, I find them quite natural! :smile: :tada:

view this post on Zulip Philip Durbin 🚀 (Jun 08 2026 at 14:01):

@Eryk Kulikowski I switched to #11507 where many more fields have been added to scripts/api/data/metadatablocks/geospatial.tsv but I don't see them:

Screenshot 2026-06-08 at 9.55.09 AM.png

Do I have to do something special apart from rm -rf docker-dev-volumes to pick up the new fields before running scripts/dev/dev-start-frd.sh?

view this post on Zulip Philip Durbin 🚀 (Jun 08 2026 at 14:07):

I can see the new fields with the normal mvn -Pct clean package docker:run method. I assume it's because the configbaker image is re-created.

view this post on Zulip Eryk Kulikowski (Jun 08 2026 at 15:28):

@Philip Durbin 🚀 ,

Most likely the mvn -Pct clean package docker:run updated your db (by processing tsv and adding the metadata), so the frd scripts should work as usual after that step? And you are right to suspect the config bakers, etc. Fast redeploy scripts only touch on the java code/war file, not DB or other things.

view this post on Zulip Philip Durbin 🚀 (Jun 08 2026 at 15:37):

Yes, that's what I'm thinking. We just might want to leave a note at a future version of https://preview.guides.gdcc.io/en/develop/container/dev-usage.html#fast-redeploy-command-line to help set expectations.

view this post on Zulip Philip Durbin 🚀 (Jun 11 2026 at 15:28):

@Eryk Kulikowski (and others), if you're interested, @Oliver Bertuch and I chatted a bit about your (awesome) fast redeploy scripts this morning during the container meeting. Here's the recording: https://drive.google.com/drive/folders/1-HjwWrvQggmILe0hSBKgPLREmt6uwgy-?usp=drive_link

view this post on Zulip Eryk Kulikowski (Jun 16 2026 at 08:35):

Great feedback, thanks! I tried to improve the scripts based on that: https://github.com/IQSS/dataverse/pull/12467

Simplified and runs now with mvn -Pfrd package, removed the shell scripts, etc.

view this post on Zulip Philip Durbin 🚀 (Aug 06 2026 at 14:56):

@Eryk Kulikowski I heard you were on vacation. Welcome back! I wanted to let you know that like I said at https://github.com/IQSS/dataverse/pull/12467#issuecomment-4866949488 Oliver gave a lot of great feedback on your PR at the end of the July container meeting. Here's the recording. You can skip ahead to ~55:30.


Last updated: Aug 18 2026 at 08:27 UTC