[ACTION REQUIRED] Upcoming Deprecation of older docker images and static JS/CSS assets #2501
sjahl
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
What is happening?
Summary
Seqr is making updates to how our docker images work, and you will need to update your deployment by 2022/04/04. Please see the information below for more details.
Slightly Longer Version
We’re making two functional changes to the way seqr is packaged in Docker.
git pull
to update themselves on startup.However, if you are using a docker image from prior to when we made these changes, your installation still has the
git pull
update functionality. If you do nothing, your seqr installation may break after 2022/04/04 when it pulls down the version of the seqr code that has the assets removed. You will find instructions below on how to proceed.Going forward, we will be publishing new versions of the seqr docker image every time we release seqr. Updating your seqr installation will now involve periodically pulling the new docker image and then restarting the container.
What Should I do?
If you run a local installation of seqr using our docker-compose.yml file and the official gcr.io/seqr-project/seqr docker images
Before proceeding: There is a chance that your docker image has accumulated state in the
/seqr_static_media/generated_files
directory inside your container. You should copy the files in that directory out of the seqr container before redeploying, or the files will be deleted. With the updated container, that directory will now be a volume like the other data folders in the docker-compose file. You can copy data into the volume mount in your data folder after you update your seqr installation, and the data will be persisted there.Before 2022/04/04, you need to:
After this is complete: From now on, you will use this docker-compose pull/up sequence to update your seqr installation. It will no longer update itself in the event that your container restarts.
If you build your own version of the seqr docker image using the Dockerfile from the seqr repository
The following changes may impact how you build your container:
git pull
on container startup. To update seqr, you will need to build and deploy a new version of your docker containergit checkout
that repo/branch, and then run your docker build (or configure your build automation tool to do this)Why are we doing this?
Currently seqr publishes a docker image that changes infrequently. The way you typically get updates to seqr is through a git pull that the container runs:
While this is sometimes convenient because you don’t have to pull new docker images, it’s also problematic for a few reasons:
Having a seqr codebase that updates without the rest of the image makes the docker image “mutable”:
The seqr project also publishes statically built HTML, CSS, and Javascript assets in its git repository. This is problematic because:
The end result is an image and dockerfile that are more amenable to automated builds, align more closely with typical docker-compose/kubernetes deployment patterns, and that provide more flexibility in building alternate or customized versions of seqr.
If you have questions or concerns about this change, please don't hesitate to respond here!
Beta Was this translation helpful? Give feedback.
All reactions