sciapp / sampledb

Sample and Measurement Metadata Database
https://scientific-it-systems.iffgit.fz-juelich.de/SampleDB/
MIT License
21 stars 11 forks source link

Add docker-compose.yml file and instructions #6

Closed NicolasCARPi closed 4 years ago

NicolasCARPi commented 4 years ago

I think it's much easier to have a docker-compose.yml file that is easily editable instead of multi-line docker run commands. So I added one with the instructions in the README.

FlorianRhiem commented 4 years ago

Thank you for the pull request!

NicolasCARPi commented 4 years ago

Thank you for the pull request!

You're welcome :)

Note that it might be good to also have a :latest tag in docker hub so the given commands/config can point to that and always be correct. Now if you release a new version you'll need to edit the readme and docker-compose.yml, which is not ideal.

FlorianRhiem commented 4 years ago

There are several other locations for updating the version, I usually do this in a seperate release branch. The reason I'm not using latest is that it could lead to a version upgrade happening unintentionally. While we do plenty of testing and review before merging changes into develop and have the develop branch running in a testing and development installation, I still want administrators to make backups before upgrading (and therefore possibly applying database schema migrations).

NicolasCARPi commented 4 years ago

I mean not using latest in your prod config is the correct thing to do (pinning a version), the idea was to reduce the version string repetition all over the place, using latest and recommending to pin the version for prod.

Anyway, that's just my 2 cents, if you have a detailed release process that takes care of updating it in all places, no problem with keeping it like that :) (it just makes diffs messier)

And even if it's not in the doc, having a latest tag on docker hub is kinda standard (unless of course you absolutely don't want anyone to use the latest tag for the reasons you mentioned, which seems perfectly valid).

I still want administrators to make backups before upgrading (and therefore possibly applying database schema migrations).

This is unrelated. Here is how I approach this problem: