Skip to content

Compose for production deployment #204

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from
Draft

Compose for production deployment #204

wants to merge 6 commits into from

Conversation

kaitj
Copy link
Collaborator

@kaitj kaitj commented Nov 13, 2023

This sets up a production docker compose for easier deployment long-term. It has been tested on Arbutus cloud, but not extensively (i.e. has not been put to actual use with real data). Some things may need to be changed, however given Graham cloud is still up and running, this compose file is not necessary until the application needs to be redeployed form scratch. Creating this draft PR so that this is available for whomever is the current maintainer at that time.

Note: Kubernetes was also looked into for this, but ultimately decided was over engineered for the purposes of deploying the application on a single VM instance.

Jason Kai added 6 commits November 13, 2023 10:51
This commit makes use of the .envtemplate file to read the environment
variables. In doing so, the .envtemplate has been updated with the
values necessary for dev deployment (with comments indicating dev only
values).

Took advantage of this commit to reorganize the .envtemplate file.
Docker by default saves a single log file in a privileged location:
/var/lib/docker/containers/<container_id>-json.log, which can be
accessed via the Docker commands or directly.

This commit updates the logging options to set the maximum file size to
be 300kB and a maximum of 10 files to be created. When this limit is
reached, the oldest file / content will be overwritten.
Add comments to dockerfile and organize spacing by stages.
Created separate production Docker and compose files. The main
difference is checking out the latest tagged version and only starting
required services.

Also update tar2bids to use v0.2.3 and debian dependencies in
Dockerfile. Pulled khanlab/cfmm2tar instead of tkuehn/cfmm2tar-custom,
which had overwrote the security certificates to work with the orthanc
dicom server.
When a non-alphanumerical character is encountered, the string is placed
in extra quotes, mutating the provided password. This password is then
denied during the authentication process.
@kaitj kaitj added the enhancement New feature or request label Nov 13, 2023
@akhanf
Copy link
Member

akhanf commented Jun 26, 2024

this is great -- maybe I can try this out on a new cloud instance to see how it works. Would be good time to document the production steps as I go as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants