From 50af04345bedc3f3d74b282e3207e37855e1bbd2 Mon Sep 17 00:00:00 2001
From: Eliot Berriot <contact@eliotberriot.com>
Date: Sun, 18 Feb 2018 14:29:35 +0100
Subject: [PATCH] Use webpack dev proxy to serve api/media

---
 api/funkwhale_api/music/serializers.py |  3 ---
 dev.yml                                |  4 +---
 docker/nginx/conf.dev                  |  4 ++--
 front/config/index.js                  | 15 ++++++++++++++-
 4 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/api/funkwhale_api/music/serializers.py b/api/funkwhale_api/music/serializers.py
index 9f96dad0..506893a4 100644
--- a/api/funkwhale_api/music/serializers.py
+++ b/api/funkwhale_api/music/serializers.py
@@ -31,10 +31,7 @@ class TrackFileSerializer(serializers.ModelSerializer):
         fields = ('id', 'path', 'duration', 'source', 'filename', 'track')
 
     def get_path(self, o):
-        request = self.context.get('request')
         url = o.path
-        if request:
-            url = request.build_absolute_uri(url)
         return url
 
 
diff --git a/dev.yml b/dev.yml
index 971e38b6..e3cd50da 100644
--- a/dev.yml
+++ b/dev.yml
@@ -49,13 +49,11 @@ services:
       - ./api:/app
       - ./data/music:/music
     environment:
-      - "DJANGO_ALLOWED_HOSTS=localhost"
+      - "DJANGO_ALLOWED_HOSTS=localhost,nginx"
       - "DJANGO_SETTINGS_MODULE=config.settings.local"
       - "DJANGO_SECRET_KEY=dev"
       - "DATABASE_URL=postgresql://postgres@postgres/postgres"
       - "CACHE_URL=redis://redis:6379/0"
-    ports:
-      - "12081:12081"
     links:
       - postgres
       - redis
diff --git a/docker/nginx/conf.dev b/docker/nginx/conf.dev
index 48436173..1b749c30 100644
--- a/docker/nginx/conf.dev
+++ b/docker/nginx/conf.dev
@@ -40,8 +40,8 @@ http {
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_set_header X-Forwarded-Proto $scheme;
-            proxy_set_header X-Forwarded-Host   $host:$server_port;
-            proxy_set_header X-Forwarded-Port   $server_port;
+            proxy_set_header X-Forwarded-Host   localhost:8080;
+            proxy_set_header X-Forwarded-Port   8080;
             proxy_redirect off;
             proxy_pass   http://api:12081/;
         }
diff --git a/front/config/index.js b/front/config/index.js
index a312c7b2..7ce6e26e 100644
--- a/front/config/index.js
+++ b/front/config/index.js
@@ -28,7 +28,20 @@ module.exports = {
     autoOpenBrowser: true,
     assetsSubDirectory: 'static',
     assetsPublicPath: '/',
-    proxyTable: {},
+    proxyTable: {
+      '/api': {
+        target: 'http://nginx:6001',
+        changeOrigin: true,
+      },
+      '/media': {
+        target: 'http://nginx:6001',
+        changeOrigin: true,
+      },
+      '/staticfiles': {
+        target: 'http://nginx:6001',
+        changeOrigin: true,
+      }
+    },
     // CSS Sourcemaps off by default because relative paths are "buggy"
     // with this option, according to the CSS-Loader README
     // (https://github.com/webpack/css-loader#sourcemaps)
-- 
GitLab