Commit Graph

119 Commits

Author SHA1 Message Date
Sybren A. Stüvel 7cb4b37ae2 Renamed some docker files to Dockerfile
This makes it simpler to manage by using the default name. It also helps
my editor to recognise the file and highlight it properly.
2018-03-23 12:42:56 +01:00
Sybren A. Stüvel 1fca473257 Moved Apache files into separate subdir 2018-03-23 12:12:39 +01:00
Sybren A. Stüvel 5a6035a494 Change hostname from blender-cloud → cloud.local in docker-compose.yml 2018-03-23 12:11:59 +01:00
Francesco Siddi 98698be7eb Add redirect for waking-the-forest project
Waking the Forest was originally part of the Art Gallery, but was
moved to its own dedicated workshop to increase visibility.
2018-03-19 11:17:45 +01:00
Francesco Siddi d4f072480c Add convenience redirect from /hero to /p/hero 2018-03-14 14:35:27 +01:00
Sybren A. Stüvel 2d036ee657 Fix rsync of MongoDB backup to Swami
- Forcing IPv4 no longer necessary
- Directory on Swami is determined by rrsync parameters on Swami side
  .ssh/authorized_keys file.
2018-03-09 14:02:39 +01:00
Sybren A. Stüvel 29d1d02bfd Prevent error when there are no Mongo backups to remove yet. 2018-02-22 10:01:59 +01:00
Sybren A. Stüvel 2141aed06c Added script to run on server for nightly MongoDB backups
Forced to use IPv4 due to IPv6 connectivity issues with Swami.
2018-02-21 11:30:48 +01:00
Sybren A. Stüvel c3ddc831aa Stricter XSendFilePath in Apache config 2018-02-14 11:07:47 +01:00
Sybren A. Stüvel 484ac34c50 T53983: Explicitly version the picohttp docker image 2018-02-13 12:32:19 +01:00
Sybren A. Stüvel 87cf5a9844 Revert "Add https://cloud*/* as virtual host to haproxy config"
This reverts commit 3be926b9b3.
2018-02-02 13:00:57 +01:00
Sybren A. Stüvel 5a3a7a3883 LetsEncrypt fixes
- Changed virtual host weight for the letsencrypt docker so that it is
  higher than any other weight
