Skip to main content

Schedule Automatic Updates

This page provides steps to schedule automatic updates using cron expression for your self-hosted instance.

Docker

Follow the below steps to schedule automatic updates for Appsmith Docker installation:

  1. Go to the root directory of the Appsmith installation and run:

    docker-compose down
  2. Open the docker-compose.yml file and add the below code block after the restart attribute in the appsmith service. Note that you must add a 6 space-separated fields cron expression, not the traditional 5 space-separated fields to the command attribute. See the CRON Expression Format section to learn more. Based on the specified cron expression, watchtower updates Appsmith at the stipulated time whenever a new version becomes available.

        labels:
    com.centurylinklabs.watchtower.enable: "true"
    auto_update:
    image: containrrr/watchtower
    volumes:
    - /var/run/docker.sock:/var/run/docker.sock
    # Update check interval in seconds.
    command: --schedule "0 0 * ? * *" --label-enable --cleanup
    restart: unless-stopped
    depends_on:
    - appsmith
    environment:
    - WATCHTOWER_LIFECYCLE_HOOKS=true

The above 6 space-separated fields cron expression 0 0 * ? * * means that the task runs every day of every month, regardless of the day of the week or year, at midnight (0:00). You can change the schedule, adjust the cron expression accordingly. If you wish to update Appsmith immediately, you can opt for a manual update and follow the steps in the Update Appsmith guide.

Below are some examples of 6 space-separated fields cron expressions:

  • Check for updates every Sunday at 12:00 noon:
command: --schedule "0 0 12 ? * SUN" --label-enable --cleanup
  • Check for updates every hour:
command: --schedule "0 0 * ? * *" --label-enable --cleanup
  • Check for updates once at 12:00 noon every day:
command: --schedule "0 0 12 * * ?" --label-enable --cleanup 
  • Check for updates once at midnight every day:
command: --schedule "0 0 0 * * ?" --label-enable --cleanup 
  1. Restart the watchtower container with:
sudo docker-compose pull && sudo docker-compose up --force-recreate auto_update
  1. Verify the logs that the scheduled update is in effect with:
docker-compose logs -f auto_update

Kubernetes

Follow the below steps to schedule automatic updates for Appsmith Kubernetes installation:

  1. Go to the root directory of the Appsmith installation and open values.yaml file.

  2. Update the values.yaml and set enabled to true for autoupdate attribute, and set the desired cron expression in the scheduler attribute. Note that you must add a 5 space-separated fields cron expression, not the 6 space-separated fields. See the CRON Expression Format section to learn more. Based on the specified cron expression, watchtower updates Appsmith at stipulated time whenever a new version is available.

    autoupdate:
    ## @param autoupdate.enabled - Enable config autoupdate
    ##
    enabled: true
    ## @param autoupdate.scheduler - Schedule cron job to check & update Helm image
    ##
    scheduler: "0/10 * * * *"

The above 5 space-separated fields cron expression 0/10 * * * * means that the task runs every day of the week and every month, regardless of the year, at the 0th minute of every hour. You can change the schedule, adjust the cron expression accordingly. If you wish to update Appsmith immediately, you can opt for a manual update and follow the steps in the Update Appsmith guide.

Below are some examples of 5 space-separated fields cron expressions:

  • Check for updates every Sunday at 12:00 noon:

    scheduler: 0 12 * * SUN
  • Check for updates every hour:

    scheduler: 0 * * * *
  • Check for updates once at 12:00 noon every day:

    scheduler: 0 12 * * *
  • Check for updates once at midnight every day:

    scheduler: 0 0 * * * 
  1. Save the changes and update the Appsmith installation.
    • If you are on the Community Edition, update with:

      helm upgrade -i appsmith appsmith/appsmith -f values.yaml
    • If you are on the Commercial Edition, update with:

      helm upgrade -i appsmith appsmith-ee/appsmith -f values.yaml

Troubleshooting

If you face issues, contact the support team using the chat widget at the bottom right of this page.