Hi Vincent,

I found more info on gunicorn and nginx.  it seems they need each other.

https://stackoverflow.com/questions/12800862/how-to-make-django-serve-static-files-with-gunicorn

What do you think?

Thanks.

Regards,
Lawrence

On Thu, Oct 11, 2018, 3:58 PM Lawrence Goh <[email protected]> wrote:

> Hi Vincent,
>
> I am trying to have whitenoise in.  Have you done it before?
>
> I have modified entrypoint.sh to include 'pip install whitenoise' after
> the virtual environment creation.  Modified settings.py to have STATIC_ROOT
> with this 'os.path.join(ROOT_DIR, 'staticfiles') and the entry in
> MIDDLEWARE.  Plus, wsgi.py file to have 'from whitenoise import WhiteNoise'.
>
> Unsure if anywhere else was missed.
>
> Thanks.
>
> Regards,
> Lawrence
>
> On Wed, Oct 10, 2018 at 9:09 PM Vincent Meijer <[email protected]>
> wrote:
>
>> Ah, I think I know what the problem is. Didn't think of this before, but
>> Django does not want to serve static files (css, js, images, etc) when in
>> PROD mode (and DEBUG=False).
>>
>> There are two routes I can think of right now:
>> 1. Set up White Noise to make Django serve static files (
>> http://whitenoise.evans.io/en/stable/)
>> 2. Set up the Azure CDN I described above
>>
>> I would personally go with option 2, because for me that made a big
>> difference in terms of performance.
>>
>>
>> On Wednesday, 10 October 2018 05:04:14 UTC+2, Lawrence Goh wrote:
>>>
>>> Hi Vincent,
>>>
>>> I guess I celebrated too early. I removed the cache and now the site on
>>> port 80 is broken as the images and JS are not downloaded.  Any idea on
>>> this?
>>>
>>> Thanks.
>>>
>>> Regards,
>>> Lawrence
>>>
>>> On Wed, Oct 10, 2018 at 2:36 PM Lawrence Goh <[email protected]> wrote:
>>>
>>>> Hi Vincent,
>>>>
>>>> Thanks a lot of the suggestion.  I tried the suggestion on dumping
>>>> nginx and changing the port number but I kept couchdb as it is though.  It
>>>> is working as a web app for containers using multi-container.
>>>>
>>>> Will put the single container approach on the pipeline :)
>>>>
>>>> Thanks again!
>>>>
>>>> Regards,
>>>> Lawrence
>>>>
>>>> On Wed, Oct 10, 2018 at 12:13 AM Vincent Meijer <[email protected]>
>>>> wrote:
>>>>
>>>>> No worries, I come from a .net environment myself.
>>>>> As for the App Service, I realized that I set up Postgres and
>>>>> Elasticsearch separately, that is why I was able to use the Single
>>>>> Container approach (see below for future reference).
>>>>>
>>>>> I just remembered I wasn't able to get the docker-compose approach
>>>>> working in the App Service.
>>>>> If you like to give it another try, you could remove the nginx service
>>>>> from your docker-compose.yml.
>>>>> Then add a port mapping on your arches service in your
>>>>> docker-compose.yml from 80 on the host (App Service) to 8000 on the
>>>>> container:
>>>>> Change:
>>>>> ports:
>>>>> - '8000:8000'
>>>>> To:
>>>>> ports:
>>>>> - '80:8000'
>>>>>
>>>>> Also be sure to set the DOMAIN_NAMES setting in your
>>>>> docker-compose.yml to the address of your web app.
>>>>>
>>>>> Finally, you may try removing the couchdb service from your
>>>>> docker-compose.yml, as this db is not (yet) used by arches at the moment
>>>>> (saves some resources).
>>>>> Be sure to *keep* the couchdb environment variables in your Arches
>>>>> service though (their values don't matter, but they are expected to be
>>>>> present).
>>>>>
>>>>>
>>>>> Here is some background info that might be useful:
>>>>> https://blogs.msdn.microsoft.com/appserviceteam/2018/05/07/multi-container/
>>>>>
>>>>>
>>>>>
>>>>> *Single Container *approach
>>>>> For the Single Container approach you wouldn't use a compose file at
>>>>> all, but that is assuming you run Postgres and Elasticsearch elsewhere.
>>>>> - On the App Service blade, select Container Settings (step 1 in the
>>>>> screenshot below).
>>>>> - Select 'Single Container' (step 2)
>>>>> - Configure that page, ie. select the right image etc.
>>>>> - Go to 'Application Settings' (step 3 on screenshot) and fill out all
>>>>> environment variables you have in your docker-compose.yml as individual 
>>>>> app
>>>>> settings
>>>>>
>>>>>
>>>>> [image: Azure App Service.png]
>>>>>
>>>>>
>>>>> On Tuesday, 9 October 2018 12:26:15 UTC+2, Lawrence Goh wrote:
>>>>>>
>>>>>> Hi Vincent,
>>>>>>
>>>>>> Thanks for the reply.  I am not so well verse in the web development
>>>>>> in open source space.  Last I knew something related was Apache :) Pardon
>>>>>> my knowledge as I am from .net.  Some help would be very much appreciated
>>>>>> to implement this.
>>>>>>
>>>>>> Based on the docker compose file, we have these containers - arches,
>>>>>> nginx, db, elasticsearch, couchdb and letsencrypt. The single container
>>>>>> would be having multiple single containers excluding nginx?
>>>>>>
>>>>>> What would be the best approach?
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> Regards,
>>>>>> Lawrence
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Oct 9, 2018, 8:46 PM Vincent Meijer <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Lawrence,
>>>>>>>
>>>>>>> The Azure App Service is meant to take over everything but the app
>>>>>>> itself, so running it with an nginx container is not necessary.
>>>>>>> I used the App Service for a short while and only could get it to
>>>>>>> work when using the single container approach.
>>>>>>>
>>>>>>> That being said, I found the App Service to be extremely slow (and
>>>>>>> expensive), so I am eager to hear your experiences with it.
>>>>>>>
>>>>>>> For me it did help to set up Azure CDN to serve static files.
>>>>>>> Roughly:
>>>>>>> 1. Set up an Azure Blob Storage account
>>>>>>> 2. Configure Django to use the azure-storage package (
>>>>>>> https://django-storages.readthedocs.io/en/latest/backends/azure.html
>>>>>>> -> don't do the static files steps)
>>>>>>> 3. Set up Azure CDN with the storage account from step 1 as origin.
>>>>>>> 4. Set `STATIC_URL` in settings.py to the CDN endpoint.
>>>>>>>
>>>>>>>
>>>>>>> I hope this helps and please share your experiences with us :)
>>>>>>> Vincent
>>>>>>>
>>>>>>>
>>>>>>> On Tuesday, 9 October 2018 04:19:42 UTC+2, Lawrence Goh wrote:
>>>>>>>>
>>>>>>>> Hi!  I am trying to set up the Arches Project on Azure using its
>>>>>>>> Web App for Containers.  But I hit a roadblock where I will get a '400 
>>>>>>>> Bad
>>>>>>>> Request' when browsing it.  I see the Azure logs are displaying that 
>>>>>>>> the
>>>>>>>> NGINX got called when I triggered it on a browser.  Hope to get some 
>>>>>>>> help
>>>>>>>> on this.  Thanks.
>>>>>>>>
>>>>>>> --
>>>>>>> -- To post, send email to [email protected]. To
>>>>>>> unsubscribe, send email to [email protected]. For
>>>>>>> more information, visit
>>>>>>> https://groups.google.com/d/forum/archesproject?hl=en
>>>>>>> ---
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Arches Project" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>> --
>>>>> -- To post, send email to [email protected]. To unsubscribe,
>>>>> send email to [email protected]. For more information,
>>>>> visit https://groups.google.com/d/forum/archesproject?hl=en
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Arches Project" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> --
>> -- To post, send email to [email protected]. To
>> unsubscribe, send email to [email protected].
>> For more information, visit
>> https://groups.google.com/d/forum/archesproject?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Arches Project" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
-- To post, send email to [email protected]. To unsubscribe, send 
email to [email protected]. For more information, 
visit https://groups.google.com/d/forum/archesproject?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Arches Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to