- Copy the renewal script to the server (previously it was available
  to the host at /data/git/blender-cloud/…, but no longer.
2018-02-02 12:39:07 +01:00
Sybren A. Stüvel 3be926b9b3 Add https://cloud*/* as virtual host to haproxy config
This allows testing on https://cloud3/ for example, without having to
edit the docker-compose.yml file on the cloud3 server.
2018-02-02 12:20:39 +01:00
Sybren A. Stüvel 6f73222dcd Add the most-changing files as last step for faster Docker rebuilds. 2018-02-02 12:09:16 +01:00
Sybren A. Stüvel bef402a6b0 Updated documentation for the new way to deploy Blender Cloud 2018-02-02 12:01:47 +01:00
Sybren A. Stüvel 94ef616593 Placing code + assets directly into Docker image
This radically changes the way we deploy to the production server, as a
Git checkout is no longer required there. All the necessary files are
now inside the docker image. As a result, /data/git should no longer be
mounted as a Docker volume.

- Renamed docker/build.sh → docker/full_rebuild.sh
  This makes it clearer that it performs a full rebuild of the Docker images.
- Full rebuilds should be done on a regular basis to pull in Ubuntu
  security updates.
- Removed rsync_ui.sh, we no longer need it. Other projects can also
  remove their rsync_ui.sh.
- Moved deploy.sh → deploy/2docker.sh and added deploy/2server.sh
2018-02-02 12:01:17 +01:00
Sybren A. Stüvel ffc4f271e8 Upgrade Docker base image to Ubuntu 17.10 2018-02-01 15:53:33 +01:00
Sybren A. Stüvel add20f0c6c Fixed indentation 2018-01-12 12:33:48 +01:00
Sybren A. Stüvel 996beaf090 Bump version of elasticproxy to 1.2 2018-01-12 11:55:13 +01:00
Sybren A. Stüvel 37b84cf75a Upgraded ElasticSearch and Kibana to 6.1.1
Requires a reset + reindex of everything (well, that's the easiest way to
get things indexed properly again), which will loose us the Cloud stats.
Before doing this, export those to MongDB and upgrade the statscollector
to the version that I'll be committing soon.
2018-01-12 11:55:13 +01:00
Sybren A. Stüvel eb2a058ce2 Python 3.6.3 → 3.6.4 2018-01-12 11:55:13 +01:00
Sybren A. Stüvel 4891803552 Docker: never cache the base image when rebuilding 2018-01-12 11:55:13 +01:00
Sybren A. Stüvel ab11f98331 Removed notifserv from docker-compose.yml 2018-01-12 11:55:13 +01:00
Sybren A. Stüvel 0ed03240e7 Made docker-compose.yml indentation consistent. 2018-01-12 11:55:07 +01:00
Sybren A. Stüvel de6cdbaf19 Fixed broken networking with new docker-compose.yml
- No more 'links', all dockers can reach each other by name
- Added 'depends_on', which handles startup sequence
- Allowed haproxy connection to the docker daemon socket
- Told haproxy explicitly which services to proxy. The 'docker:' prefix
  comes from the fact that the directory containing the docker-compose.yml
  file is called 'docker'.
2018-01-03 15:27:28 +01:00
Sybren A. Stüvel e641565e6a Docker: Limit logging for celery worker 2017-12-22 11:58:47 +01:00
Sybren A. Stüvel 617b600ce8 Upgraded docker-compose.yaml file format from 1 to 3.4
This allows us to set logging options, which weren't available in version 1.
I've also added newlines around each service definition, and made the
formatting consistent across the entire file (using align-yaml, one of the
tools of the atom-beautify plugin for Atom).
2017-12-22 11:54:06 +01:00
Sybren A. Stüvel 5e15185166 HaProxy: Explicitly configure allowed TLS ciphers 2017-12-13 14:00:51 +01:00
Sybren A. Stüvel 5efca08c13 Docker Apache: added svnman XSendFilePath 2017-12-08 17:06:56 +01:00
Sybren A. Stüvel 00805c3372 Upgraded Python to 3.6.3 2017-12-07 14:02:35 +01:00
Sybren A. Stüvel 035382d1e5 docker: allow running 1_base/build.sh with --no-cache
This rebuilds the image from scratch, also pulling in security updates.
2017-12-07 14:02:20 +01:00
Sybren A. Stüvel 7dcc0d5ead Size-based Apache log rotation 2017-12-07 10:21:55 +01:00
Sybren A. Stüvel 9dfe75ed1e Include pillar-svnman in docker image 2017-11-14 16:28:52 +01:00
Francesco Siddi 97dff66159 Add rewrite rule for new project 2017-10-25 15:52:33 +02:00
Sybren A. Stüvel e45976d4e5 Added ElasticProxy to the docker/README.md file. 2017-09-26 12:27:36 +02:00
Sybren A. Stüvel 565e5e95a5 Disabled web frontend for Grafista.
It still collects daily statistics, until we're 100% sure our own
pillar-statscollector is doing its job correctly.
2017-09-26 12:27:24 +02:00
Sybren A. Stüvel c2fff6a9cb Removed -verbose from elasticproxy CLI 2017-09-26 11:58:58 +02:00
Sybren A. Stüvel fa249d1952 Kibana: include config file that doesn't refer to xpack
The default Kibana config file still has an option to enable X-pack, which
is now removed.
2017-09-26 11:53:22 +02:00
Sybren A. Stüvel d02de8e18b Disable Dev Tools panel. 2017-09-26 11:47:09 +02:00
Sybren A. Stüvel c6d645f664 Removed old X-pack options
These aren't necessary any more now that we use an image with X-pack.
2017-09-26 11:46:59 +02:00
Sybren A. Stüvel d90794a4f0 Put elasticproxy in between Kibana and ElasticSearch
This blocks any data-changing HTTP request from reaching ElasticSearch.
2017-09-26 11:27:45 +02:00
Sybren A. Stüvel 82a4bcd185 Allow letsencrypt to run on stats.cloud.blender.org 2017-09-21 13:50:44 +02:00
Sybren A. Stüvel 4432e5b645 Added note in docker/README about permissions on /data/storage/elasticsearch 2017-09-21 13:50:31 +02:00
Sybren A. Stüvel 5948ee7c6f Kibana: more frequent garbage collection to limit memory usage
See https://github.com/elastic/kibana/issues/5170#issuecomment-163042525
2017-09-21 11:52:22 +02:00
Sybren A. Stüvel 5b5005f33e Oops 2017-09-21 11:46:01 +02:00
Sybren A. Stüvel 98177df7bd Elastic: moved memory limit to environment variable
This allows us to easily change it without rebuilding the Docker image.
2017-09-21 11:38:17 +02:00
Sybren A. Stüvel 8e6fc604e3 Build custom images for ElasticSearch & Kibana
We can then remove X-Pack and control ElasticSearch's memory usage.

This also gives us the opportunity to let Kibana do its optimization when
we build the image, rather than every time the container is recreated.
2017-09-21 11:28:16 +02:00
Sybren A. Stüvel 2e2fc791e1 Added Kibana to the docker-compose stack 2017-09-20 16:58:18 +02:00
Sybren A. Stüvel 00eb6d8685 Upgraded ElasticSearch 5.6.0 → 5.6.1 2017-09-19 13:48:53 +02:00
Sybren A. Stüvel 9034c36564 Added ElasticSearch docker container.
So far it's just a standalone docker container, as there is no publicly
accessible Kibana container yet. To use, just SSH-tunnel port 9200.
2017-09-18 17:38:55 +02:00