Merge pull request #1 from rancher/master

sync
This commit is contained in:
Alexis Ducastel 2016-03-08 15:51:43 +01:00
commit 6d9c19077c
41 changed files with 1546 additions and 17 deletions

View File

@ -0,0 +1,18 @@
# MongoDB
### Info:
This template creates MongoDB replica set on top of Rancher. Replica set size starts with 3 MongoDB instances, the replica set has the ability to scale up automatically when adding new instances.
### Usage:
Select MongoDB from catalog.
Enter the name of the replica set.
Click deploy.
MongoDB can now be accessed over the Rancher network.

View File

@ -0,0 +1,35 @@
mongo-cluster:
restart: always
environment:
MONGO_SERVICE_NAME: mongo-cluster
tty: true
entrypoint: /opt/rancher/bin/entrypoint.sh
command:
- --replSet
- "${replset_name}"
image: mongo:3.2
labels:
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: mongo-base, mongo-datavolume
volumes_from:
- mongo-datavolume
- mongo-base
mongo-base:
restart: always
net: none
tty: true
labels:
io.rancher.container.hostname_override: container_name
io.rancher.container.start_once: true
image: rancher/mongodb-conf:v0.1.0
stdin_open: true
entrypoint: /bin/true
mongo-datavolume:
net: none
labels:
io.rancher.container.hostname_override: container_name
io.rancher.container.start_once: true
volumes:
- /data/db
entrypoint: /bin/true
image: busybox

View File

@ -0,0 +1,19 @@
.catalog:
name: "MongoDB"
version: "3.2-rancher1"
description: "MongoDB Replica Set"
uuid: mongodb-1
minimum_rancher_version: v0.46.0
questions:
- variable: replset_name
description: "Name of the MongoDB replicaSet"
label: "ReplicaSet Name"
type: "string"
required: true
default: "rs0"
mongo-cluster:
scale: 3
metadata:
mongo:
yml:
replset.name: "${replset_name}"

View File

@ -1,5 +1,5 @@
name: MongoDB
description: |
MongoDB Replica Set.
version: 3.0.0-rancher1
version: 3.2-rancher1
category: Database

View File

@ -3,6 +3,7 @@ ranch-eye:
- 9104:9104/tcp
labels:
io.rancher.scheduler.global: 'true'
io.rancher.container.dns: true
tty: true
image: rucknar/ranch-eye:01
stdin_open: true
@ -13,6 +14,7 @@ node-exporter:
- 9100:9100
labels:
io.rancher.scheduler.global: 'true'
io.rancher.container.dns: true
tty: true
image: prom/node-exporter:latest
stdin_open: true
@ -20,16 +22,13 @@ node-exporter:
prom-conf:
tty: true
labels:
io.rancher.container.pull_image: always
image: rucknar/prom-conf:02
command: /bin/sh -c "/usr//bin/confd -onetime -backend rancher -prefix /2015-12-19 && cat"
image: rucknar/prom-conf:08
volumes:
- /etc/prom-conf/
prometheus:
tty: true
image: prom/prometheus:latest
image: prom/prometheus:0.17.0
command: -alertmanager.url=http://alertmanager:9093 -config.file=/etc/prom-conf/prometheus.yml -storage.local.path=/prometheus -web.console.libraries=/etc/prometheus/console_libraries -web.console.templates=/etc/prometheus/consoles
ports:
- 9090:9090
@ -42,15 +41,6 @@ prometheus:
- node-exporter:node-exporter
- rancher-api-integration:rancher-api-integration
graf-db:
tty: true
image: rucknar/graf-db:01
labels:
io.rancher.container.pull_image: always
command: cat
volumes:
- /var/lib/grafana/
influxdb:
image: tutum/influxdb:0.10
ports:
@ -63,6 +53,13 @@ influxdb:
- GRAPHITE_DB=rancher
- GRAPHITE_BINDING=:2003
graf-db:
tty: true
image: rucknar/graf-db:02
command: cat
volumes:
- /var/lib/grafana/
grafana:
tty: true
image: grafana/grafana:2.6.0

View File

@ -1,6 +1,6 @@
.catalog:
name: "Prometheus"
version: "1.0.2"
version: "1.0.3"
description: "Prometheus Monitoring Solution"
uuid: prometheus-1
minimum_rancher_version: v0.56.0

View File

@ -1,5 +1,5 @@
name: Prometheus
description: |
Prometheus and friends, auto-discovering monitoring solution for Rancher deployments.
version: 1.0.2
version: 1.0.3
category: Monitoring

View File

