diff --git a/templates/meshviewer/1/docker-compose.yml b/templates/meshviewer/1/docker-compose.yml new file mode 100644 index 0000000..614856c --- /dev/null +++ b/templates/meshviewer/1/docker-compose.yml @@ -0,0 +1,158 @@ +version: '2' + +services: + + meshviewer: + image: hoffmannhosting/meshviewer-docker + volumes: + - meshviewer-data:/opt/meshviewer/build + labels: + io.rancher.container.hostname_override: container_name + io.rancher.container.start_once: true + tty: true + + nginx: + image: nginx + volumes: + - meshviewer-data:/usr/share/nginx/html:ro + environment: + NGINX_HOST: ${DOMAIN} + NGINX_PORT: 80 + labels: + io.rancher.container.hostname_override: container_name + https: yes + + grafana: + image: grafana/grafana + environment: + GF_SERVER_ROOT_URL: https://${GRAFANA_DOMAIN} + GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_PASSWORD} + volumes: + - grafana:/var/lib/grafana + - grafana-config:/etc/grafana + links: + - influxdb:influxdb + labels: + io.rancher.container.pull_image: always + grafana: yes + + influxdb: + image: tutum/influxdb + volumes: + - influxdb:/data + environment: + PRE_CREATE_DB: freifunk + ADMIN_USER: freifunk + INFLUXDB_INIT_PWD: ${INFLUXDB_PASSWORD} + ports: + - ${INFLUX_8083}:8083 + - ${INFLUX_8086}:8086 + labels: + io.rancher.container.hostname_override: container_name + + redirect-https: + image: hoffmannhosting/docker-nginx-https-redirect + labels: + io.rancher.container.hostname_override: container_name + http: yes + + fetch-json: + image: hoffmannhosting/docker-meshviewer-cron + volumes: + - meshviewer-data:/opt + labels: + io.rancher.container.hostname_override: container_name + + letsencrypt-map: + image: janeczku/rancher-letsencrypt:v0.5.0 + environment: + API_VERSION: Production + AWS_ACCESS_KEY: '' + AWS_SECRET_KEY: '' + AZURE_CLIENT_ID: '' + AZURE_CLIENT_SECRET: '' + AZURE_RESOURCE_GROUP: '' + AZURE_SUBSCRIPTION_ID: '' + AZURE_TENANT_ID: '' + CERT_NAME: ${DOMAIN} + CLOUDFLARE_EMAIL: '' + CLOUDFLARE_KEY: '' + DNSIMPLE_EMAIL: '' + DNSIMPLE_KEY: '' + DNS_RESOLVERS: 8.8.8.8:53,8.8.4.4:53 + DOMAINS: ${DOMAIN} + DO_ACCESS_TOKEN: '' + DYN_CUSTOMER_NAME: '' + DYN_PASSWORD: '' + DYN_USER_NAME: '' + EMAIL: s.hoffmann@hoffmann-hosting.de + EULA: 'Yes' + GANDI_API_KEY: '' + OVH_APPLICATION_KEY: '' + OVH_APPLICATION_SECRET: '' + OVH_CONSUMER_KEY: '' + PROVIDER: HTTP + PUBLIC_KEY_TYPE: RSA-2048 + RENEWAL_PERIOD_DAYS: '20' + RENEWAL_TIME: '12' + VULTR_API_KEY: '' + volumes: + - /var/lib/rancher:/var/lib/rancher + - zertifikate:/etc/letsencrypt + labels: + io.rancher.container.agent.role: environment + io.rancher.container.create_agent: 'true' + service: letsencrypt + + letsencrypt-grafana: + image: janeczku/rancher-letsencrypt:v0.5.0 + environment: + API_VERSION: Production + AWS_ACCESS_KEY: '' + AWS_SECRET_KEY: '' + AZURE_CLIENT_ID: '' + AZURE_CLIENT_SECRET: '' + AZURE_RESOURCE_GROUP: '' + AZURE_SUBSCRIPTION_ID: '' + AZURE_TENANT_ID: '' + CERT_NAME: ${GRAFANA_DOMAIN} + CLOUDFLARE_EMAIL: '' + CLOUDFLARE_KEY: '' + DNSIMPLE_EMAIL: '' + DNSIMPLE_KEY: '' + DNS_RESOLVERS: 8.8.8.8:53,8.8.4.4:53 + DOMAINS: ${GRAFANA_DOMAIN} + DO_ACCESS_TOKEN: '' + DYN_CUSTOMER_NAME: '' + DYN_PASSWORD: '' + DYN_USER_NAME: '' + EMAIL: s.hoffmann@hoffmann-hosting.de + EULA: 'Yes' + GANDI_API_KEY: '' + OVH_APPLICATION_KEY: '' + OVH_APPLICATION_SECRET: '' + OVH_CONSUMER_KEY: '' + PROVIDER: HTTP + PUBLIC_KEY_TYPE: RSA-2048 + RENEWAL_PERIOD_DAYS: '20' + RENEWAL_TIME: '12' + VULTR_API_KEY: '' + volumes: + - /var/lib/rancher:/var/lib/rancher + - zertifikate:/etc/letsencrypt + labels: + io.rancher.container.agent.role: environment + io.rancher.container.create_agent: 'true' + service: letsencrypt + +volumes: + meshviewer-data: + driver: rancher-nfs + influxdb: + driver: rancher-nfs + grafana: + driver: rancher-nfs + grafana-config: + driver: rancher-nfs + zertifikate: + driver: local diff --git a/templates/meshviewer/1/rancher-compose.yml b/templates/meshviewer/1/rancher-compose.yml new file mode 100644 index 0000000..ff9ec9c --- /dev/null +++ b/templates/meshviewer/1/rancher-compose.yml @@ -0,0 +1,91 @@ +version: '2' + +catalog: + + name: meshviewer + version: 2 + description: Meshviewer - a Freifunk Visualisation + questions: + - variable: DOMAIN + default: map.freifunk-troisdorf.de + label: Domain + required: true + type: string + - variable: GRAFANA_DOMAIN + default: statistik.freifunk-troisdorf.de + label: Grafana Domain + required: true + type: string + - variable: GRAFANA_PASSWORD + label: Grafana Password + required: true + type: password + - variable: INFLUXDB_PASSWORD + label: Influxdb Password + required: true + type: password + - variable: INFLUX_8083 + default: 8083 + label: Influx Port 8083 + required: true + type: string + - variable: INFLUX_8086 + default: 8086 + label: Influx Port 8086 + required: true + type: string + +services: + + meshviewer: + scale: 1 + start_on_create: true + + nginx: + scale: 1 + start_on_create: true + lb_config: + port_rules: + - target_port: 80 + hostname: ${DOMAIN} + + grafana: + scale: 1 + start_on_create: true + lb_config: + port_rules: + - target_port: 3000 + hostname: ${GRAFANA_DOMAIN} + + influxdb: + scale: 1 + start_on_create: true + + redirect-https: + scale: 1 + start_on_create: true + lb_config: + port_rules: + - target_port: 80 + hostname: ${DOMAIN} + - target_port: 80 + hostname: ${GRAFANA_DOMAIN} + + fetch-json: + scale: 1 + start_on_create: true + + letsencrypt-map: + scale: 1 + start_on_create: true + lb_config: + port_rules: + - target_port: 80 + hostname: ${DOMAIN} + letsencrypt-grafana: + scale: 1 + start_on_create: true + lb_config: + port_rules: + - target_port: 80 + hostname: ${GRAFANA_DOMAIN} \ No newline at end of file diff --git a/templates/meshviewer/config.yml b/templates/meshviewer/config.yml index 0dbc268..f1e55f4 100644 --- a/templates/meshviewer/config.yml +++ b/templates/meshviewer/config.yml @@ -1,6 +1,6 @@ name: meshviewer description: Freifunk Meshviewer -version: 1 +version: 2 category: Freifunk projectURL: none