#152 server Docker container should store config and message store in volume to support upgrades

Closed
opened 1 year ago by dan · 5 comments
dan commented 1 year ago
https://stackoverflow.com/questions/26734402/how-to-upgrade-docker-container-after-its-image-changed
GBHC commented 1 year ago

Yes, apologies.

I didn't want to mess with the golang code itself for t'other ticket.

The following PR resolves both issues; https://git.openprivacy.ca/cwtch.im/cwtch/pulls/153

Yes, apologies. I didn't want to mess with the golang code itself for t'other ticket. The following PR resolves both issues; https://git.openprivacy.ca/cwtch.im/cwtch/pulls/153
GBHC commented 1 year ago

For reference;

# Stop your container
sudo docker stop container1

# Pull the new image
sudo docker pull cwtch:latest

# Create a new container and copy across the volumes
sudo docker create --volumes-from container1 -e CWTCH_CONFIG_DIR=/etc/cwtch/ cwtch:latest

# Start new container
sudo docker start FOO

You should see that the new container (foo) retains the config (hidden service address etc) of the old container (container1).

For reference; ``` # Stop your container sudo docker stop container1 # Pull the new image sudo docker pull cwtch:latest # Create a new container and copy across the volumes sudo docker create --volumes-from container1 -e CWTCH_CONFIG_DIR=/etc/cwtch/ cwtch:latest # Start new container sudo docker start FOO ``` You should see that the new container (foo) retains the config (hidden service address etc) of the old container (container1).
dan commented 1 year ago
Owner

any reason no to have the DOCKERFILE set the env variable of CWTCH_CONFIG_DIR to keep it even simpler to start? I can add this, I'm just adding the message store and metrics to the config dir too

any reason no to have the DOCKERFILE set the env variable of CWTCH_CONFIG_DIR to keep it even simpler to start? I can add this, I'm just adding the message store and metrics to the config dir too
GBHC commented 1 year ago

None at all.

An if check in docker-entrypoint would be ideal.

if [ -z "${CWTCH_CONFIG_DIR}" ]; then
CWTCH_CONFIG_DIR=/etc/cwtch/
fi
None at all. An if check in docker-entrypoint would be ideal. ``` if [ -z "${CWTCH_CONFIG_DIR}" ]; then CWTCH_CONFIG_DIR=/etc/cwtch/ fi ```
sarah referenced this issue from a commit 1 year ago
dan commented 1 year ago
Owner

done, works now, with #154

done, works now, with #154
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
Cancel
Save
There is no content yet.