Skip to content
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

Docker based setup script/cloud images #2445

Closed
arikfr opened this issue Apr 6, 2018 · 1 comment
Closed

Docker based setup script/cloud images #2445

arikfr opened this issue Apr 6, 2018 · 1 comment

Comments

@arikfr
Copy link
Member

arikfr commented Apr 6, 2018

Following #896, it's time to update our setup script to use 🐳 Docker based deployment. This has many benefits among them easier and more stable upgrades (always using updated dependencies) and more standard setup across different platforms.

New setup script

Once we move to use Docker, the setup script will do:

  • Install Docker & Docker Compose.
  • Download docker-compose.yml file and other supporting files.
  • Start services.
  • Done.

New upgrade script

The upgrade script will probably be something along the lines of:

  • Get latest version Docker image tag reference.
  • Update docker-compose.yml.
  • Rebuild services.
  • Stop services.
  • Apply migrations if needed.
  • Start services.

Documentation

Will have to update documentation accordingly. Mainly:

Control script

While controlling, checking logs, etc, can be done with the docker-compose command we should consider streamlining the process with a single control script.

I'm not 100% sure this is needed, but it can improve end user (admin) experience. On the otherhand, it makes the knowledge less portable.


This is an outline of the work required and some initial thoughts. Any feedback is welcome. Specially from users who already use Docker/Docker Compose for their Redash deployment.

@lkraider
Copy link

lkraider commented Apr 11, 2018

The basic upgrade workflow I have been using is:

  1. Edit docker-compose.production.yml and point to specific tag you want to deploy:
-    image: redash/redash:latest
+    image: redash/redash:4.0.0-rc.1
  1. Pull the same tagged image:
docker pull redash/redash:4.0.0-rc.1
  1. Redeploy the service:
docker-compose -f docker-compose.production.yml -p redash up -d
  1. Run migrations
    Still no clue how to do that correctly, assuming this suffices:
docker exec -ti redash_server_1 ./manage.py db upgrade

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants