UpgradeΒΆ

Make these steps:

  1. Backup makechat instance:

    $ docker exec makechat backup
    
  2. Inform users about maintenance:

    $ docker exec makechat-web maintenance on
    
  3. Update docker images:

    $ docker pull buran/makechat
    $ docker pull buran/makechat-web
    
  4. Stop makechat-web container and remove it:

    $ docker stop makechat-web && docker rm makechat-web
    

    Note

    Usually you do not to worry about downtime of frontend, because time of creation new makechat-web instance ~2-5 seconds, so your users may noticed only small lags. But if you want to enable maintenance page for a time of update makechat-web, you should use makechat-web behind frontend web server(Nginx/Apache etc) and make appropriate changes to its configuration. For example, if you have Nginx as frontend web server for makechat-web docker instance, you should make something like this:

    server {
        listen 80;
        server_name mymakechat.com;
        error_page 503 /maintenance.html;
    
        location / {
            return 503;
        }
    
        location = /maintenance.html {
            root /path/to/maintenance.html;
            internal;
        }
    }
    
  5. Create new makechat-web container with latest public content and nginx configuration:

    $ docker run --net=makechat_nw --ip=172.30.1.3 --name makechat-web \
        -v /var/www/makechat:/usr/share/nginx/html/makechat/custom \
        -d buran/makechat-web:latest
    
  6. Stop makechat container and remove it:

    $ docker stop makechat && docker rm makechat
    
  7. Create new makechat container with latest makechat package:

    $ docker run --net=makechat_nw --ip=172.30.1.2 -v /makechat-backups:/backups \
        --name makechat -d buran/makechat:latest
    
  8. Stop maintenance:

    $ docker exec makechat-web maintenance off