@ -0,0 +1,33 @@
# Alfresco
### Note:
If you can read French, you can look my [blog](https://blog.webcenter.fr) to look how to upgrade container after deployement for a production usage.
### Info:
This template deploys a collection of containers based upon the technologies below, once deployed you should have a
Electronic Document Management (EDM) plateform based on Alfresco.
* **Alfresco** - Used to manage all aspect of EDM. (https://github.com/disaster37/rancher-alfresco)
* **Postgresql** - It's the SGBD to store metadatas of your EDM. (https://github.com/docker-library/postgres)
This template is just a base to test Alfresco. If you should use in production sky, You must upgrade it after install to setting it in your context (see all parameters you can use to set Alfresco on github). You must at minimal setting that :
* **Volume** : You must mount a database volume and alfresco volume on storage pool (convoy-gluster is a good idea).
* For Postgresql `/var/lib/postgresql/data/pgdata`
* For Alfresco `/opt/alfresco/alf_data`
* **Reverse Proxy / Load balancer** : You probably put load balancer like a endpoint for user. To do that, you must add extra parameter on your Alfresco container.
* **REVERSE_PROXY_URL** : put your url like `https://ged.my-domain.com`
* **Mail setting** : There are a lot of parameter to set mail context.
* **CIFS setting** : There are a lot of parameter to set CIFS context.
* **LDAP authentification** : There are a lot of parameter to set LDAP authentification
All components in this stack are open source tools available in the community. All this template does is to bound them together in an easy to use package.
## Deployment:
* Select Alfresco from the community catalog.
* Click deploy.
## Usage
* Alfresco Share is now available on port 8080 with the following url `http://your_ip:8080/share`. Authentication is with the default `admin/admin`.

View File

@ -0,0 +1,24 @@
alfresco:
environment:
CIFS_ENABLED: 'false'
FTP_ENABLED: 'false'
labels:
io.rancher.container.pull_image: always'
tty: true
image: webcenter/rancher-alfresco:v5.1.0-2
links:
- postgres:db
stdin_open: true
ports:
- 8080:8080/tcp
postgres:
environment:
PGDATA: /var/lib/postgresql/data/pgdata
POSTGRES_DB: ${database_name}
POSTGRES_PASSWORD: ${database_password}
POSTGRES_USER: ${database_user}
labels:
io.rancher.container.pull_image: always
tty: true
image: postgres:9.4
stdin_open: true

View File

@ -0,0 +1,45 @@
.catalog:
name: "Alfresco"
version: "5.1.0"
description: "Alfresco Electronic Document Management"
uuid: alfresco-5.1.0-2
minimum_rancher_version: v0.56.0
questions:
- variable: database_name
description: "Name of the Alfresco database"
label: "Database name"
type: "string"
required: true
default: "alfresco"
- variable: database_user
description: "Login for the Alfresco database"
label: "Database login"
type: "string"
required: true
default: "alfresco"
- variable: database_password
description: "Password for the Alfresco database"
label: "Database password"
type: "string"
required: true
default: "alfresco"
alfresco:
scale: 1
health_check:
port: 8080
interval: 5000
unhealthy_threshold: 3
strategy: recreate
healthy_threshold: 2
response_timeout: 5000
postgres:
scale: 1
health_check:
port: 5432
interval: 5000
unhealthy_threshold: 3
strategy: recreate
response_timeout: 5000
healthy_threshold: 2

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="256px" height="255px" viewBox="0 0 256 255" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
<g>
<path d="M88.9565187,166.907984 L121.256108,134.606322 L72.7528359,134.608395 L72.6367696,134.608395 C45.7591337,134.608395 23.9697609,156.397767 23.9697609,183.273331 C23.9697609,210.153039 45.7570611,231.94034 72.634697,231.94034 C74.6762201,231.94034 76.6845814,231.799402 78.6597809,231.554834 C68.037643,210.62974 71.4615985,184.400832 88.9565187,166.907984" fill="#87C040"></path>
<path d="M128.336152,183.213225 L128.336152,137.534923 L94.0406366,171.834584 L93.9577321,171.915416 C74.9518775,190.92127 74.9518775,221.734797 93.9577321,240.740651 C112.963587,259.746506 143.777113,259.746506 162.782968,240.740651 C164.225506,239.298113 165.520889,237.766453 166.745802,236.199558 C144.44864,228.906035 128.338224,207.94778 128.336152,183.213225" fill="#87C040"></path>
<path d="M167.713712,166.897621 L135.414123,134.598032 L135.414123,183.21737 C135.414123,210.097079 157.203496,231.884379 184.081131,231.884379 C210.958767,231.884379 232.74814,210.097079 232.74814,183.219443 C232.74814,181.17792 232.607203,179.169559 232.362634,177.194359 C211.437541,187.81857 185.208633,184.392541 167.713712,166.897621" fill="#87C040"></path>
<path d="M241.546379,93.0732448 C240.103841,91.6307066 238.574253,90.335324 237.007358,89.1104101 C229.713836,111.4055 208.753508,127.517988 184.021026,127.517988 L138.344796,127.517988 L172.721144,161.896408 C191.726998,180.902262 222.542597,180.902262 241.546379,161.896408 C260.552234,142.890553 260.552234,112.077027 241.546379,93.0732448" fill="#87C040"></path>
<path d="M184.027244,23.1080724 C181.98572,23.1080724 179.977359,23.2469374 178.00216,23.4915056 C188.624298,44.4186717 185.200342,70.6455074 167.705422,88.1404276 L135.407905,120.440017 L184.027244,120.440017 C210.902807,120.440017 232.69218,98.6506444 232.69218,71.7730085 C232.694252,44.8953725 210.904879,23.1080724 184.027244,23.1080724" fill="#ED9A2D"></path>
<path d="M162.704208,14.305688 C143.698354,-4.69809386 112.884827,-4.69809386 93.8789728,14.3077607 C92.4385073,15.7502988 91.1431246,17.2798867 89.9182108,18.8488541 C112.213301,26.1423767 128.325789,47.100632 128.325789,71.8331142 L128.325789,117.511416 L162.621304,83.2138282 L162.704208,83.1329963 C181.710063,64.1271418 181.710063,33.3136152 162.704208,14.305688" fill="#5698C6"></path>
<path d="M88.9958983,88.1735894 L90.3804033,89.6182001 L121.214656,120.452453 L121.247818,120.452453 L121.247818,71.9450353 L121.247818,71.828969 C121.247818,44.9513331 99.458445,23.1619603 72.5808091,23.1619603 C45.7031732,23.1619603 23.9138004,44.9492605 23.915873,71.8268964 C23.915873,73.8642743 24.054738,75.8664177 24.2972336,77.837472 C45.2368354,67.2215519 71.4989055,70.6765966 88.9958983,88.1735894" fill="#5698C6"></path>
<path d="M19.7975924,165.515189 C20.1789531,164.383543 20.5893303,163.268477 21.0390872,162.169993 C21.0950477,162.031128 21.1447904,161.89019 21.2028235,161.75547 C21.6961052,160.574081 22.2391297,159.423781 22.809098,158.28799 C22.9334548,158.037204 23.0619567,157.790563 23.1925313,157.539777 C23.7790806,156.412276 24.396719,155.303428 25.0558097,154.223597 C25.1262786,154.107531 25.2029652,153.997682 25.273434,153.885761 C25.8993629,152.876399 26.5605262,151.896054 27.2486335,150.932289 C27.3895712,150.733318 27.5284362,150.532275 27.673519,150.335377 C28.4134416,149.328087 29.1844534,148.349814 29.9865543,147.396412 C30.1502907,147.201587 30.3160997,147.012979 30.4839813,146.824371 C31.2674287,145.916567 32.0757475,145.031562 32.9151555,144.177646 C32.9897695,144.103031 33.0581657,144.024272 33.1327798,143.949658 C34.0260756,143.052217 34.9566786,142.194156 35.9080076,141.360965 C36.1152688,141.178576 36.32253,140.998258 36.5318639,140.820014 C37.4894108,140.003404 38.4697564,139.217884 39.4791185,138.465526 C39.6117657,138.368113 39.7506307,138.276918 39.8832779,138.181578 C40.8263165,137.495544 41.7921538,136.840598 42.7787173,136.212597 C42.9735428,136.08824 43.1662958,135.959738 43.3631939,135.837454 C44.4285166,135.178363 45.5187107,134.558652 46.6296309,133.97003 C46.8638361,133.847746 47.1001139,133.729607 47.3363917,133.609396 C48.4452392,133.043572 49.5685951,132.502621 50.7168223,132.011412 C50.7727828,131.988613 50.8266707,131.961669 50.8826312,131.936797 C52.0702381,131.433153 53.2847889,130.983396 54.5138479,130.560583 C54.7791423,130.469388 55.0423641,130.378193 55.3097311,130.291143 C56.5263545,129.895274 57.7595588,129.530495 59.0114166,129.213385 C59.2020969,129.167787 59.3989951,129.126335 59.5896754,129.08281 C60.7503383,128.803008 61.9234368,128.562585 63.108971,128.357396 C63.3307405,128.320089 63.5504374,128.274492 63.772207,128.24133 C65.0592992,128.034069 66.3629723,127.878623 67.6770085,127.762556 C67.9609564,127.737685 68.2469769,127.719031 68.5309247,127.696233 C69.8905584,127.59882 71.2564099,127.530424 72.6409149,127.530424 L118.319217,127.528351 L83.940797,93.1499314 C64.9349424,74.1461495 34.1193432,74.1440769 15.1155613,93.1499314 C-3.89029323,112.155786 -3.89029323,142.969313 15.1155613,161.975167 C16.5560268,163.415633 18.0648886,164.74625 19.6297108,165.969091 C19.6815261,165.815718 19.7457771,165.668562 19.7975924,165.515189" fill="#5698C6"></path>
<path d="M84.0547906,93.1499314 L111.274408,120.369548 L74.6886558,120.369548 L72.6139709,120.413073 C50.333389,120.413073 31.5513766,105.440522 25.7770788,85.0087104 C44.3124503,74.6145599 68.2055246,77.302738 83.9739588,93.0690996 L84.0547906,93.1499314" fill="#446BA6"></path>
<path d="M121.229164,71.8186059 L121.229164,110.313234 L95.358818,84.4428873 L93.8623919,83.006567 C78.1063934,67.2526411 75.4119975,43.3823656 85.7771314,24.8532119 C106.233815,30.6109288 121.229164,49.4074495 121.229164,71.7025397 L121.229164,71.8186059" fill="#446BA6"></path>
<path d="M162.853437,83.0956893 L135.63382,110.317379 L135.63382,73.7316271 L135.590295,71.6569422 C135.590295,49.3763603 150.562846,30.5922753 170.994658,24.8200501 C181.388808,43.3554216 178.70063,67.2484959 162.934268,83.0148574 L162.853437,83.0956893" fill="#446BA6"></path>
<path d="M183.996154,120.338459 L145.501527,120.338459 L171.371873,94.4681128 L172.808193,92.9716868 C188.562119,77.2156883 212.432395,74.5212923 230.961548,84.8864263 C225.203831,105.343109 206.407311,120.338459 184.112221,120.338459 L183.996154,120.338459" fill="#FFF101"></path>
<path d="M172.627876,161.703655 L145.408259,134.484038 L181.994011,134.484038 L184.068696,134.440513 C206.349278,134.442586 225.13129,149.415137 230.905588,169.846949 C212.368144,180.239026 188.477142,177.552921 172.708708,161.784487 L172.627876,161.703655" fill="#45AB47"></path>
<path d="M135.526044,182.993528 L135.526044,144.4989 L161.39639,170.369247 L162.894889,171.805567 C178.648815,187.561566 181.343211,211.427696 170.978077,229.958922 C150.521394,224.201205 135.526044,205.406757 135.526044,183.107522 L135.526044,182.993528" fill="#45AB47"></path>
<path d="M94.1587755,171.946505 L121.378392,144.724815 L121.378392,181.310567 L121.421917,183.385252 C121.421917,205.665834 106.449366,224.449919 86.0175545,230.224217 C75.6234039,211.6847 78.311582,187.793698 94.0779436,172.027337 L94.1587755,171.946505" fill="#45AB47"></path>
<path d="M72.8046512,134.685081 L111.299279,134.685081 L85.4289326,160.555428 L83.9926123,162.051854 C68.2366138,177.807852 44.3684109,180.502248 25.8371846,170.137114 C31.5969741,149.678359 50.3914221,134.685081 72.6885849,134.685081 L72.8046512,134.685081" fill="#45AB47"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@ -0,0 +1,5 @@
name: Alfresco
description: |
Slef hosted your EDM with Alfresco on few seconds.
version: 5.1.0
category: EDM

View File

@ -0,0 +1,13 @@
# DataDog Agent Service
## Info
Based on the official [Datadog Agent Docker image](github.com/DataDog/docker-dd-agent) with a few changes to the init script to better support the Rancher environment.
## Notable Improvements
* Hostname reported to DataDog is the actual name of the host (per Rancher Metadata service)
* User can specify host labels which will be sent to DataDog as key:value tags for the host
* User can either deploy the DogStat Agent globally on every host or deploy a single instance of a standalone DogStatsD
* The later is useful if you just want a StatsD aggregator to which other services can send metrics
[Github repository for the image](https://github.com/janeczku/dd-agent-rancher)
[Docker Hub trusted image builds](https://hub.docker.com/r/janeczku/dd-agent-rancher)

View File

@ -0,0 +1,14 @@
datadog-agent:
image: janeczku/dd-agent-rancher:11.0.563
restart: always
environment:
API_KEY: ${api_key}
DOGSTATSD_ONLY: ${statsd_standalone}
STATSD_METRIC_NAMESPACE: ${statsd_namespace}
HOST_LABELS: ${host_labels}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /proc/:/host/proc/:ro
- /sys/fs/cgroup/:/host/sys/fs/cgroup:ro
labels:
io.rancher.scheduler.global: ${global_service}

View File

@ -0,0 +1,42 @@
.catalog:
name: "DataDog"
version: "11.0.563-rancher1"
description: "Datadog Agent and DogStatsD"
minimum_rancher_version: v0.46.0
questions:
- variable: "api_key"
label: "DataDog Api Key"
description: "Your DataDog API key"
required: true
type: "string"
- variable: "host_labels"
label: "Host Labels to Tags"
description: |
Comma delimited list (no spaces) of host labels to set as DataDog key/value tags.
Example: 'provider,region'
required: false
type: "string"
- variable: "global_service"
label: "Global Service"
description: |
Enable this option to run an instance of the DataDog Agent on every host.
If you merely want a StatsD aggregator to which other services can send
metrics, then you may uncheck this and instead enable the Standalone mode.
required: true
type: "boolean"
default: true
- variable: "statsd_standalone"
label: "Standalone StatsD"
description: |
Enable this option to run only DogStatsD without the full Agent.
You can then send StatsD metrics to port 8125/udp of the service.
required: true
type: "boolean"
default: false
- variable: "statsd_namespace"
label: "StatsD Metric Namespace"
description: |
You may optionally set a namespace for all StatsD metrics aggregated by this service.
If set then 'metric.name' will become 'namespace.metric.name'.
required: false
type: "string"

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 500 500" enable-background="new 0 0 500 500" xml:space="preserve">
<path id="Bits" fill-rule="evenodd" clip-rule="evenodd" fill="#774AA4" d="M350.2,268.3l-27.3-18.1l-22.8,38.1l-26.5-7.8
l-23.3,35.7l1.2,11.2l126.7-23.4l-7.4-79.4L350.2,268.3z M232,234l20.3-2.8c3.3,1.5,5.6,2,9.5,3.1c6.1,1.6,13.3,3.1,23.8-2.2
c2.5-1.2,7.6-5.9,9.6-8.6l83.3-15.2l8.5,103.2l-142.7,25.8L232,234z M386.7,196.8l-8.2,1.6L362.7,34.7L93.5,66l33.2,270l31.5-4.6
c-2.5-3.6-6.4-8-13.1-13.5c-9.3-7.7-6-20.9-0.5-29.2c7.2-14,44.6-31.8,42.4-54.2c-0.8-8.1-2-18.7-9.6-26c-0.3,3,0.2,5.9,0.2,5.9
s-3.1-4-4.6-9.4c-1.5-2.1-2.7-2.7-4.4-5.5c-1.2,3.2-1,6.9-1,6.9s-2.5-6-2.9-11.1c-1.5,2.3-1.9,6.6-1.9,6.6s-3.3-9.5-2.5-14.6
c-1.5-4.4-6-13.2-4.7-33.2c8.2,5.8,26.3,4.4,33.4-6c2.3-3.5,3.9-12.9-1.2-31.4c-3.3-11.9-11.4-29.6-14.6-36.4l-0.4,0.3
c1.7,5.4,5.1,16.8,6.4,22.3c4,16.7,5.1,22.5,3.2,30.2c-1.6,6.7-5.4,11.1-15.1,16c-9.7,4.9-22.6-7-23.4-7.7
c-9.4-7.5-16.7-19.8-17.5-25.8c-0.8-6.5,3.8-10.5,6.1-15.8c-3.3,1-7,2.6-7,2.6s4.4-4.6,9.9-8.6c2.3-1.5,3.6-2.5,6-4.4
c-3.4-0.1-6.2,0-6.2,0s5.7-3.1,11.7-5.4c-4.4-0.2-8.5,0-8.5,0s12.8-5.7,22.9-10c7-2.9,13.8-2,17.6,3.5c5,7.3,10.3,11.2,21.4,13.6
c6.9-3,8.9-4.6,17.5-7c7.6-8.4,13.5-9.4,13.5-9.4s-3,2.7-3.7,7c4.3-3.4,9-6.2,9-6.2s-1.8,2.3-3.5,5.8l0.4,0.6c5-3,10.9-5.4,10.9-5.4
s-1.7,2.1-3.7,4.9c3.8,0,11.5,0.2,14.4,0.5c17.6,0.4,21.2-18.8,28-21.2c8.4-3,12.2-4.9,26.6,9.3c12.3,12.2,22,33.9,17.2,38.8
c-4,4-11.9-1.6-20.7-12.6c-4.6-5.8-8.1-12.7-9.8-21.4c-1.4-7.4-6.8-11.6-6.8-11.6s3.1,7,3.1,13.2c0,3.4,0.4,16,5.8,23
c-0.5,1-0.8,5.1-1.4,5.9c-6.3-7.6-19.7-13-21.9-14.6c7.4,6.1,24.5,20.1,31.1,33.6c6.2,12.7,2.5,24.4,5.7,27.4
c0.9,0.9,13.3,16.4,15.7,24.2c4.2,13.6,0.2,27.9-5.2,36.8l-15.3,2.4c-2.2-0.6-3.7-0.9-5.7-2.1c1.1-2,3.3-6.8,3.3-7.9l-0.9-1.5
c-4.7,6.7-12.7,13.3-19.3,17.1c-8.7,4.9-18.6,4.2-25.1,2.1c-18.4-5.7-35.9-18.2-40.1-21.5c0,0-0.1,2.6,0.7,3.2
c4.6,5.3,15.3,14.8,25.6,21.4l-21.9,2.4l10.4,81c-4.6,0.7-5.3,1-10.3,1.7c-4.4-15.7-12.9-26-22.2-32c-8.2-5.3-19.5-6.5-30.3-4.3
l-0.7,0.8c7.5-0.8,16.4,0.3,25.5,6.1c8.9,5.7,16.1,20.3,18.8,29.1c3.4,11.3,5.7,23.3-3.4,36.1c-6.5,9.1-25.5,14.1-40.8,3.2
c4.1,6.6,9.6,12,17.1,13c11.1,1.5,21.6-0.4,28.8-7.9c6.2-6.4,9.4-19.7,8.6-33.7l9.8-1.4l3.5,25.2l161.6-19.5L386.7,196.8z
M288.4,128.5c-0.5,1-1.2,1.7-0.1,5.1l0.1,0.2l0.2,0.4l0.4,1c1.9,3.9,4,7.6,7.5,9.5c0.9-0.2,1.9-0.3,2.8-0.3
c3.3-0.1,5.4,0.4,6.7,1.1c0.1-0.7,0.1-1.6,0.1-3.1c-0.3-5,1-13.5-8.6-17.9c-3.6-1.7-8.7-1.2-10.3,0.9c0.3,0,0.6,0.1,0.8,0.2
C290.6,126.6,288.8,127.5,288.4,128.5 M315.2,175c-1.3-0.7-7.1-0.4-11.2,0.1c-7.8,0.9-16.3,3.7-18.2,5.1c-3.4,2.6-1.8,7.2,0.7,9
c7,5.2,13.1,8.7,19.6,7.9c4-0.5,7.5-6.8,9.9-12.5C317.6,180.7,317.6,176.4,315.2,175 M245.8,134.7c2.2-2.1-11-4.9-21.3,2.1
c-7.6,5.2-7.8,16.3-0.6,22.6c0.7,0.6,1.3,1.1,1.9,1.4c2.1-1,4.5-2,7.3-2.9c4.7-1.5,8.6-2.3,11.8-2.7c1.5-1.7,3.3-4.7,2.9-10.2
C247.2,137.6,241.6,138.7,245.8,134.7"/>
<path id="Text" fill-rule="evenodd" clip-rule="evenodd" fill="#774AA4" d="M69.9,435.7H43.7v-60.4h26.2c18.9,0,28.4,9.5,28.4,28.6
C98.3,425.1,88.9,435.7,69.9,435.7 M54.9,426h13.3c12.6,0,18.8-7.4,18.8-22.1c0-12.6-6.3-18.9-18.8-18.9H54.9V426z M110.1,435.7
H98.6l25.7-60.4h12.1l26.3,60.4h-12.1l-7.6-16.5h-19.4l3.9-9.7h12.6l-9.9-22.7L110.1,435.7z M156.2,375.3h45.9v9.7h-17.4v50.7h-11.2
V385h-17.4V375.3z M207.9,435.7h-11.5l25.7-60.4h12.1l26.3,60.4h-12.1l-7.6-16.5h-19.4l3.8-9.7h12.6l-9.9-22.7L207.9,435.7z
M294.1,435.7h-26.2v-60.4h26.2c18.9,0,28.4,9.5,28.4,28.6C322.5,425.1,313.1,435.7,294.1,435.7 M279.1,426h13.3
c12.6,0,18.8-7.4,18.8-22.1c0-12.6-6.3-18.9-18.8-18.9h-13.3V426z M330.1,405.6c0-20.5,10.1-30.7,30.4-30.7
c20,0,29.9,10.2,29.9,30.7c0,20.4-10,30.6-29.9,30.6C341.2,436.1,331,426,330.1,405.6 M360.5,426.4c12.2,0,18.3-7,18.3-21.1
c0-13.8-6.1-20.8-18.3-20.8c-12.5,0-18.8,6.9-18.8,20.8C341.8,419.4,348,426.4,360.5,426.4 M437.3,411.3v14.1c-2.6,0.7-4.9,1-6.9,1
c-13.7,0-20.6-7.2-20.6-21.8c0-13.4,7.3-20.1,21.8-20.1c6.1,0,11.7,1.1,16.9,3.4v-10.1c-5.2-2-11.1-3-17.8-3
c-21.7,0-32.6,9.9-32.6,29.8c0,21,10.7,31.5,32.1,31.5c7.4,0,13.5-1.1,18.3-3.2v-31.6h-18.1l-3.8,9.9H437.3z"/>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

8
templates/datadog/config.yml Executable file
View File

@ -0,0 +1,8 @@
name: Datadog
description: |
Datadog Agent and DogStatsD
version: 11.0.563-rancher1
category: Monitoring
maintainer: "Jan Broer <jan@festplatte.eu.org>"
license: The MIT License
projectURL: http://www.github.com/janeczku/dd-agent-rancher

View File

@ -0,0 +1,14 @@
gogs:
image: gogs/gogs:latest
ports:
- ${http_port}:3000
- ${ssh_port}:22
links:
- mysql:db
mysql:
image: mysql:latest
ports:
- ${public_port}:3306
environment:
MYSQL_ROOT_PASSWORD: ${mysql_password}

View File

@ -0,0 +1,33 @@
.catalog:
name: "Gogs"
version: "v0.8.43"
description: "A painless self-hosted Git service"
uuid: gogs-0
minimum_rancher_version: v0.51.0
questions:
- variable: public_port
description: "public port to access the mysql server"
label: "Public Port"
required: true
default: "3306"
type: "int"
- variable: http_port
description: "http port to access gogs webui"
label: "Http Port"
required: true
default: "10080"
type: "int"
- variable: ssh_port
description: "ssh port to access gogs cli"
label: "Ssh Port"
required: true
default: "222"
type: "int"
- variable: mysql_password
description: "mysql root password"
label: "Mysql Password"
required: true
default: "password"
type: "string"
gogs:

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -0,0 +1,5 @@
name: Gogs
description: |
A painless self-hosted Git service
version: v0.8.43
category: Git

View File

@ -0,0 +1,15 @@
cleanup:
image: meltwater/docker-cleanup:1.4.0
environment:
CLEAN_PERIOD: ${FREQUENCY}
DELAY_TIME: "900"
KEEP_IMAGES: ${KEEP}
labels:
io.rancher.scheduler.global: "true"
io.rancher.scheduler.affinity:host_label_ne: ${EXCLUDE_LABEL}
privileged: true
tty: true
stdin_open: true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker:/var/lib/docker

View File

@ -0,0 +1,25 @@
.catalog:
name: "Janitor"
version: "v1.4.0"
description: "Docker cleanup"
uuid: janitor-0
questions:
- variable: "FREQUENCY"
label: "Frequency"
description: "Run the cleanup on a cycle of this many seconds"
default: 3600
required: true
type: "int"
- variable: "EXCLUDE_LABEL"
label: "Exclude label"
description: "Specify a Rancher host label here that will be used to determine on which hosts the container should not deploy."
default: janitor.exclude=true
required: true
type: "string"
- variable: "KEEP"
label: "Keep images"
description: "A comma separated list of images that should never be removed"
default: "rancher/agent:v0.8.2,rancher/agent-instance:v0.6.0"
required: false
type: "string"

View File

@ -0,0 +1,17 @@
# Janitor
### Topology
A Janitor instance will be started on every host that does not match the
scheduling rule (default is `janitor.exclude=true`).
### Operation
This will run a task daily (by default) that will delete any unused
image, and any orphaned volume. The rancher container images are excluded
from the list of images to clean up, and you can add your own containers to
the exclude list if you wish.
This will halp to prevent the /var/lib/docker filesystem from filling up
with old and unused container images.

View File

@ -0,0 +1,31 @@
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 600 600"><rect id="svgEditorBackground" x="0" y="0" width="600" height="600" style="fill: none; stroke: none;"/>
<!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->
<g>
<title>Layer 1</title>
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#5b8805;stop-opacity:1"/>
<stop offset="100%" style="stop-color:#5b8805;stop-opacity:0"/>
</linearGradient>
</defs>
<ellipse ry="300" rx="300" id="svg_1" cy="300" cx="300" stroke-width="0" stroke="#000000" fill="#79b506"/>
<path d="M191 479.5 L 300 479.5 L 300 600" style="fill:#5b8805; stroke:purple;stroke-width:0"/>
<path d="M426.5 145 L 600 300 L 420 300" style="fill:#5b8805; stroke:purple;stroke-width:0"/>
<path d="M300 600 A 300 300, 0, 0, 0, 600 300 L 300 300 Z" fill="#5b8805"/>
<path d="M 300 300 L 300 470 L 400 470 L 410 300" style="fill:#79b506; stroke:purple;stroke-width:0"/>
<line stroke-linecap="round" x1="180" y1="159.25" x2="420" y2="159.25" style="stroke:rgb(255,255,255);stroke-width:30"/>
<rect x="250" y="129.25" rx="20" ry="20" width="100" height="30" style="fill: transparent; stroke:#fff; stroke-width:10"/>
<line stroke-linecap="round" x1="189" y1="198.75" x2="200" y2="466.75" style="stroke:rgb(255,255,255);stroke-width:25"/>
<line id="bottom" stroke-linecap="round" x1="411" y1="198.75" x2="400" y2="466.75" style="stroke:rgb(255,255,255);stroke-width:25"/>
<line stroke-linecap="square" x1="189" y1="198.75" x2="411" y2="198.75" style="stroke:rgb(255,255,255);stroke-width:25"/>
<line stroke-linecap="round" x1="203" y1="470.75" x2="397" y2="470.75" style="stroke:rgb(255,255,255);stroke-width:30"/>
<line stroke-linecap="round" x1="260" y1="198.75" x2="265" y2="470.75" style="stroke:rgb(255,255,255);stroke-width:25"/>
<line stroke-linecap="round" x1="340" y1="198.75" x2="335" y2="470.75" style="stroke:rgb(255,255,255);stroke-width:25"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,7 @@
name: Janitor
description: |
Automatic cleanup of unused images on hosts, in order to save disk space.
version: v1.4.0
category: monitoring
maintainer: Steve Shipway <s.shipway@auckland.ac.nz>

View File

@ -0,0 +1,14 @@
# Add Logspout Stack
Glider Labs Logspout with Logstash adapter
### Info:
For any services launched from the Rancher UI to use Logspout, please make sure to disable the '-t' [tty] option in the Advanced Options of the service definition.
### Community Version
This version adds the Environment option, where you can specify the name of the Environment.
All Syslogs will then be sent with this as the Source Hostname rather than the hostname of
the Docker Host on which the container is running.

View File

@ -0,0 +1,14 @@
logspout:
restart: always
environment:
ROUTE_URIS: "${route_uri}"
LOGSPOUT: 'ignore'
SYSLOG_HOSTNAME: "${envname}"
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
labels:
io.rancher.scheduler.global: 'true'
io.rancher.container.hostname_override: container_name
tty: true
image: rancher/logspout-logstash:v0.2.0
stdin_open: true

View File

@ -0,0 +1,33 @@
.catalog:
name: Logspout
version: 0.2.0-1
description: |
Logspout is a log router for Docker containers. This community template
allows you to log against the Rancher Environment rather than the hostname for
easier analysis.
questions:
- variable: "route_uri"
label: "Logspout route for logs"
type: "string"
required: true
default: "syslog://syslog.example.com:514"
description: |
This will be the target where all logs are sent.
- variable: "envname"
label: "Environment"
type: "string"
required: true
default: "Rancher:"
description: |
This is the environment name, which will be used as the Hostname
label in Syslog instead of the Host or Container name.
- variable: "format"
label: "Format"
type: "enum"
options:
- "rfc5424"
- "rfc3164"
required: true
default: "rfc5424"
description: |
The Syslog format to use. If not certain, use rfc5424

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -0,0 +1,5 @@
name: Logspout
description: |
Glider Labs Logspout with Logstash adapter with extra options
version: 0.2.0-1
category: Logging

View File

@ -0,0 +1,24 @@
Minecraft:
environment:
EULA: ${EULA}
VERSION: ${VERSION}
DIFFICULTY: ${DIFFICULTY}
MODE: ${MODE}
PVP: ${PVP}
WHITELIST: ${WHITELIST}
OPS: ${OPS}
MOTD: ${MOTD}
SEED: ${SEED}
WORLD: ${WORLD}
tty: true
image: itzg/minecraft-server
stdin_open: true
MinecraftLB:
ports:
- ${PORT}:25565/tcp
tty: true
image: rancher/load-balancer-service
links:
- Minecraft:Minecraft
stdin_open: true

View File

@ -0,0 +1,92 @@
.catalog:
name: "Minecraft"
version: "v1.8"
description: "Minecraft server"
uuid: minecraft-0
questions:
- variable: "EULA"
label: "Accept EULA"
description: "Select TRUE to accept the Minecraft EULA"
required: true
type: "enum"
options:
- TRUE
- variable: "SCALE"
label: "Scale"
description: "How many servers to run"
default: 1
required: true
type: "int"
- variable: "PORT"
label: "Port number"
description: "On which port should the Load Balancer listen?"
default: 25565
required: true
type: "int"
- variable: "VERSION"
label: "Minecraft Version"
description: "Select the version of Minecraft server to run. Default is the latest available"
required: false
type: "enum"
default: LATEST
options:
- LATEST
- SNAPSHOT
- 1.8.9
- 1.7.10
- 1.6.4
- variable: "DIFFICULTY"
label: "Difficulty level"
description: "Select the Minecraft difficulty level. Default is normal"
default: normal
required: true
type: "enum"
options:
- peaceful
- easy
- normal
- hard
- variable: "MODE"
label: "Default game mode"
description: "Select the game mode to connect in. Default is survival"
default: survival
required: true
type: "enum"
options:
- survival
- creative
- adventure
- spectator
- variable: "PVP"
label: "PvP mode"
description: "Check here to enable PvP mode. Default is no PvP."
default: false
type: "boolean"
required: true
- variable: "MOTD"
label: "Description"
description: "Description string for Minecraft server"
default: "A Minecraft server powered by Docker"
type: "string"
required: true
- variable: "WHITELIST"
label: "Whitelist"
description: "Player names to whitelist, comma separated"
type: "string"
- variable: "OPS"
label: "Operators"
description: "Player names to give operator privileges, comma separated"
type: "string"
- variable: "SEED"
label: "Level seed"
description: "Optional level seed number for world generation"
type: "int"
- variable: "WORLD"
label: "World URL"
description: "URL to download zipped world directory"
type: "string"
Minecraft:
scale: ${SCALE}
MinecraftLB:
load_balancer_config: {}

View File

@ -0,0 +1,19 @@
# Minecraft
### Topology
This will start up several Minecraft servers of the specified type. If no
world seed is specified, then a random one will be used. A Load Balancer
will be created over the top so that they can be accessed.
The servers use ephemeral disk and so will not be persistent. You can also
specify a URL from which to download an ZIP archive of a world save, which
will be used in all containers.
### Options
You **must** accept the [EULA](https://account.mojang.com/documents/minecraft_eula) by selecting **TRUE** in the dropdown.
You should specify a unique port number for the load balancers to listen on.
The other options for the server may be left as their defaults.

View File

@ -0,0 +1,367 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="100%" height="100%" viewBox="0 -20 300 100" xml:space="preserve">
<path fill="#020303" d="M299.777,36.931l-0.921-3.17l-0.866-2.898c0,0-2.735-8.914-3.092-10.088
c-0.443-1.454-0.883-2.903-1.298-4.313l-0.069-0.243l6.06-7.282l-2.848-8.938l-30.533,0.03l-0.932,1.485l-0.365-1.483l-30.739,0.032
l-0.754,1.686l-0.297-1.689l-30.981,0.035l-0.545,2.024l-0.207-2.024l-31.296,0.03l-0.3,3.31l-0.097-3.31l-31.455,0.033
l-0.105,3.027l-0.326-3.03l-31.188,0.034l-0.209,1.951l-0.558-1.949L90.817,0.204l-1.2,8.389l-0.685-1.731l-0.331-0.03l-2.629-6.624
L71.124,0.223l-0.301,1.609l-0.782-1.608L55.339,0.238L55.005,1.74l-0.866-1.502L39.563,0.254l-1.696,6.532L33.918,6.79
l-0.757,2.855l-6.866-9.378L12.11,0.281L-0.013,37.937l12.888,11.915h14.042l2.23-8.393l1.089,1.211h3.757l6.255,7.179l14.429-0.004
l0.285-1.358l1.021,1.36l14.541-0.002l0.26-1.469l0.929,1.469l14.679-0.002l1.134-7.871l3.787,7.871l14.875-0.003l0.187-1.801
l0.648,1.801l30.942-0.003l0.111-2.862l0.341,2.863l31.191-0.005l0.3-3.128l0.105,3.128l15.302-0.003l0.478-2.198l0.144,2.198
l15.116-0.003l0.641-1.887l0.187,1.887h14.951l0.769-1.68l0.223,1.68h14.808l0.889-1.534l0.251,1.533l14.679-0.005l8.486-12.098
l-0.405-1.939l4.702-0.002l6.64-9.198l5.716,23.235l14.409-0.002l12.026-11.98L299.777,36.931z M154.018,27.736l0.155-5.141
l14.732-0.009l0.128-1.708l0.232,6.853L154.018,27.736z"/>
<polygon fill="#A9A09D" points="26.943,8.807 24.983,15.643 33.681,15.643 35.508,8.892 39.484,8.889 41.177,2.342 52.64,2.33
44.56,37.066 32.202,37.07 35.905,22.32 31.444,22.315 29.514,29.5 21.509,29.503 23.505,22.311 18.984,22.324 14.625,37.075
2.494,37.082 13.631,2.369 24.882,2.358 23.016,8.662 "/>
<polygon fill="#A9A09D" points="68.447,2.4 61.617,37.146 49.256,37.151 56.985,2.41 "/>
<polygon fill="#A9A09D" points="85.164,25.878 86.188,18.695 81.711,18.611 78.751,37.056 66.374,37.058 72.858,2.311 84.332,2.3
83.327,8.733 87.255,8.833 86.324,15.553 90.741,15.615 92.626,2.29 104.108,2.28 100.085,37.048 87.695,37.053 89.246,25.979 "/>
<polygon fill="#A9A09D" points="134.653,29.879 134.34,37.037 104.819,37.046 108.494,2.276 135.861,2.248 135.59,8.404
119.491,8.419 118.984,15.512 135.279,15.556 134.985,22.276 118.383,22.287 117.825,29.815 "/>
<path fill="#A9A09D" d="M295.203,2.092l1.965,6.172l-7.992,0.006l0.05,0.191c0.331,1.35,0.688,2.723,1.072,4.125
c0.387,1.407,0.795,2.837,1.218,4.286c0.427,1.454,0.863,2.929,1.315,4.405c0.452,1.484,0.911,2.978,1.368,4.471
c0.277,0.908,0.555,1.822,0.837,2.748c0.287,0.928,0.573,1.863,0.855,2.802c0.287,0.943,0.568,1.891,0.85,2.838
c0.278,0.949,0.557,1.898,0.824,2.847l-12.473,0.004L277.25,8.283l-7.998,0.007l-1.577-6.171L295.203,2.092z"/>
<polygon fill="#A9A09D" points="266.487,15.292 268.187,22.196 251.499,22.205 254.589,36.997 242.139,37 235.763,2.15
263.259,2.123 264.776,8.293 248.589,8.307 250.05,15.285 "/>
<path fill="#A9A09D" d="M218.643,25.764l1.537,11.245l-12.44,0.003l-3.85-34.83l27.464-0.027l6.024,34.85l-12.443,0.003
l-1.62-11.228L218.643,25.764z M226.707,12.085l-0.699-4.424l-5.437,0.006l0.5,4.054l-4.268-0.034l-0.55-4.017l-5.26,0.007
l0.553,4.42l4.829-0.002l0.222,1.626l-2.427,0.002l0.887,6.814l2.914-0.003l-0.219-2.317l4.32-0.017l0.361,2.331l2.954-0.002
l-1.036-6.783l-2.407-0.013l-0.209-1.646L226.707,12.085"/>
<path fill="#A9A09D" d="M197.071,18.978l4.104-0.003l1.818,18.037l-12.425,0.007l-1.109-14.684l-4.6-0.113l0.955,14.797
l-12.423,0.007l-1.335-34.813l27.432-0.026l1.3,12.917l-4.094-0.004L197.071,18.978z M188.966,15.522l-0.538-7.162l-4.465,0.001
l0.461,7.163L188.966,15.522"/>
<polygon fill="#A9A09D" points="151.919,8.39 167.833,8.377 167.657,2.217 140.254,2.246 139.083,37.034 168.646,37.026
168.442,29.873 151.538,29.879 "/>
<path fill="#282729" d="M4.115,37.08c-0.891,0-1.095,0.505-0.451,1.122l8.792,8.427c0.642,0.615,1.899,1.122,2.791,1.122h7.74
c0.892,0,1.122-0.534,0.515-1.187l-7.77-8.304c-0.607-0.65-1.836-1.184-2.728-1.184L4.115,37.08z"/>
<path fill="#282729" d="M33.824,37.071c-0.892,0-1.155,0.56-0.582,1.243l6.865,8.191c0.572,0.686,1.77,1.244,2.662,1.244h8.116
c0.892,0,1.186-0.585,0.654-1.301l-6.011-8.08c-0.533-0.716-1.698-1.302-2.59-1.301L33.824,37.071z"/>
<path fill="#282729" d="M23.129,29.502c-0.891,0-1.138,0.545-0.546,1.215l7.639,8.623c0.592,0.668,1.671,1.186,2.401,1.15
c0.727-0.034,0.904-0.66,0.391-1.39l-0.532-0.754c-0.514-0.729-0.74-2.029-0.501-2.89l0.148-0.538
c0.24-0.858-0.02-2.135-0.573-2.834l-1.038-1.31c-0.553-0.7-1.735-1.272-2.626-1.272H23.129z"/>
<path fill="#282729" d="M50.877,37.151c-0.893,0.001-1.188,0.59-0.66,1.308l5.872,7.984c0.526,0.719,1.689,1.307,2.581,1.307h7.994
c0.891,0,1.233-0.617,0.757-1.373l-4.943-7.857c-0.475-0.756-1.592-1.374-2.484-1.372L50.877,37.151z"/>
<path fill="#282729" d="M67.995,37.058c-0.891,0-1.241,0.623-0.775,1.384l4.764,7.799c0.466,0.76,1.573,1.383,2.466,1.383h7.866
c0.893,0,1.302-0.655,0.907-1.456l-3.755-7.658c-0.393-0.801-1.444-1.455-2.336-1.455L67.995,37.058z"/>
<path fill="#282729" d="M89.317,37.052c-0.891,0-1.314,0.662-0.939,1.471l3.586,7.755c0.376,0.81,1.411,1.471,2.303,1.471h8.12
c0.892,0,1.371-0.685,1.063-1.522l-2.807-7.659c-0.308-0.837-1.287-1.521-2.18-1.521L89.317,37.052z"/>
<path fill="#282729" d="M106.44,37.047c-0.891,0-1.375,0.688-1.075,1.525l2.645,7.397c0.299,0.842,1.276,1.528,2.167,1.528h24.02
c0.892,0,1.519-0.724,1.394-1.605l-1.026-7.251c-0.124-0.884-0.958-1.605-1.847-1.605L106.44,37.047z"/>
<path fill="#282729" d="M140.704,37.034c-0.891,0-1.543,0.725-1.447,1.613l0.808,7.491c0.096,0.888,0.903,1.612,1.795,1.612h23.896
c0.893,0,1.708-0.725,1.812-1.61l0.887-7.503c0.105-0.887-0.541-1.611-1.431-1.61L140.704,37.034z"/>
<path fill="#282729" d="M175.012,37.024c-0.892,0-1.713,0.725-1.826,1.61l-0.935,7.381c-0.113,0.886,0.524,1.609,1.417,1.609h7.997
c0.892,0,1.792-0.71,1.997-1.577l1.776-7.451c0.203-0.868-0.355-1.577-1.247-1.576L175.012,37.024z"/>
<path fill="#282729" d="M192.188,37.018c-0.892,0-1.79,0.711-1.997,1.579l-1.737,7.324c-0.206,0.868,0.355,1.578,1.248,1.578h7.996
c0.891,0,1.862-0.688,2.157-1.53l2.603-7.426c0.292-0.841-0.194-1.53-1.086-1.529L192.188,37.018z"/>
<path fill="#282729" d="M209.361,37.011c-0.894,0-1.867,0.688-2.163,1.529l-2.668,7.557c-0.297,0.84,0.188,1.528,1.079,1.528h7.989
c0.892,0,1.932-0.662,2.31-1.471l3.586-7.677c0.377-0.809-0.043-1.47-0.934-1.47L209.361,37.011z"/>
<path fill="#282729" d="M226.556,37.006c-0.892,0.001-1.941,0.656-2.331,1.458l-3.75,7.702c-0.39,0.803,0.021,1.458,0.911,1.458
h8.245c0.893,0,1.987-0.631,2.432-1.403l4.503-7.812c0.447-0.771,0.082-1.403-0.811-1.403L226.556,37.006z"/>
<path fill="#282729" d="M243.762,36.999c-0.891,0-2.002,0.624-2.465,1.386l-4.782,7.854c-0.464,0.761-0.114,1.385,0.776,1.385h8.117
c0.892,0,2.046-0.594,2.563-1.321l5.681-7.985c0.516-0.727,0.211-1.322-0.683-1.322L243.762,36.999z"/>
<path fill="#282729" d="M286.714,36.986c-0.892,0-2.104,0.546-2.694,1.215l-7.135,8.081c-0.591,0.669-0.344,1.215,0.548,1.215h7.737
c0.894,0,2.144-0.51,2.784-1.131l8.455-8.253c0.636-0.622,0.429-1.131-0.464-1.13L286.714,36.986z"/>
<path fill="#020303" d="M11.584,8.145c-0.083,0.225,0.578,0.413,1.469,0.415l8.501,0.035c0.892,0.004,1.63-0.189,1.644-0.426
c0.012-0.239-0.708-0.434-1.6-0.434h-8.242C12.463,7.734,11.666,7.919,11.584,8.145"/>
<path fill="#020303" d="M10.994,25.811c0.277-0.847-0.224-1.541-1.115-1.541H7.802c-0.891,0-1.62,0.171-1.62,0.378
c0,0.208,0.729,0.38,1.62,0.38H8.83c0.891,0,1.394,0.692,1.115,1.54l-1.89,5.753c-0.277,0.849,0.225,1.542,1.117,1.542h6.369
c0.893,0,1.622-0.171,1.622-0.379s-0.729-0.378-1.622-0.378h-5.322c-0.892,0-1.394-0.695-1.115-1.542l0.151-0.453
c0.278-0.848,1.236-1.541,2.127-1.541h4.916c0.893,0,1.623-0.17,1.623-0.377c0-0.21-0.73-0.379-1.623-0.379h-4.668
c-0.891,0-1.393-0.692-1.115-1.541L10.994,25.811z"/>
<path fill="#020303" d="M44.894,9.634c0.121-0.882-0.512-1.606-1.402-1.606l-2.464,0.003c-0.892,0.001-1.685,0.171-1.765,0.378
c-0.08,0.205,0.587,0.375,1.479,0.375h1.885c0.892,0,1.524,0.723,1.403,1.607l-0.346,2.552c-0.12,0.883-0.948,1.606-1.838,1.606
h-7.789c-0.892,0-1.621,0.171-1.621,0.378c0,0.208,0.729,0.379,1.621,0.379h7.686h1.837h1.838h3.95c0.891,0,1.621-0.171,1.621-0.379
c0-0.207-0.729-0.378-1.621-0.378h-3.519c-0.891,0-1.525-0.723-1.403-1.606L44.894,9.634z"/>
<path fill="#020303" d="M55.592,32.821c0.16-0.878,0.057-1.221-0.229-0.765c-0.287,0.454-0.655,1.544-0.82,2.423l-0.241,1.286
c-0.165,0.875,0.11,2.197,0.611,2.936l0.408,0.6c0.502,0.738,1.302,1.63,1.779,1.984c0.476,0.354,0.461,0.038-0.035-0.704
l-1.368-2.046c-0.496-0.742-0.771-2.065-0.61-2.943L55.592,32.821z"/>
<path fill="#020303" d="M67.779,9.375c0-0.208-0.728-0.365-1.619-0.347l-3.196,0.062c-0.891,0.019-1.252,0.174-0.801,0.347
c0.451,0.174,1.55,0.317,2.441,0.317h1.555C67.051,9.754,67.779,9.583,67.779,9.375"/>
<path fill="#020303" d="M72.477,34.659c0.195-0.871,0.097-1.198-0.214-0.728c-0.309,0.472-0.681,1.365-0.827,1.985
c-0.146,0.622-0.029,1.751,0.261,2.508c0.289,0.759,0.789,1.719,1.11,2.133c0.323,0.413,0.358,0.06,0.077-0.787l-0.412-1.237
c-0.281-0.847-0.354-2.253-0.162-3.123L72.477,34.659z"/>
<path fill="#020303" d="M69.421,25.868c-0.892-0.044-1.629,0.087-1.642,0.296c-0.009,0.208,0.712,0.414,1.602,0.46l9.064,0.459
c0.889,0.044,1.851,0.443,2.135,0.884c0.284,0.439,0.659,0.708,0.833,0.596c0.176-0.113,0.041-0.641-0.302-1.171
c-0.341-0.53-1.353-1.002-2.239-1.047L69.421,25.868z"/>
<path fill="#020303" d="M79.015,8.169c0.346,0.241,1.359,0.438,2.251,0.438h0.689c0.891,0,1.622-0.17,1.622-0.38
c0-0.206-0.731-0.395-1.622-0.415L80.004,7.77C79.113,7.748,78.668,7.929,79.015,8.169"/>
<path fill="#020303" d="M89.835,26.096c-0.89,0.038-1.614,0.24-1.605,0.447c0.008,0.208,0.745,0.347,1.634,0.309l5.265-0.223
c0.891-0.038,1.511,0.653,1.377,1.535l-1.1,7.28c-0.136,0.88-0.035,2.3,0.224,3.155l0.229,0.763
c0.259,0.853,0.772,1.982,1.146,2.507c0.374,0.526,0.468,0.257,0.213-0.597l-0.814-2.727c-0.254-0.855-0.355-2.276-0.222-3.156
l1.21-8.022c0.133-0.881-0.486-1.573-1.378-1.534L89.835,26.096z"/>
<path fill="#020303" d="M91.639,7.986c-0.036,0.205,0.654,0.495,1.535,0.643l8.973,1.054c0.884,0.11,1.608,0.028,1.608-0.18
c0-0.21-0.724-0.471-1.608-0.582l-8.845-1.038C92.421,7.734,91.672,7.782,91.639,7.986"/>
<path fill="#020303" d="M111.164,30.814c0.029-0.892-0.672-1.619-1.565-1.619h-3.209c-0.891,0-1.622,0.171-1.622,0.378
c0,0.208,0.731,0.379,1.622,0.379h2.424c0.891,0,1.595,0.729,1.565,1.62l-0.13,3.744c-0.031,0.891,0.125,2.326,0.346,3.189
l0.599,2.341c0.223,0.864,0.637,1.993,0.926,2.508c0.286,0.517,0.361,0.226,0.163-0.643l-0.97-4.277
c-0.196-0.869-0.333-2.31-0.303-3.201L111.164,30.814z"/>
<path fill="#020303" d="M106.662,12.406c0,0.208,0.73,0.379,1.622,0.379h3.066c0.891,0,1.99-0.2,2.441-0.441
c0.452-0.244,0.09-0.431-0.801-0.418l-4.707,0.076C107.392,12.016,106.662,12.198,106.662,12.406"/>
<path fill="#020303" d="M127.528,16.297c-0.021-0.892-0.21-1.622-0.422-1.622c-0.205,0-0.376,0.73-0.376,1.622v3.7
c0,0.892,0.197,1.194,0.441,0.675c0.242-0.522,0.422-1.676,0.401-2.569L127.528,16.297z"/>
<path fill="#020303" d="M131.219,30.097c-0.032,0.892-0.786,1.619-1.679,1.619h-2.453c-0.891,0-1.622,0.731-1.622,1.623v2.438
c0,0.892,0.169,1.621,0.38,1.621c0.209,0,0.379-0.729,0.379-1.621v-1.681c0-0.891,0.729-1.619,1.623-1.619h2.428
c0.891,0,1.645-0.729,1.675-1.622l0.026-0.785c0.031-0.892-0.115-1.626-0.323-1.635c-0.208-0.007-0.405,0.716-0.435,1.606V30.097z"
/>
<path fill="#020303" d="M162.266,31.785c-0.174,0.332-0.239,1.33-0.144,2.216l0.161,1.529c0.093,0.886,0.069,2.335-0.053,3.217
l-1.067,7.726c-0.121,0.882-0.012,1.594,0.242,1.583c0.256-0.012,0.555-0.746,0.665-1.631l0.949-7.663
c0.11-0.886,0.122-2.336,0.026-3.222l-0.291-2.746C162.658,31.908,162.44,31.453,162.266,31.785"/>
<path fill="#020303" d="M139.479,43.71c0,0.208,0.729,0.379,1.621,0.379h0.42c0.891,0,1.62-0.17,1.62-0.379
c0-0.207-0.729-0.378-1.62-0.378h-0.42C140.208,43.332,139.479,43.503,139.479,43.71"/>
<path fill="#020303" d="M142.384,13.414c0.417,0.208,1.468,0.54,2.338,0.737l6.247,1.115c0.82,0.353,1.557,0.487,1.639,0.295
c0.084-0.191-0.541-0.577-1.388-0.858l-8.002-1.364C142.343,13.171,141.967,13.206,142.384,13.414"/>
<path fill="#020303" d="M142.255,20.42c0.347-0.244-0.098-0.416-0.989-0.383l-0.292,0.01c-0.894,0.032-1.621,0.229-1.621,0.437
c0,0.208,0.511,0.378,1.134,0.378C141.113,20.862,141.907,20.663,142.255,20.42"/>
<path fill="#020303" d="M177.545,13.792c0.053,0.487,0.826,0.884,1.72,0.884h0.707c0.891,0,1.733,0.039,1.864,0.084
c0.137,0.047,0.638,0.404,0.816,0.297s0.048-0.404-0.288-0.66c-0.337-0.256-1.379-0.471-2.271-0.474h-0.15
c-0.893-0.001-1.703-0.729-1.803-1.613l-0.994-8.938c-0.1-0.888-0.351-1.593-0.557-1.569c-0.205,0.023-0.296,0.767-0.196,1.653
l0.788,7.086c0.101,0.886-0.553,1.611-1.442,1.611h-2.574c-0.892,0-1.62,0.17-1.62,0.376c0,0.208,0.729,0.378,1.62,0.378h2.658
C176.715,12.907,177.489,13.305,177.545,13.792"/>
<path fill="#020303" d="M176.46,31.578c0.06,0.889-0.253,2.249-0.698,3.023l-0.678,0.763c-0.207,0.868-0.211,1.612-0.008,1.656
c0.205,0.043,0.595-0.615,0.866-1.465c0,0,0.103-0.37,0.432-0.837c0.325-0.47,0.688-0.854,0.798-0.854
c0.112,0,0.155-0.729,0.094-1.618l-0.282-4.087c-0.063-0.888,0.618-1.616,1.51-1.616h6.074c0.892,0,1.62-0.171,1.62-0.379
c0-0.207-0.729-0.38-1.62-0.38h-6.884c-0.891,0-1.574,0.729-1.512,1.619L176.46,31.578z"/>
<path fill="#020303" d="M189.215,28.437c0,0.208,0.729,0.379,1.621,0.379h4.078c0.893,0,1.934-0.171,2.316-0.379
c0.387-0.209-0.031-0.381-0.922-0.381l-5.473,0.002C189.945,28.058,189.215,28.229,189.215,28.437"/>
<path fill="#020303" d="M192.717,17.747c0.227,0.187,1.14,0.341,2.031,0.341h1.177c0.893,0,1.622-0.171,1.622-0.378
c0-0.21-0.729-0.37-1.622-0.357l-1.996,0.029C193.036,17.395,192.493,17.559,192.717,17.747"/>
<path fill="#020303" d="M171.922,44.341c-0.017,0.207,0.699,0.43,1.588,0.493l9.013,0.65c0.888,0.065,1.628-0.053,1.645-0.261
c0.014-0.207-0.702-0.428-1.591-0.493l-9.009-0.648C172.679,44.018,171.938,44.134,171.922,44.341"/>
<path fill="#020303" d="M224.538,28.166c-0.891,0.011-1.619,0.188-1.618,0.396c0.001,0.208,0.732,0.371,1.623,0.363l11.021,1.224
c0.888,0.086,1.674-0.003,1.744-0.199c0.074-0.193-0.594-0.427-1.479-0.517L224.538,28.166z"/>
<path fill="#020303" d="M258.898,14.17c-0.195,0.07-0.316,0.854-0.274,1.746l1.007,5.078c-0.382,0.806-0.543,1.541-0.356,1.635
c0.188,0.093,0.659-0.488,1.045-1.291l-0.983-5.675C259.291,14.772,259.095,14.101,258.898,14.17"/>
<path fill="#020303" d="M253.048,4.704c-0.797,0-1.656-0.679-1.911-1.506c-0.255-0.831-0.624-1.458-0.824-1.397
c-0.198,0.061-0.147,0.809,0.115,1.661l0.139,0.451c0.26,0.853,1.129,1.55,1.931,1.55c0.8,0,1.696,0.689,1.983,1.534l0.377,1.092
c0.289,0.844,0.688,1.479,0.881,1.411c0.197-0.066,0.12-0.811-0.169-1.655l-0.55-1.607C254.732,5.395,253.844,4.704,253.048,4.704"
/>
<path fill="#020303" d="M282.988,26.669c-0.89,0-1.619,0.17-1.619,0.379c0,0.21,0.729,0.381,1.619,0.381h10.392
c0.893,0,1.621-0.171,1.621-0.381c0-0.209-0.729-0.379-1.621-0.379H282.988z"/>
<path fill="#020303" d="M290.834,8.87c0.2-0.054,0.175-0.803-0.063-1.663l-1.04-3.815c-0.232-0.861-0.59-1.52-0.793-1.464
c-0.198,0.054-0.173,0.803,0.063,1.663l1.041,3.814C290.279,8.264,290.634,8.924,290.834,8.87"/>
<path fill="#020303" d="M38.936,8.648h3.396c0.891,0,0.904-0.142,0.029-0.311l-1.171-0.23c-0.876-0.171-1.546-0.013-1.494,0.353
L38.936,8.648z"/>
<path fill="#020303" d="M19.937,42.256c-0.345-0.382-1.354-0.606-2.237-0.499l-1.959,0.242c-0.885,0.108-0.885,0.282,0.001,0.387
l3.215,0.378C19.844,42.867,20.285,42.639,19.937,42.256"/>
<path fill="#020303" d="M52.063,46.424c-0.241-0.382-1.167-0.634-2.057-0.557l-4.215,0.357c-0.889,0.074-0.889,0.203-0.002,0.284
l5.103,0.462C51.78,47.05,52.309,46.805,52.063,46.424"/>
<path fill="#020303" d="M90.946,44.846c-0.105-0.346,0.538-0.609,1.431-0.584l1.05,0.032c0.891,0.024,0.921,0.25,0.064,0.499
l-0.801,0.231C91.834,45.272,91.049,45.192,90.946,44.846"/>
<path fill="#020303" d="M135.439,42.385c-0.068-0.521-0.845-0.845-1.728-0.719l-2.98,0.425c-0.879,0.126-0.879,0.342-0.001,0.482
l3.231,0.507C134.843,43.219,135.507,42.906,135.439,42.385"/>
<path fill="#020303" d="M139.161,44.188c-0.045-0.52,0.646-0.861,1.53-0.76l0.093,0.011c0.888,0.101,0.956,0.5,0.151,0.886
l-0.229,0.11C139.901,44.819,139.206,44.708,139.161,44.188"/>
<path fill="#020303" d="M111.016,35.505c-0.105-0.764-0.304-0.821-0.443-0.126c-0.139,0.695-0.044,1.961,0.212,2.815l0.204,0.679
c0.257,0.854,0.417,0.825,0.353-0.063l-0.02-0.299C111.256,37.621,111.121,36.269,111.016,35.505"/>
<path fill="#020303" d="M125.783,36.072c-0.174-0.313-0.291,0.16-0.259,1.05l0.013,0.423c0.032,0.891,0.17,1.052,0.312,0.359
C125.986,37.209,125.958,36.385,125.783,36.072"/>
<path fill="#020303" d="M95.868,35.756c-0.036-0.765-0.176-0.765-0.314,0c-0.139,0.765-0.022,2.082,0.257,2.928l0.236,0.709
c0.281,0.846,0.393,0.817,0.246-0.061l-0.096-0.586C96.051,37.864,95.901,36.521,95.868,35.756"/>
<path fill="#020303" d="M71.818,36.325c-0.139-0.313-0.369-0.255-0.504,0.126c-0.139,0.382,0.005,1.09,0.317,1.577
c0.313,0.485,0.542,0.43,0.505-0.126C72.1,37.347,71.958,36.638,71.818,36.325"/>
<path fill="#020303" d="M55.029,35.79c-0.172-0.765-0.484-0.68-0.692,0.187v0.003c-0.209,0.866,0.133,2.088,0.756,2.713
c0.624,0.626,0.935,0.541,0.694-0.188C55.542,37.774,55.203,36.554,55.029,35.79"/>
<path fill="#020303" d="M24.799,34.685c-0.243-0.313,0.286-0.504,1.175-0.427l2.571,0.223c0.889,0.077,0.891,0.232,0.008,0.346
l-1.704,0.22C25.966,35.161,25.043,34.998,24.799,34.685"/>
<path fill="#020303" d="M162.478,35.215c0.127-0.882,0.38-0.891,0.57-0.021l0.077,0.365c0.188,0.872,0.154,2.291-0.074,3.153
l-0.309,1.158c-0.228,0.86-0.436,0.836-0.461-0.055l-0.032-1.048c-0.026-0.892,0.056-2.343,0.182-3.227L162.478,35.215z"/>
<path fill="#020303" d="M152.355,15.75c0,0.382-0.604,0.282-1.341-0.217l-0.476-0.323c-0.738-0.502-0.633-0.742,0.235-0.534
l0.005,0.001C151.646,14.887,152.355,15.367,152.355,15.75"/>
<path fill="#020303" d="M201.65,41.436c0.103-0.347-0.541-0.61-1.434-0.585l-1.174,0.034c-0.89,0.026-0.916,0.243-0.06,0.486
l0.919,0.257C200.759,41.868,201.546,41.782,201.65,41.436"/>
<path fill="#020303" d="M195.336,36.073c-0.244-0.521-0.416-0.217-0.382,0.674l0.006,0.166c0.035,0.89,0.231,1.279,0.439,0.863
C195.609,37.359,195.581,36.594,195.336,36.073"/>
<path fill="#020303" d="M217.746,43.015c0.138-0.382-0.476-0.635-1.363-0.565l-3.081,0.248c-0.889,0.07-0.896,0.237-0.013,0.372
l2.602,0.396C216.77,43.6,217.605,43.397,217.746,43.015"/>
<path fill="#020303" d="M214.59,36.262c-0.14-0.418-0.338-0.446-0.442-0.064c-0.103,0.382-0.074,1.235,0.063,1.896
c0.138,0.659,0.338,0.688,0.44,0.063C214.756,37.531,214.729,36.679,214.59,36.262"/>
<path fill="#020303" d="M259.338,22.818c-0.313-0.104-0.284-0.843,0.064-1.641c0.346-0.799,0.602-0.725,0.566,0.167l-0.001,0.044
C259.933,22.279,259.65,22.924,259.338,22.818"/>
<path fill="#020303" d="M238.13,42.131c0.313-0.381,1.29-0.586,2.171-0.454l4.367,0.655c0.883,0.132,0.876,0.262-0.014,0.286
l-5.471,0.161C238.292,42.806,237.82,42.513,238.13,42.131"/>
<path fill="#020303" d="M279.534,42.131c0.382-0.521,1.412-0.809,2.289-0.639l4.012,0.775c0.874,0.169,0.862,0.348-0.028,0.402
l-5.347,0.314C279.567,43.037,279.152,42.653,279.534,42.131"/>
<path fill="#020303" d="M281.178,26.983c-0.174-0.59,0.403-0.965,1.285-0.834l3.61,0.533c0.88,0.131,0.884,0.37,0.006,0.531
l-2.989,0.549C282.213,27.923,281.353,27.573,281.178,26.983"/>
<path fill="#020303" d="M276.946,9.438c-0.277-0.244-0.533-1.172-0.564-2.063l-0.006-0.169c-0.03-0.89,0.128-0.913,0.357-0.051
l0.304,1.157C277.264,9.174,277.223,9.682,276.946,9.438"/>
<path fill="#020303" d="M236.807,30.583l-2.281-0.914c-0.829-0.331-0.782-0.534,0.107-0.451l2.423,0.227"/>
<path fill="#020303" d="M150.147,37.901c0.171-0.485,0.171-1.251,0-1.704c-0.172-0.451-1.044-0.818-1.935-0.818h-0.927
c-0.892,0-1.876,0.425-2.189,0.947c-0.313,0.521,0.134,1.148,0.992,1.391l2.187,0.624C149.134,38.585,149.975,38.386,150.147,37.901
"/>
<path fill="#020303" d="M148.632,36.639c-0.593-0.623-0.563-1.136,0.064-1.136c0.625,0,1.392,0.314,1.704,0.696
c0.311,0.382,0.18,1.314-0.293,2.07l-0.175,0.281c-0.475,0.754-0.717,0.891-0.545,0.3C149.564,38.257,149.222,37.265,148.632,36.639
"/>
<path fill="#020303" d="M91.511,8.238c0.07-0.486,0.833-0.707,1.697-0.49l0.389,0.097c0.866,0.218,0.862,0.56-0.006,0.763
l-0.627,0.146C92.096,8.958,91.441,8.726,91.511,8.238"/>
<path fill="#020303" d="M50.675,15.117c-0.175,0.313-1.023,0.397-1.891,0.188l-0.509-0.123c-0.865-0.208-0.849-0.422,0.044-0.476
l1.051-0.062C50.26,14.592,50.849,14.804,50.675,15.117"/>
<path fill="#020303" d="M17.791,29.066c0.141-0.418-0.464-0.619-1.338-0.448l-1.358,0.264c-0.875,0.171-0.871,0.424,0.009,0.561
l0.832,0.131C16.816,29.712,17.652,29.484,17.791,29.066"/>
<path fill="#282729" d="M20.316,42.385c-0.277-0.311-0.3-1.269-0.047-2.123l0.348-1.183c0.251-0.856,0.421-0.827,0.38,0.064
l-0.102,2.189C20.854,42.225,20.594,42.695,20.316,42.385"/>
<path fill="#282729" d="M51.875,46.549c-0.278-0.174-0.278-0.939,0-1.704c0.278-0.764,0.505-0.658,0.505,0.234v0.164
C52.38,46.135,52.153,46.723,51.875,46.549"/>
<path fill="#282729" d="M80.341,27.553c-0.034-0.556,0.203-0.333,0.53,0.499l0.2,0.516c0.328,0.83,0.31,1.168-0.037,0.752
C80.687,28.903,80.375,28.108,80.341,27.553"/>
<path fill="#282729" d="M238.512,42.637c0.31-0.244,0.366-1.144,0.121-2.001l-0.374-1.302c-0.244-0.857-0.427-0.829-0.404,0.062
l0.052,2.062C237.925,42.349,238.2,42.88,238.512,42.637"/>
<path fill="#282729" d="M280.168,42.383c0.451-0.244,0.516-1.105,0.141-1.913l-1.673-3.62c-0.372-0.812-0.544-0.758-0.381,0.121
l0.796,4.26C279.214,42.109,279.717,42.627,280.168,42.383"/>
<path fill="#282729" d="M281.934,26.921c-0.174-0.347-0.638,0.024-1.032,0.823l-1.725,3.528c-0.394,0.801-0.284,0.867,0.243,0.149
l1.873-2.561C281.82,28.141,282.109,27.27,281.934,26.921"/>
<path fill="#020303" d="M254.855,9.627l0.07-2.038c0.03-0.892,0.239-0.915,0.463-0.053l0.603,2.343"/>
<path fill="#595558" d="M14.322,43.267c-0.798-0.243-0.741-0.385,0.126-0.314c0.867,0.068,2.146,0.211,2.839,0.315
c0.693,0.104,0.637,0.247-0.126,0.314C16.397,43.652,15.12,43.51,14.322,43.267"/>
<path fill="#595558" d="M54.283,38.797c-0.629-0.63-0.721-0.553-0.204,0.172l0.64,0.896c0.518,0.725,1.341,1.574,1.828,1.887
c0.486,0.313,0.458,0.058-0.062-0.568c-0.522-0.625-1.465-1.652-2.095-2.282L54.283,38.797z"/>
<path fill="#595558" d="M70.557,37.02c-0.21,0-0.095,0.595,0.252,1.326c0.347,0.729,0.517,0.729,0.379,0
C71.049,37.614,70.765,37.02,70.557,37.02"/>
<path fill="#595558" d="M93.788,45.099c-0.695-0.07-0.544-0.256,0.333-0.418l0.969-0.175c0.877-0.16,1.227-0.062,0.776,0.216
C95.418,44.999,94.481,45.168,93.788,45.099"/>
<path fill="#595558" d="M110.005,38.345c-0.313-0.451-0.427-0.168-0.254,0.63c0.174,0.798,0.629,2.021,1.011,2.714
c0.379,0.696,0.528,0.552,0.326-0.315l-0.146-0.628C110.738,39.876,110.318,38.795,110.005,38.345"/>
<path fill="#595558" d="M163.656,39.732c-0.105-0.521-0.363-0.436-0.569,0.188c-0.208,0.625-0.379,1.817-0.379,2.653
c0,0.832,0.232,0.822,0.514-0.023l0.111-0.333C163.614,41.372,163.759,40.253,163.656,39.732"/>
<path fill="#595558" d="M145.779,36.256c-0.176-0.532-0.579-0.441-0.896,0.201c-0.316,0.643,0.083,1.487,0.883,1.877l0.04,0.017
c0.798,0.389,1.195,0.295,0.875-0.211C146.364,37.637,145.955,36.789,145.779,36.256"/>
<path fill="#595558" d="M175.771,45.35c-0.797-0.207-0.721-0.378,0.171-0.378h0.293c0.89,0,2.273,0.227,3.073,0.505
c0.797,0.278,0.725,0.454-0.167,0.389l-0.298-0.021C177.954,45.781,176.572,45.559,175.771,45.35"/>
<path fill="#595558" d="M196.033,38.345c-0.067-0.313-0.324-0.028-0.568,0.63c-0.246,0.659-0.188,0.916,0.126,0.569
C195.903,39.196,196.103,38.655,196.033,38.345"/>
<path fill="#595558" d="M215.523,37.656c-0.07-0.31-0.326-0.028-0.568,0.632c-0.244,0.659-0.186,0.917,0.127,0.568
C215.393,38.508,215.593,37.969,215.523,37.656"/>
<path fill="#595558" d="M212.394,43.511c-0.876-0.168-0.865-0.377,0.021-0.464l0.686-0.066c0.887-0.085,1.983,0.071,2.436,0.35
c0.451,0.278,0.309,0.505-0.316,0.505s-1.852-0.137-2.729-0.306L212.394,43.511z"/>
<path fill="#595558" d="M241.038,43.458c-0.799,0.069-0.799-0.073,0-0.316c0.797-0.244,2.179-0.381,3.066-0.305l1.187,0.104
c0.887,0.075,0.886,0.18-0.004,0.231l-1.181,0.067C243.216,43.291,241.834,43.389,241.038,43.458"/>
<path fill="#282729" d="M259.525,23.071c-0.416,0.174-1.036,0.989-1.378,1.813l-0.017,0.034c-0.342,0.824-0.183,0.917,0.354,0.206
l0.817-1.077C259.842,23.335,259.944,22.896,259.525,23.071"/>
<path fill="#020303" d="M290.899,9.249c-0.383,0-0.766-0.726-0.853-1.614L289.98,6.95c-0.086-0.889,0.146-0.95,0.513-0.137
l0.435,0.959C291.293,8.584,291.281,9.249,290.899,9.249"/>
<path fill="#020303" d="M171.608,12.845c-0.034-0.451,0.667-0.795,1.558-0.765l0.542,0.017c0.891,0.031,0.947,0.333,0.124,0.674
l-0.665,0.272C172.344,13.385,171.641,13.295,171.608,12.845"/>
<path fill="#020303" d="M127.236,14.486c-0.35-0.174-0.541,0.407-0.425,1.291l0.089,0.701c0.116,0.884,0.372,0.897,0.575,0.028
l0.026-0.123C127.704,15.514,127.583,14.661,127.236,14.486"/>
<path fill="#020303" d="M87.532,26.795c-0.104-0.346,0.541-0.63,1.432-0.63h3.45c0.891,0,0.905,0.143,0.031,0.317l-3.133,0.625
C88.439,27.282,87.635,27.142,87.532,26.795"/>
<path fill="#020303" d="M17.066,33.736c0.053-0.26-0.634-0.475-1.527-0.475h-0.828c-0.894,0-0.914,0.174-0.048,0.386l0.733,0.178
C16.261,34.039,17.012,33.996,17.066,33.736"/>
<path fill="#E1DCD7" d="M4.515,36.623c-0.892,0.011-1.479,0.16-1.303,0.333c0.175,0.175,1.047,0.317,1.938,0.317h6.606
c0.889,0,1.762-0.17,1.936-0.379c0.174-0.209-0.416-0.37-1.307-0.361L4.515,36.623z"/>
<path fill="#E1DCD7" d="M34.436,36.623c-0.894,0.011-1.482,0.16-1.306,0.333c0.173,0.175,1.043,0.317,1.934,0.317h6.606
c0.891,0,1.763-0.17,1.938-0.379c0.174-0.209-0.416-0.37-1.306-0.361L34.436,36.623z"/>
<path fill="#E1DCD7" d="M51.257,36.492c-0.891,0.028-1.573,0.196-1.516,0.37c0.059,0.174,0.837,0.316,1.728,0.316h0.114
c0.892,0,1.67-0.171,1.731-0.379c0.058-0.21-0.622-0.355-1.514-0.327L51.257,36.492z"/>
<path fill="#E1DCD7" d="M21.243,21.817c-0.891,0.03-1.572,0.197-1.513,0.37c0.062,0.174,0.839,0.317,1.73,0.317h0.112
c0.891,0,1.668-0.171,1.73-0.379c0.059-0.21-0.622-0.356-1.513-0.327L21.243,21.817z"/>
<path fill="#E1DCD7" d="M33.645,21.817c-0.89,0.03-1.57,0.197-1.512,0.37c0.062,0.174,0.838,0.317,1.728,0.317h0.113
c0.892,0,1.669-0.171,1.729-0.379c0.06-0.21-0.622-0.356-1.514-0.327L33.645,21.817z"/>
<path fill="#E1DCD7" d="M8.838,23.799c-0.89,0.032-1.574,0.2-1.521,0.376c0.051,0.173,0.777,0.315,1.607,0.315
c0.83,0,1.553-0.171,1.606-0.378c0.054-0.208-0.631-0.352-1.521-0.319L8.838,23.799z"/>
<path fill="#E1DCD7" d="M23.705,28.847c-0.893,0.017-1.531,0.171-1.422,0.346c0.112,0.174,0.931,0.314,1.822,0.314h2.964
c0.893,0,1.712-0.169,1.821-0.376c0.111-0.208-0.529-0.365-1.42-0.349L23.705,28.847z"/>
<path fill="#E1DCD7" d="M16.888,7.263c-0.893,0.016-1.531,0.171-1.42,0.344c0.11,0.173,0.929,0.315,1.819,0.315h2.968
c0.893,0,1.712-0.17,1.821-0.378c0.108-0.209-0.532-0.367-1.423-0.351L16.888,7.263z"/>
<path fill="#E1DCD7" d="M68.485,36.492c-0.89,0.028-1.572,0.196-1.512,0.37c0.061,0.174,0.837,0.316,1.728,0.316h0.111
c0.891,0,1.671-0.171,1.731-0.379c0.06-0.21-0.621-0.355-1.515-0.327L68.485,36.492z"/>
<path fill="#E1DCD7" d="M97.927,36.487c-0.891,0.031-1.577,0.2-1.522,0.375c0.053,0.174,0.777,0.317,1.607,0.317
c0.833,0,1.554-0.171,1.607-0.381c0.053-0.208-0.635-0.35-1.522-0.319L97.927,36.487z"/>
<path fill="#E1DCD7" d="M73.977,36.514c-0.891,0.02-1.544,0.175-1.447,0.349c0.095,0.174,0.903,0.314,1.794,0.314h2.216
c0.892,0,1.699-0.171,1.795-0.378c0.095-0.208-0.556-0.366-1.448-0.346L73.977,36.514z"/>
<path fill="#E1DCD7" d="M89.598,36.516c-0.893,0.017-1.533,0.172-1.426,0.347c0.108,0.174,0.925,0.315,1.816,0.315h2.793
c0.892,0,1.709-0.171,1.818-0.379c0.106-0.208-0.536-0.367-1.427-0.348L89.598,36.516z"/>
<path fill="#E1DCD7" d="M106.831,36.506c-0.891,0.023-1.557,0.183-1.481,0.357c0.079,0.174,0.872,0.314,1.763,0.314h1.207
c0.891,0,1.685-0.171,1.765-0.379c0.079-0.208-0.586-0.361-1.479-0.338L106.831,36.506z"/>
<path fill="#E1DCD7" d="M141.005,36.506c-0.891,0.023-1.557,0.183-1.477,0.357c0.08,0.174,0.874,0.314,1.766,0.314h1.202
c0.89,0,1.686-0.171,1.766-0.379c0.08-0.208-0.585-0.361-1.476-0.338L141.005,36.506z"/>
<path fill="#E1DCD7" d="M165.336,36.5c-0.891,0.025-1.564,0.188-1.495,0.362c0.072,0.174,0.856,0.316,1.751,0.316h0.7
c0.891,0,1.679-0.171,1.749-0.379c0.072-0.209-0.6-0.359-1.492-0.333L165.336,36.5z"/>
<path fill="#E1DCD7" d="M177.458,36.525c-0.891,0.012-1.5,0.163-1.351,0.337c0.15,0.174,1.002,0.314,1.893,0.314h5.295
c0.891,0,1.743-0.171,1.894-0.379c0.152-0.208-0.455-0.37-1.347-0.358L177.458,36.525z"/>
<path fill="#E1DCD7" d="M192.415,36.495c-0.891,0.028-1.57,0.194-1.507,0.369c0.063,0.172,0.843,0.315,1.731,0.315h0.254
c0.892,0,1.671-0.171,1.733-0.379c0.064-0.209-0.615-0.356-1.508-0.329L192.415,36.495z"/>
<path fill="#E1DCD7" d="M197.814,36.514c-0.895,0.02-1.543,0.175-1.447,0.349s0.906,0.314,1.797,0.314h2.271
c0.891,0,1.701-0.171,1.799-0.378c0.094-0.208-0.555-0.366-1.447-0.346L197.814,36.514z"/>
<path fill="#E1DCD7" d="M209.741,36.508c-0.893,0.021-1.554,0.18-1.471,0.354s0.881,0.316,1.773,0.316h1.425
c0.891,0,1.691-0.171,1.772-0.379c0.082-0.208-0.579-0.363-1.471-0.341L209.741,36.508z"/>
<path fill="#E1DCD7" d="M216.841,36.5c-0.891,0.027-1.565,0.19-1.499,0.364c0.068,0.173,0.854,0.315,1.747,0.315h0.59
c0.892,0,1.677-0.171,1.742-0.379c0.068-0.209-0.606-0.358-1.497-0.332L216.841,36.5z"/>
<path fill="#E1DCD7" d="M226.88,36.529c-0.892,0.009-1.472,0.159-1.286,0.333c0.185,0.174,1.066,0.316,1.957,0.316h7.306
c0.892,0,1.774-0.171,1.959-0.38c0.185-0.208-0.392-0.371-1.282-0.361L226.88,36.529z"/>
<path fill="#E1DCD7" d="M243.918,36.529c-0.892,0.009-1.471,0.159-1.285,0.333c0.184,0.174,1.066,0.316,1.959,0.316h7.305
c0.892,0,1.774-0.171,1.961-0.38c0.188-0.208-0.391-0.371-1.281-0.361L243.918,36.529z"/>
<path fill="#E1DCD7" d="M286.996,36.529c-0.891,0.009-1.468,0.159-1.28,0.333c0.184,0.174,1.066,0.316,1.959,0.316h7.297
c0.893,0,1.776-0.171,1.962-0.38c0.185-0.208-0.392-0.371-1.282-0.361L286.996,36.529z"/>
<path fill="#E1DCD7" d="M271.184,7.827c-0.891,0.018-1.536,0.172-1.431,0.347c0.104,0.174,0.921,0.315,1.812,0.315h2.686
c0.892,0,1.708-0.17,1.813-0.379c0.104-0.208-0.54-0.366-1.432-0.348L271.184,7.827z"/>
<path fill="#E1DCD7" d="M257.739,7.832c-0.89,0.015-1.521,0.167-1.402,0.342c0.122,0.174,0.949,0.315,1.842,0.315h3.522
c0.894,0,1.72-0.17,1.841-0.378c0.118-0.209-0.512-0.367-1.405-0.353L257.739,7.832z"/>
<path fill="#E1DCD7" d="M250.92,7.819c-0.891,0.021-1.552,0.181-1.467,0.354c0.082,0.174,0.878,0.316,1.773,0.316h1.515
c0.892,0,1.689-0.17,1.774-0.379c0.085-0.209-0.574-0.362-1.468-0.34L250.92,7.819z"/>
<path fill="#E1DCD7" d="M253.198,21.748c-0.893,0.016-1.533,0.171-1.425,0.345c0.106,0.174,0.925,0.314,1.815,0.314h2.855
c0.89,0,1.707-0.169,1.817-0.376c0.109-0.209-0.534-0.366-1.426-0.35L253.198,21.748z"/>
<path fill="#E1DCD7" d="M211.635,6.876c-0.892,0.021-1.554,0.18-1.469,0.354c0.083,0.172,0.88,0.314,1.773,0.314h1.512
c0.892,0,1.689-0.17,1.774-0.378c0.082-0.208-0.579-0.362-1.471-0.339L211.635,6.876z"/>
<path fill="#E1DCD7" d="M221.289,6.876c-0.893,0.021-1.553,0.18-1.468,0.354c0.081,0.172,0.882,0.314,1.773,0.314h1.517
c0.891,0,1.688-0.17,1.773-0.378c0.081-0.208-0.578-0.362-1.472-0.339L221.289,6.876z"/>
<path fill="#E1DCD7" d="M215.107,13.004c-0.72,0.032-1.275,0.204-1.232,0.378c0.042,0.175,0.599,0.318,1.236,0.318
s1.193-0.171,1.232-0.379C216.383,13.114,215.826,12.971,215.107,13.004"/>
<path fill="#E1DCD7" d="M218.546,11.016c-0.891,0.034-1.577,0.205-1.528,0.379c0.051,0.174,0.748,0.317,1.549,0.317
s1.496-0.171,1.546-0.38c0.05-0.21-0.639-0.352-1.53-0.317L218.546,11.016z"/>
<path fill="#E1DCD7" d="M175.562,11.395c-0.891,0.033-1.579,0.203-1.529,0.378c0.049,0.174,0.747,0.317,1.548,0.317
s1.498-0.171,1.553-0.379c0.053-0.209-0.636-0.352-1.524-0.319L175.562,11.395z"/>
<path fill="#E1DCD7" d="M186.355,21.44c-0.894,0.028-1.573,0.193-1.507,0.368c0.063,0.173,0.844,0.316,1.735,0.316h0.279
c0.892,0,1.673-0.169,1.734-0.377c0.063-0.21-0.615-0.357-1.507-0.331L186.355,21.44z"/>
<path fill="#E1DCD7" d="M178.781,25.058c-0.891,0.02-1.543,0.175-1.446,0.348c0.097,0.174,0.904,0.315,1.798,0.315h2.211
c0.891,0,1.7-0.171,1.795-0.379c0.096-0.21-0.555-0.365-1.445-0.345L178.781,25.058z"/>
<path fill="#E1DCD7" d="M285.952,25.815c-0.891,0.02-1.541,0.175-1.445,0.349c0.097,0.173,0.908,0.315,1.798,0.315h2.209
c0.893,0,1.701-0.171,1.798-0.38c0.097-0.208-0.554-0.362-1.443-0.344L285.952,25.815z"/>
<path fill="#E1DCD7" d="M107.685,28.645c-0.891,0.024-1.563,0.187-1.492,0.36c0.073,0.172,0.861,0.314,1.752,0.314h0.868
c0.891,0,1.682-0.17,1.755-0.378s-0.595-0.358-1.488-0.334L107.685,28.645z"/>
<path fill="#E1DCD7" d="M92.533,25.614c-0.891,0.024-1.561,0.187-1.489,0.36c0.072,0.173,0.859,0.314,1.75,0.314h0.87
c0.893,0,1.683-0.17,1.756-0.377c0.073-0.209-0.597-0.359-1.489-0.335L92.533,25.614z"/>
<path fill="#E1DCD7" d="M70.944,25.329c-0.892,0.025-1.561,0.188-1.488,0.362c0.075,0.174,0.865,0.316,1.756,0.316h0.868
c0.891,0,1.681-0.171,1.754-0.381c0.074-0.208-0.597-0.359-1.489-0.335L70.944,25.329z"/>
<path fill="#E1DCD7" d="M38.287,13.782c-0.891,0.016-1.541,0.168-1.443,0.342c0.1,0.175,0.909,0.32,1.802,0.324l2.378,0.008
c0.891,0.004,1.704-0.165,1.802-0.373c0.1-0.209-0.546-0.367-1.439-0.352L38.287,13.782z"/>
<path fill="#E1DCD7" d="M99.586,8.293c-0.886-0.097-1.574-0.028-1.525,0.155c0.048,0.183,0.811,0.43,1.694,0.549l0.863,0.117
c0.884,0.121,1.689,0.058,1.788-0.137c0.099-0.196-0.543-0.436-1.431-0.533L99.586,8.293z"/>
<path fill="#E1DCD7" d="M192.509,27.412c-0.892,0.024-1.563,0.186-1.489,0.36c0.072,0.173,0.862,0.314,1.752,0.314h0.869
c0.891,0,1.68-0.17,1.753-0.378c0.071-0.208-0.597-0.358-1.491-0.334L192.509,27.412z"/>
<path fill="#E1DCD7" d="M219.776,24.763c-0.891,0.024-1.561,0.186-1.488,0.36c0.073,0.172,0.862,0.314,1.753,0.314h0.87
c0.891,0,1.679-0.171,1.752-0.379c0.071-0.21-0.596-0.358-1.488-0.334L219.776,24.763z"/>
<path fill="#E1DCD7" d="M154.256,7.559c-0.89,0.009-1.435,0.158-1.207,0.333c0.228,0.173,1.143,0.315,2.034,0.315h9.6
c0.891,0,1.805-0.169,2.034-0.38c0.224-0.208-0.318-0.373-1.211-0.364L154.256,7.559z"/>
<path fill="#E1DCD7" d="M121.787,7.657c-0.89,0.007-1.43,0.156-1.194,0.329c0.235,0.174,1.158,0.315,2.048,0.315h10.012
c0.891,0,1.811-0.169,2.047-0.379c0.235-0.208-0.305-0.372-1.196-0.364L121.787,7.657z"/>
<path fill="#E1DCD7" d="M120.085,21.466c-0.892,0.013-1.518,0.167-1.391,0.341c0.126,0.175,0.96,0.318,1.852,0.318h3.976
c0.89,0,1.724-0.17,1.85-0.378c0.126-0.208-0.5-0.367-1.391-0.354L120.085,21.466z"/>
<path fill="#E1DCD7" d="M128.791,21.465c-0.891,0.013-1.523,0.168-1.402,0.342c0.121,0.175,0.948,0.318,1.84,0.318h3.554
c0.889,0,1.718-0.169,1.839-0.377c0.121-0.21-0.511-0.369-1.402-0.353L128.791,21.465z"/>
<path fill="#E1DCD7" d="M147.446,34.691c-0.892,0.03-1.573,0.199-1.516,0.371c0.057,0.173,0.833,0.316,1.725,0.316h0.027
c0.891,0,1.668-0.17,1.728-0.379s-0.621-0.354-1.513-0.324L147.446,34.691z"/>
<path fill="#E1DCD7" d="M144.883,12.498c-0.886-0.102-1.561-0.033-1.5,0.149c0.062,0.187,0.834,0.436,1.717,0.558l1.629,0.227
c0.884,0.12,1.699,0.061,1.813-0.134s-0.516-0.438-1.403-0.541L144.883,12.498z"/>
<path fill="#E1DCD7" d="M226.298,27.459c-0.886-0.102-1.56-0.036-1.496,0.146c0.058,0.184,0.837,0.434,1.72,0.557l1.623,0.225
c0.884,0.121,1.698,0.063,1.813-0.132c0.114-0.194-0.517-0.436-1.402-0.538L226.298,27.459z"/>
<path fill="#E1DCD7" d="M223.349,13.004c-0.667,0.032-1.184,0.204-1.146,0.378c0.037,0.175,0.552,0.318,1.143,0.318
c0.594,0,1.108-0.171,1.147-0.379C224.532,13.114,224.017,12.971,223.349,13.004"/>
<path fill="#E1DCD7" d="M261.812,21.75c-0.891,0.016-1.524,0.168-1.405,0.342c0.121,0.174,0.947,0.316,1.839,0.316h3.527
c0.89,0,1.721-0.17,1.839-0.378c0.116-0.208-0.515-0.365-1.408-0.352L261.812,21.75z"/>
<path fill="#E1DCD7" d="M293.051,7.821C292.16,7.841,291.5,8,291.587,8.174c0.087,0.174,0.887,0.315,1.778,0.315h1.622
c0.894,0,1.694-0.169,1.778-0.379c0.089-0.208-0.57-0.361-1.463-0.341L293.051,7.821z"/>
<path fill="#E1DCD7" d="M152.936,36.527c-0.891,0.011-1.487,0.162-1.325,0.336c0.166,0.173,1.029,0.314,1.92,0.314h6.074
c0.891,0,1.755-0.17,1.92-0.378c0.164-0.208-0.431-0.37-1.322-0.358L152.936,36.527z"/>
<path fill="#E1DCD7" d="M113.173,36.532c-0.891,0.008-1.444,0.156-1.229,0.33c0.216,0.174,1.12,0.316,2.013,0.316h9.008
c0.892,0,1.799-0.171,2.015-0.381c0.216-0.208-0.338-0.372-1.229-0.363L113.173,36.532z"/>
<path fill="#E1DCD7" d="M127.943,36.519c-0.89,0.016-1.523,0.17-1.405,0.344c0.119,0.173,0.945,0.314,1.836,0.314h3.469
c0.891,0,1.716-0.171,1.837-0.379c0.116-0.208-0.517-0.366-1.408-0.352L127.943,36.519z"/>
<path fill="#E1DCD7" d="M57.666,36.603c-0.891,0.021-1.556,0.18-1.472,0.354c0.082,0.175,0.877,0.316,1.77,0.316h1.458
c0.891,0,1.688-0.17,1.77-0.379c0.084-0.209-0.577-0.361-1.468-0.34L57.666,36.603z"/>
</svg>

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,6 @@
name: Minecraft
description: |
Multiplayer block game for wasting lots of time
version: v1.8
category: entertainment
maintainer: Steve Shipway <s.shipway@auckland.ac.nz>

View File

@ -0,0 +1,99 @@
db:
image: mysql:5.7.10
environment:
MYSQL_DATABASE: portus
MYSQL_ROOT_PASSWORD: ${ROOTPASSWORD}
MYSQL_USER: portus
MYSQL_PASSWORD: ${DBPASSWORD}
tty: true
stdin_open: true
volumes:
- ${DIR}/db:/var/lib/mysql
sslproxy:
image: nginx:1.9.9
tty: true
stdin_open: true
links:
- portus:portus
volumes:
- ${DIR}/certs:/etc/nginx/certs:ro
- ${DIR}/proxy:/etc/nginx/conf.d:ro
registry:
image: registry:2.1
environment:
REGISTRY_LOG_LEVEL: warn
REGISTRY_STORAGE_DELETE_ENABLED: true
REGISTRY_AUTH_TOKEN_REALM: https://${DOMAIN}:${PPORT}/v2/token
REGISTRY_AUTH_TOKEN_SERVICE: ${DOMAIN}:${RPORT}
REGISTRY_AUTH_TOKEN_ISSUER: ${DOMAIN}
REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE: /certs/registry.crt
REGISTRY_HTTP_TLS_CERTIFICATE: /certs/registry.crt
REGISTRY_HTTP_TLS_KEY: /certs/registry.key
REGISTRY_HTTP_SECRET: httpsecret
REGISTRY_NOTIFICATIONS_ENDPOINTS: >
- name: portus
url: http://portus:3000/v2/webhooks/events
timeout: 500
threshold: 5
backoff: 1
tty: true
stdin_open: true
links:
- portus:portus
volumes:
- ${DIR}/certs:/certs:ro
- ${DIR}/data:/var/lib/registry
lb:
image: rancher/load-balancer-service
tty: true
stdin_open: true
ports:
- ${RPORT}:5000/tcp
- ${PPORT}:443/tcp
labels:
io.rancher.loadbalancer.target.sslproxy: ${PPORT}=443
io.rancher.loadbalancer.target.registry: ${RPORT}=5000
io.rancher.scheduler.global: 'true'
io.rancher.scheduler.affinity:not_host_label: lb=0
links:
- registry:registry
- sslproxy:sslproxy
portus:
image: sshipway/portus:2.0.3
environment:
PORTUS_MACHINE_FQDN: ${DOMAIN}
PORTUS_PRODUCTION_HOST: db
PORTUS_PRODUCTION_DATABASE: portus
PORTUS_PRODUCTION_USERNAME: portus
PORTUS_PRODUCTION_PASSWORD: ${DBPASSWORD}
PORTUS_GRAVATAR_ENABLED: true
PORTUS_KEY_PATH: /certs/registry.key
PORTUS_PASSWORD: ${DBPASSWORD}
PORTUS_SECRET_KEY_BASE: ${ROOTPASSWORD}
PORTUS_CHECK_SSL_USAGE_ENABLED: true
PORTUS_SMTP_ENABLED: false
PORTUS_LDAP_ENABLED: ${LDAP}
PORTUS_LDAP_HOSTNAME: ${LDAPHOST}
PORTUS_LDAP_PORT: ${LDAPPORT}
PORTUS_LDAP_METHOD: ${LDAPTLS}
PORTUS_LDAP_BASE: ${LDAPBASE}
PORTUS_LDAP_UID: cn
PORTUS_LDAP_AUTHENTICATION_ENABLED: ${LDAPBIND}
PORTUS_LDAP_AUTHENTICATION_BIND_DN: ${LDAPBINDDN}
PORTUS_LDAP_AUTHENTICATION_PASSWORD: ${LDAPBINDPASS}
PORTUS_LDAP_GUESS_EMAIL_ENABLED: true
PORTUS_LDAP_GUESS_EMAIL_ATTR: mail
PORTUS_PORT: ${PPORT}
REGISTRY_SSL_ENABLED: true
REGISTRY_HOSTNAME: ${DOMAIN}
REGISTRY_PORT: ${RPORT}
REGISTRY_NAME: Registry
tty: true
stdin_open: true
volumes:
- ${DIR}/certs:/certs
- ${DIR}/proxy:/etc/nginx/conf.d
links:
- db:db
labels:
io.rancher.container.pull_image: always

View File

@ -0,0 +1,109 @@
.catalog:
name: "Registry"
version: "v2.1.0-2.0"
description: "Docker Registry"
uuid: registry-2
questions:
- variable: "RPORT"
label: "Registry Port"
description: "Port on which to run the registry service"
default: 5000
required: true
type: "int"
- variable: "PPORT"
label: "Admin Port"
description: "Port on which to run the SSL Portus administration service and API"
default: 443
required: true
type: "int"
- variable: "DBPASSWORD"
label: "DB Password"
description: "Password for Portus database access, must be 8 characters or longer"
required: true
default: password
type: "password"
- variable: "ROOTPASSWORD"
label: "DB Root Password"
description: "Root Password for MySQL database, must be 8 characters or longer. This is not normally used."
required: true
default: password
type: "password"
- variable: "DIR"
label: "Storage directory"
description: "Path of shared storage to use for registry, database, and certificates. This should be available on all hosts"
required: true
type: "string"
- variable: "DOMAIN"
label: "FQDN"
description: "FQDN of server. This should be the CN in the certificates and will be the URL to contact the Registry and Web interface"
required: true
type: "string"
- variable: "LDAP"
label: "LDAP Enabled"
description: "Enable LDAP authentication"
required: true
default: false
type: "boolean"
- variable: "LDAPHOST"
label: "LDAP Server"
description: "The FQDN of the LDAP server (if LDAP authentication is being used)"
required: false
default: "ldap.company.com"
type: "string"
- variable: "LDAPPORT"
label: "LDAP Server port"
description: "The port number on the LDAP server (if LDAP authentication is being used)"
required: false
default: 389
type: "int"
- variable: "LDAPTLS"
label: "LDAP TLS"
description: "The TLS option for the LDAP server (if LDAP authentication is being used)"
required: false
default: "starttls"
type: "enum"
options:
- starttls
- simple_tls
- plain
- variable: "LDAPBASE"
label: "LDAP Base DN"
description: "The Base DN for User lookups on the LDAP server (if LDAP authentication is being used)"
required: false
default: "ou=People,dc=company,dc=com"
type: "string"
- variable: "LDAPBIND"
label: "LDAP Bind enabled"
description: "Should an authenticated Bind be used to access LDAP (if LDAP authentication is being used)"
required: false
default: false
type: "boolean"
- variable: "LDAPBINDDN"
label: "LDAP Bind DN"
description: "The DN to use for binding to the LDAP server (if LDAP authentication is being used with Bind enabled)"
required: false
default: "ou=portus,dc=company,dc=com"
type: "string"
- variable: "LDAPBINDPASS"
label: "LDAP Bind Password"
description: "The password to use for binding to the LDAP server (if LDAP authentication is being used with Bind enabled)"
required: false
default: "password"
type: "password"
db:
scale: 1
sslproxy:
scale: 1
lb:
load_balancer_config:
haproxy_config: {}
health_check:
port: 42
interval: 2000
unhealthy_threshold: 3
healthy_threshold: 2
response_timeout: 2000
registry:
scale: 1
portus:
scale: 1

View File

@ -0,0 +1,79 @@
# Registry
This catalogue item consists of a Registry, and the Portus web UI for
authentication. There is also a MySQL database for storage, and a nginx
proxy to provide SSL for the web frontend.
A directory path is required for storage of the Registry data, Database,
Certificates and generated Nginx configuration files. If you have
multiple Hosts then this needs to be a shared mount across all Hosts which
will run any of these containers.
If no certificates are provided in the /certs directory, then the system
will generate self-signed SSL certificates to use.
Note that the containers will take a significant amount of time to initialse after
they are started. You may need to wait 15 minutes for the Portus instance
to finally spot the registry instance and perform its first synchronisation,
after which the web interface will come online.
## Backing Store
A persistent shared filesystem is required to host the Registry, and also the
MySQL database. This will also hold the certificates under certs/server.crt
and certs/server.key; if no certificate is present, then a self-signed
certificate will be created (valid for one year only) that can later be
replaced.
## LDAP Authentication
If you enable LDAP authentication, then this will be used for both the
Web interface and for Registry authentication. The LDAP configuration
may optionally have authenticated Bind credentials, and TLS options.
## Security
All connections are protected by SSL. A self-signed certificate is
automatically generated as certs/server.crt and certs/server.key in
the persistent shared storage; this can be replaced if necessary.
The certificate is used for registry access, for web admin access,
and for signing API access keys.
Registry access is controlled by the same user access as the web interface;
so if you link to LDAP then this will also lock the Registry access.
If not using LDAP, then the 'portus' use password is the Database Password
as defined in the template options.
## Access
The template will create a Load Balancer for access to the Registry and
to the Web Admin interface. This will run on all Hosts with the label
LB=1, listening on the defined ports.
To access the web UI, use https on the hostname and port you configured.
To upload to the repository, use an SSL connection to the hostname and
registry port you configured.
## Administration
The first user to log in to the web interface will be granted Admin
privileges.
## Synchronisation with Registry
The Web interface will be initially configured to use the incorporated
registry. A periodic synchronisation task and the upload webhook will
ensure they are in synch. If, for some reason, your registry already
has items (for example, if you are recreating the stack on preexisting
shared storage) then it may take up to 5min for the Portus Web UI to
synchronise the registry content to its database.
## Feedback
This is a complex setup, and uses a custom build of the Portus container,
which is not yet available as an official release. You may need to
customise this heavily for your own site. Any feedback can
be logged against https://github.com/sshipway/Portus

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -0,0 +1,7 @@
name: Registry
description: |
Secure Docker registry. Web based administration. Optional LDAP authentication.
version: v2.1.0-2.0
category: Applications
maintainer: Steve Shipway <s.shipway@auckland.ac.nz>