浏览代码

Merged in FD3-147 (pull request #5)

FD3-147
Guillermo Espinoza 7 年之前
父节点
当前提交
3db17a3344

+ 31 - 40
docker-compose.yml

@@ -1,5 +1,6 @@
 version: "2"
 services:
+
   base:
     restart: always
     image: fd3-base
@@ -8,17 +9,11 @@ services:
     links:
       - mysql:mysql
       - amqp:amqp
- 
+    env_file:
+      - host.env
     environment:
       VIRTUAL_HOST: base.fd3.flowdat.com
       HTTPS_METHOD: nohttps
-      #LETSENCRYPT_HOST: base.fd3.flowdat.com
-      #LETSENCRYPT_EMAIL: andrade.luciano@gmail.com
-      HOST_FTTH: ftth.fd3.flowdat.com
-      HOST_STATS: stats.fd3.flowdat.com
-      HOST_MAPAS: mapas.fd3.flowdat.com
-      HOST_BASE: base.fd3.flowdat.com
-
     volumes: 
       - ./base/:/opt/base/
 
@@ -31,21 +26,20 @@ services:
       - mysql:mysql
       - base:base
       - nginx-proxy:base.fd3.flowdat.com
+      - nginx-proxy:mapas.fd3.flowdat.com
       - amqp:amqp
+    env_file:
+      - host.env
     environment:
       VIRTUAL_HOST: ftth.fd3.flowdat.com
-      HOST_FTTH: ftth.fd3.flowdat.com
-      HOST_STATS: stats.fd3.flowdat.com
-      HOST_MAPAS: mapas.fd3.flowdat.com
-      HOST_BASE: base.fd3.flowdat.com
       OAUTH_CLIENT_ID : 1_3323sq6urn8kwccg8s4ok848ggwwgkw4c08wsc4cwkc08osocc
       OAUTH_CLIENT_SECRET : 5w7gx6ptdoo4g8cwwo88o8gowosgco84sso08ssow0osg88g8k
       HTTPS_METHOD: nohttps
       #LETSENCRYPT_HOST: ftth.fd3.flowdat.com
       #LETSENCRYPT_EMAIL: andrade.luciano@gmail.com
-
     volumes: 
       - ./ftth/:/opt/ftth/
+
   mapas:
     restart: always
     image: fd3-mapas
@@ -54,18 +48,15 @@ services:
     links:
       - mysql:mysql
       - base:base
+      - nginx-proxy:base.fd3.flowdat.com
       - amqp:amqp
+    env_file:
+      - host.env
     environment:
       VIRTUAL_HOST: mapas.fd3.flowdat.com
       HTTPS_METHOD: nohttps
-      #LETSENCRYPT_HOST: mapas.fd3.flowdat.com
-      #LETSENCRYPT_EMAIL: andrade.luciano@gmail.com
-      HOST_FTTH: ftth.fd3.flowdat.com
-      HOST_STATS: stats.fd3.flowdat.com
-      HOST_MAPAS: mapas.fd3.flowdat.com
-      HOST_BASE: base.fd3.flowdat.com
-      OAUTH_CLIENT_ID: 1_4gs3n2b9s7mso00kgogoks4k0ogk0ggs0w0k4k484gkowcg08k
-      OAUTH_CLIENT_SECRET: 60n93pmoh10c848wg0sc0844ow84sco0sc8gkockow4sg4sc0g
+      OAUTH_CLIENT_ID : 1_3323sq6urn8kwccg8s4ok848ggwwgkw4c08wsc4cwkc08osocc
+      OAUTH_CLIENT_SECRET : 5w7gx6ptdoo4g8cwwo88o8gowosgco84sso08ssow0osg88g8k
 
     volumes: 
       - ./mapas/:/opt/mapas/
@@ -78,18 +69,15 @@ services:
     links:
       - mysql:mysql
       - base:base
+      - nginx-proxy:base.fd3.flowdat.com
       - amqp:amqp
+    env_file:
+      - host.env
     environment:
       VIRTUAL_HOST: stats.fd3.flowdat.com
       HTTPS_METHOD: nohttps
-      HOST_FTTH: ftth.fd3.flowdat.com
-      HOST_STATS: stats.fd3.flowdat.com
-      HOST_MAPAS: mapas.fd3.flowdat.com
-      HOST_BASE: base.fd3.flowdat.com
-      OAUTH_CLIENT_ID: 3_46pss382s204gw0w884cscwwcsko8gwos8k4s0s0gsw80g8ow0
-      OAUTH_CLIENT_SECRET: 26t1iwibixog0kcwko88co0gssk440ww8k8c4sok4skc0ow0oo
-      #LETSENCRYPT_HOST: stats.fd3.flowdat.com
-      #LETSENCRYPT_EMAIL: andrade.luciano@gmail.com
+      OAUTH_CLIENT_ID : 1_3323sq6urn8kwccg8s4ok848ggwwgkw4c08wsc4cwkc08osocc
+      OAUTH_CLIENT_SECRET : 5w7gx6ptdoo4g8cwwo88o8gowosgco84sso08ssow0osg88g8k
     volumes: 
       - ./stats/:/opt/stats/
  
@@ -254,17 +242,20 @@ services:
       TERM: "xterm"
  
   nginx-proxy:
-    restart: always
-    image: jwilder/nginx-proxy
-    container_name: nginx-proxy
-    ports:
-      - "80:80"
-      - "443:443"
-    volumes:
-      - /var/run/docker.sock:/tmp/docker.sock:ro
-      - ./nginx/certs:/etc/nginx/certs:ro 
-      - ./nginx/vhost.d:/etc/nginx/vhost.d
-      - ./nginx/share:/usr/share/nginx/html 
+        build:
+            context: extra/nginx/
+        image: 'docker.infra.flowdat.com/fd3/nginx:latest'
+        env_file:
+            - host.env
+        restart: always
+        ports:
+            - '80:80'
+            - '443:443'
+        volumes:
+            - '/var/run/docker.sock:/tmp/docker.sock:ro'
+            - './extra/nginx/certs:/etc/nginx/certs:ro'
+            - './extra/nginx/vhost.d:/etc/nginx/vhost.d'
+            - './extra/nginx/share:/usr/share/nginx/html'
 
 #  nginx_proxy_companion:
 #    restart: always

+ 16 - 0
extra/nginx/Dockerfile

@@ -0,0 +1,16 @@
+FROM nginx:1.13
+
+ENV DEBIAN_FRONTEND noninteractive
+
+RUN echo Acquire::http::Proxy "http://aptcache.infra.flowdat.com/"; > /etc/apt/apt.conf.d/00aptproxy
+
+ADD nginx-config.sh /usr/bin/
+RUN chmod +x /usr/bin/nginx-config.sh
+COPY conf.d /etc/nginx/conf.d
+
+RUN rm /etc/nginx/conf.d/*.conf
+
+
+CMD ["/usr/bin/nginx-config.sh"]
+
+RUN rm /etc/apt/apt.conf.d/00aptproxy

+ 12 - 0
extra/nginx/conf.d/base.conf.tpl

@@ -0,0 +1,12 @@
+server {
+    listen 80;
+    listen [::]:80;
+
+    server_name $HOST_BASE;
+
+    location / {
+            proxy_pass http://base:80;
+            proxy_set_header  X-Real-IP  ${DOLAR}remote_addr;
+            proxy_set_header  Host  ${DOLAR}http_host;
+    }
+}

+ 12 - 0
extra/nginx/conf.d/ftth.conf.tpl

@@ -0,0 +1,12 @@
+server {
+    listen 80;
+    listen [::]:80;
+
+    server_name $HOST_FTTH;
+
+    location / {
+            proxy_pass http://ftth:8000;
+            proxy_set_header  X-Real-IP  ${DOLAR}remote_addr;
+            proxy_set_header  Host  ${DOLAR}http_host;
+    }
+}

+ 12 - 0
extra/nginx/conf.d/mapas.conf.tpl

@@ -0,0 +1,12 @@
+server {
+    listen 80;
+    listen [::]:80;
+
+    server_name $HOST_MAPAS;
+
+    location / {
+            proxy_pass http://mapas:8000;
+            proxy_set_header  X-Real-IP  ${DOLAR}remote_addr;
+            proxy_set_header  Host  ${DOLAR}http_host;
+    }
+}

+ 12 - 0
extra/nginx/conf.d/stats.conf.tpl

@@ -0,0 +1,12 @@
+server {
+    listen 80;
+    listen [::]:80;
+
+    server_name $HOST_STATS;
+
+    location / {
+            proxy_pass http://stats:8000;
+            proxy_set_header  X-Real-IP  ${DOLAR}remote_addr;
+            proxy_set_header  Host  ${DOLAR}http_host;
+    }
+}

+ 10 - 0
extra/nginx/nginx-config.sh

@@ -0,0 +1,10 @@
+#!/bin/bash
+export DOLAR='$'
+for fn in `ls /etc/nginx/conf.d/*.conf.tpl`; do
+    echo $fn " -> " ${fn:0:(-4)}
+    envsubst < $fn > ${fn:0:(-4)}
+    cat ${fn:0:(-4)}
+done
+
+
+nginx -g "daemon off;"

+ 8 - 0
host.env

@@ -0,0 +1,8 @@
+HOST_BASE=base.fd3.flowdat.com
+HOST_FTTH=ftth.fd3.flowdat.com
+HOST_MAPAS=mapas.fd3.flowdat.com
+HOST_STATS=stats.fd3.flowdat.com
+HOST_GRAFANA=grafana.fd3.flowdat.com
+HOST_PMA=pma.fd3.flowdat.com
+API_CIDR=172.18.0.0/24
+