aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlec Warner <antarus@gentoo.org>2018-02-05 06:49:55 -0500
committerAlec Warner <antarus@gentoo.org>2018-02-05 06:49:55 -0500
commit34dda500a9d4cad44cfb26c476c5201d1cebd1e5 (patch)
treede4a5c752085759b39e8e06eb0d741b1519f80ef /docker-compose.yml
parentBy default, send mail to gpackages@gentoo.org. (diff)
downloadpackages-5-34dda500a9d4cad44cfb26c476c5201d1cebd1e5.tar.gz
packages-5-34dda500a9d4cad44cfb26c476c5201d1cebd1e5.tar.bz2
packages-5-34dda500a9d4cad44cfb26c476c5201d1cebd1e5.zip
Add these so I can work remotely.
Diffstat (limited to 'docker-compose.yml')
-rw-r--r--docker-compose.yml61
1 files changed, 61 insertions, 0 deletions
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..7c10720
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,61 @@
+
+version: '2'
+# p.g.o consists nominally of:
+# A service to sync the tree to $TREE_DIR && update the index.
+# The index updater simply submits work items into sidekiq.
+# ElasticSearch to managed updates and serve documents.
+# SideKiq requires redis.
+#
+# To this end we define 4 containers.
+# - HTTP Serving: Serves the site, and the /sidekiq endpoing.
+# - Elasticsearch: runs the elasticsearch service.
+# - Redis: Run Redis for Sidekiq.
+# - Refresher: Syncs the package tree and pushes updates into sidekiq.
+services:
+ http-serving:
+ # Build from Dockerfile in .
+ build: .
+ ports:
+ - 5000
+ environment:
+ # "Redis:port" and "elasticsearch:port" refer to sibling containers.
+ - REDIS_PROVIDER=REDIS_URL
+ - REDIS_URL=redis://redis:6379
+ - ELASTICSEARCH_URL=elasticsearch:9200
+ - RAILS_SERVE_STATIC_FILES=1
+ - RAILS_ENV=production
+ - MEMCACHE_URL="memcache:11211"
+ - SECRET_KEY_BASE=6c9710aeb74dd88ff1d1b8f4bd6d7d8e0f340905d0974400fffd7246714aa703cf7bf4a98c0bc90317a3b803b82c0f9371e18ada19fc4eed9d6118077a249f50
+ depends_on:
+ - redis
+ - elasticsearch
+ command: bundle exec thin start -p 5000
+ sidekiq:
+ build: .
+ environment:
+ - RAILS_ENV=production
+ - RAILS_SERVE_STATIC_FILES=1
+ - REDIS_URL=redis://redis:6379
+ - MEMCACHE_URL="memcache:11211"
+ - ELASTICSEARCH_URL=elasticsearch:9200
+ - SECRET_KEY_BASE=6c9710aeb74dd88ff1d1b8f4bd6d7d8e0f340905d0974400fffd7246714aa703cf7bf4a98c0bc90317a3b803b82c0f9371e18ada19fc4eed9d6118077a249f50
+ depends_on:
+ - redis
+ - elasticsearch
+ command: bundle exec sidekiq -c 5
+ memcache:
+ image: memcached:latest
+ ports:
+ - 11211
+ elasticsearch:
+ # TODO(antarus): We should build a docker image for this based on gentoo.
+ image: docker.elastic.co/elasticsearch/elasticsearch:6.0.1
+ # Run in single-node config.
+ environment:
+ - discovery.type=single-node
+ ports:
+ - 9200
+ redis:
+ image: redis:4.0.6
+ ports:
+ - 6379