Coder Social home page Coder Social logo

Comments (5)

Derekt2 avatar Derekt2 commented on May 28, 2024 2

Watchtower does seems to solve this problem of redeploying automatically, since the images are public

docker run -d \
    --name watchtower \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    target/strelka-backend target/strelka-frontend target/strelka-manager target/strelka-ui target/strelka-filestream target/strelka-fileshot target/strelka-oneshot

should work depending on which images you're pulling & running

from strelka.

Het-Joshi avatar Het-Joshi commented on May 28, 2024 1
  1. Watchtower: You can use Watchtower to automatically update your Docker containers, including those running Strelka. This involves running Watchtower as a separate container, which monitors your Docker containers for updates and automatically pulls and restarts them when new versions are available on Docker Hub.

  2. Custom Script: You can write a custom script that checks for updates to Strelka on a regular basis (e.g., weekly) and automatically pulls and restarts the Docker containers if updates are available. This would involve scripting the Docker commands to pull the latest images and restart the containers.

#!/bin/bash

# Function to check for updates and update Docker containers if needed
check_and_update_strelka() {
    local current_version=$(docker image inspect -f '{{ .Created }}' target/strelka-backend | cut -d 'T' -f1)
    local latest_version=$(curl -s https://registry.hub.docker.com/v1/repositories/target/strelka-backend/tags | jq -r 'max_by(.last_updated) | .last_updated')

    if [[ "$current_version" != "$latest_version" ]]; then
        echo "New version of Strelka available. Updating..."
        docker-compose pull
        docker-compose up -d
        echo "Strelka updated successfully!"
    else
        echo "Strelka is already up to date."
    fi
}

# Main function to execute the update check
main() {
    echo "Checking for updates to Strelka..."
    check_and_update_strelka
}

# Execute the main function
main
  1. Keel or Flux (for Kubernetes): If you're using Kubernetes to deploy Strelka, you can consider using tools like Keel or Flux to automate the update process. These tools can monitor container image repositories for new versions and automatically update the deployments in your Kubernetes cluster.

  2. Manual Update: Alternatively, you can continue manually updating Strelka by running the installation process again for each release. While this option requires more manual effort, it may be suitable if you prefer to have more control over the update process.

from strelka.

Derekt2 avatar Derekt2 commented on May 28, 2024 1

That's a good summary & script option! Up to @phutelmyer if he wants to consider adding something to the documentation, maybe under FAQ or management?

We also have an entire Kubernetes manifest section here, with no mention of it in the documentation. Including it with a note as to whether or not those resources are maintained/supported could be helpful.

from strelka.

derfel1989 avatar derfel1989 commented on May 28, 2024 1

I have faced many problems updating via Watchtower or re-deploying the new docker image.
Usually, the stack didn't work after the update, or they lost connection with the database. However, when I reran the installation process it did not happen.

Having a documented process to update the Strelka stack would be good. Watchtower is the best option from my standpoint. We might need to determine permanent volumes to lose data through the updates.

Thank you for your thoughts @Derekt2 @Het-Joshi

from strelka.

Derekt2 avatar Derekt2 commented on May 28, 2024

If you're running these images on kubernetes, keel seems a good option too: https://keel.sh/ or flux: https://fluxcd.io/flux/guides/image-update/

But I'm not sure there's anything we can add to the strelka project since these are implementation/deployment specific.

from strelka.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.