Prepare a Django app for Deployment using Docker

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 ต.ค. 2024

ความคิดเห็น • 259

  • @davidsanchezplaza
    @davidsanchezplaza ปีที่แล้ว +2

    probably the best instructor.
    he explains everything and he knows, not just read. he doesnt make mistakes, or constantly clicking mouse to feel clever.
    im impressed

  • @thedeegan
    @thedeegan 4 ปีที่แล้ว +36

    Dude, that explanation was perfect. You deserve way more views. Thanks!

  • @abdullahmoiz8151
    @abdullahmoiz8151 3 ปีที่แล้ว +16

    Terrific video
    I absolutely love how you've explained every single step in the dockerfile and conf files in detail

  • @leonardotassodossantos7077
    @leonardotassodossantos7077 4 ปีที่แล้ว +8

    Damn Dude, just bought your course. Your explanation made my day.

  • @claytonmixtape
    @claytonmixtape 3 ปีที่แล้ว +2

    Might be the best DEV teacher I’ve ever had. From Udemy to TH-cam, thank you so much Marc

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว +1

      Wow thanks man appreciate that :)

    • @selahmuhammad626
      @selahmuhammad626 3 ปีที่แล้ว

      @@LondonAppDeveloper im sorry but for also for window users and im using postgressql server. i made website sir i just wanna upload and give a domain name please reply ..

  • @akshayc4145
    @akshayc4145 3 ปีที่แล้ว +2

    The best dev channel, giving millions of information in a very short time.

  • @AndrewMelnychuk0seen
    @AndrewMelnychuk0seen 3 ปีที่แล้ว +4

    Man this was so good and thorough. This is going to provide s many people with a strong foundation to build their own websites. Thanks so much!

  • @otastrategies3271
    @otastrategies3271 3 ปีที่แล้ว +2

    Thanks Mark. With your help I got my app dokerised. I was a bit afraid of this task but really happy that I got through it. Missing London during lockdown but keeping busy learning :-)

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว

      Thanks for the comment, great to hear that. Are you abroad or in the UK but not commuting to London due to lockdowns?

  • @gregchatzinicolau5698
    @gregchatzinicolau5698 4 ปีที่แล้ว +3

    This is the best Django - Docker tutorial by far. You keep best practices and you do a very good job explaining! Thank you!

  • @benjaminshtark5977
    @benjaminshtark5977 2 ปีที่แล้ว

    It’s just out of this world explanation!!! God Level !!

  • @TheSuperFoldager
    @TheSuperFoldager 3 ปีที่แล้ว +1

    Love how this video is recommended to me AFTER I have created my docker image... Greate video!

  • @tahuite
    @tahuite 3 ปีที่แล้ว +4

    Amazing video just what i was looking for but have 2 questions,
    why use static-data:/vol/static instead of actual folder static-data:/vol/WEB/static ?
    and in settings.py why use STATIC_URL = '/static/static/' instead of STATIC_URL = 'static/' ?
    thanks!

  • @oscargonzalez159
    @oscargonzalez159 3 ปีที่แล้ว

    So I understand that the first configuration it is to test the application, and the nginx configuration it is to deploy into my server. I am a little confused because I have to put my database too in the configuration, but with your explanation, I understand very well Dockerfile and docker-compose, I was very confused about this, I just found your video, it is an excellent explanation and I say thank you very much! you saved me

  • @RJ-bk2ho
    @RJ-bk2ho 4 ปีที่แล้ว +1

    Thanks mark !! I love the way you present your content . Learned DjangoRest from your two courses :)

    • @LondonAppDeveloper
      @LondonAppDeveloper  4 ปีที่แล้ว +1

      Thank you! We appreciate you supporting our content by buying our courses, and glad you like them :)

  • @etis398
    @etis398 3 ปีที่แล้ว

    Thanks a lot for this video. I am currently learning docker and this example by practice was very great for me to better understand how do we use it, on a real app.

  • @mrmuranga
    @mrmuranga 3 ปีที่แล้ว +1

    Well thought out and easily explained as usual by Mark....

  • @adila3097
    @adila3097 ปีที่แล้ว

    Respect for preparing this awesome presentation and sharing your knowledge. Thank you!

  • @arturoolvera2604
    @arturoolvera2604 3 ปีที่แล้ว

    Great tutorial, got a better understanding of what should be done when deploying django apps.

  • @MrGedKirkham
    @MrGedKirkham 3 ปีที่แล้ว +1

    Great tutorial.
    I had some difficulty when deploying to a production server so I may be able to help others. If you deploy to prod, and can only access your page via port 8080, update docker-compose-deploy.yml ports value from "8080:8080" to "80:8080".

    • @galaktoza
      @galaktoza 3 ปีที่แล้ว

      Did you deploy it on VPS Linux image? If so, does it work?

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว +1

      That's right. Also keep in mind that you might need to open the port via security rules for your VM.

  • @theearthish
    @theearthish 3 ปีที่แล้ว

    Hey! This was one of the most useful tutorials I've come across!!

  • @tsmets
    @tsmets 3 ปีที่แล้ว

    Excellent !
    Now this is OK to run "as such".
    However, a quick & short explanation on :
    1. How the docker containers are arranged one with each other ? django is always deployed with 2 containers while I could be sufficient (no?).
    2. Why do we create a Docker container to generate the statics ?
    Would have bring this one step further !
    I looked at all the comments and wonder who are the 17 idiots who gave you a down thumb.
    Great job.

  • @SzymonZakrzewski
    @SzymonZakrzewski 3 ปีที่แล้ว

    You are doing greate job with those tutorials :) waiting for more quality content like this one

  • @matyassina7673
    @matyassina7673 หลายเดือนก่อน

    you are just incredible my brother from my mother.

    • @LondonAppDeveloper
      @LondonAppDeveloper  หลายเดือนก่อน

      Thanks! Glad you like the video.

    • @matyassina7673
      @matyassina7673 หลายเดือนก่อน

      @@LondonAppDeveloper but quick question how should i handle(properly configure) if i want to include media folder???

  • @MrAustin4399
    @MrAustin4399 3 ปีที่แล้ว

    Seriously, thank you for this explanation. Very well done! Very thorough

  • @kirillkruglov1418
    @kirillkruglov1418 4 ปีที่แล้ว +3

    Great !
    I have used this tutorial to deploy CRUD project, ant i have an issue:
    when i make POST or enter name & password on admin page, i get SERVER ERROR (500)
    What can be the problem?
    Any help appreciated!

  • @VeLawrence
    @VeLawrence 4 ปีที่แล้ว

    My man! hats off for you! one can see with you that knowledge cannot be improvised, thanks a lot for this video!

  • @kaplansedat
    @kaplansedat 3 ปีที่แล้ว +3

    Perfect explanation. But that's the point where I give up on technology stack decisions. That shouldn't be that hard to deploy a web app. Your explanation is perfect. But deployment mustn't be that hard we need guidelines and courses. Its 2021. web development going backward. its much easier 15 years ago. Don't get me wrong. It's not about you, it's not about Django. It's about web development ecosystem. We need a paradigm shift. For example if I decide to deploy on google cloud or AWS. ı should develop on production server. I should concentrate on development. with a command my development should convert to production. Only thing I worry about is database migration. keeping old date.

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว +1

      Yeah good point. Even with serverless technology like AWS Lambda or Google App Engine, it still takes a huge amount of work to get an app deployed successfully. Still a long way to go in terms of simplifying deployment.

    • @angelicking2890
      @angelicking2890 ปีที่แล้ว

      yeah I don't know why this is such a joke. I barely have experience in software development , few months, and trying to deploy my backend is being such a pain in the neck.

  • @JoseAlvarez-dl3hm
    @JoseAlvarez-dl3hm 3 ปีที่แล้ว

    Oh man you are a life saviour, it worked wonders!, although I would have to re watch this video many times to totally grasp a little more of docker, and to study more the docker official documentation. I still find hard to grasp volumes and implementing a networking with docker.

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว +1

      Amazing. So glad to hear that. Volumes are basically like a shared folder... You map a volume from your host to the docker container. It's a way of adding persistent data in your Docker containers.

  • @shreem2381
    @shreem2381 3 ปีที่แล้ว

    Thanks a lot for sharing this in-depth hands on session. I kinda got lost towards the end as there was no indication that your app was successfully deployed in the production environment :( .
    After the last step, when I access the app locally at port 8080 (and the /admin route as well), after I login I get Server Error(500). Any ideas how to resolve this...
    I have followed all the steps and pulled the docker image in AWS EC2 instance(regardless of the environment), and now would you please share steps on how to verify that all's working as expected. Once again I learnt a lot about the dos and don'ts from your session! :)

  • @jamiexue
    @jamiexue 3 ปีที่แล้ว

    I love your channel. Thanks for all the videos.

  • @sujaysavandv6977
    @sujaysavandv6977 ปีที่แล้ว

    Thanks much!! This video helped me a lot & understood so much....

  • @jorgeterence577
    @jorgeterence577 ปีที่แล้ว

    Thank you very much for the tutorial! It's really helping with my conclusion project. There's one detail that isn't covered that I got stuck on: in the video you seem to be using SQLite as a database. I'm using MySQL on a remote server and installing the dependencies causes the Docker image to crash. Do you have any tips?

    • @LondonAppDeveloper
      @LondonAppDeveloper  ปีที่แล้ว

      That's great, thanks for watching. You would set it up using environment variables to point to the remote server. So docker-compose.yml would have environment variables (pulled from .env file for secrets) and then settings.py would be configured to pull the MySQL database details from the env vars. Here is an example: github.com/LondonAppDeveloper/c2-recipe-app-api-2/blob/main/docker-compose-deploy.yml#L12
      In that example we are using a DB hosted with Docker Compose, but you could just exclude the db: service and replace the configuration with the target DB if your DB is hosted elsewhere.

  •  3 ปีที่แล้ว +2

    Thank you a lot, solving my concern right now !

  • @jaronbardenhagen246
    @jaronbardenhagen246 4 ปีที่แล้ว +2

    Hi, good tutorial ! Do you know any good Tutorial which explains how to set up Django with Docker on AWS EB? AWS don't have a documentation.

  • @pnalagonda
    @pnalagonda 16 วันที่ผ่านมา

    Thanks. Great video. I was able to setup Nginx following your video, also I used Gunicorn instead of uWSGI. However, I get a "CSRF verification failed. Request aborted." error when I try to login or submit a form. This works fine with with just Python and Gunicorn. Any ideas please.

  • @juancarloselorriaga6171
    @juancarloselorriaga6171 4 ปีที่แล้ว

    You're amazing. Thank you very very much. Does this exact same configuration works on an asgi app? I made changes to one of my apps since I'm using Django Channels and I want to deploy my project with a neat setup as you propose in this video. Any suggestions?

    • @juancarloselorriaga6171
      @juancarloselorriaga6171 4 ปีที่แล้ว

      Everything is working except my websockets. Any resources can help!

  • @rajeshchoudhary1866
    @rajeshchoudhary1866 4 ปีที่แล้ว +3

    That was an awesome explanation.

  • @shreem6447
    @shreem6447 3 ปีที่แล้ว +2

    Thanks for sharing this walk through. I am stuck with an error in the final step when I run "docker-compose -f docker-compose-deploy.yml up --build" , I get: "app_1 | python: can't open file 'manage.py': [Errno 2] No such file or directory". Can anyone help me resolve this...

    • @lbb2rfarangkiinok
      @lbb2rfarangkiinok 2 ปีที่แล้ว

      Sounds like you might have problems with your project file structure. You should have a project fold containing the dockerfile and dokcer-compose as well as requirements. Then create django project called app. The manage.py needs to be in there. Check the file structure in the source code for clarity.

  • @kirillkruglov1418
    @kirillkruglov1418 4 ปีที่แล้ว +1

    Absolutely great, man!

  • @karishmakaris7165
    @karishmakaris7165 4 ปีที่แล้ว

    Thankyou for such a detailed explanation, I am able dockerize my project...

  • @LegionLeague
    @LegionLeague 2 ปีที่แล้ว +1

    OMG, what a great video and it makes it so painful that it's missing a, say, Heroku deployment at the end. This would have been a one-stop shop for dockerizing an app.

  • @sepehrnematollahi1151
    @sepehrnematollahi1151 3 ปีที่แล้ว +1

    GREAT VIDEO!
    I just don't understand why he changed the STATIC_URL to "/static/static/".
    Any help is appreciated.

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว +3

      Thanks so much. STATIC_URL is the config that determines the URL path prefix for the static files (so if you have a static file called `main.css`, it would be `/static/static/main.css`). The MEDIA_URL config is similar, but instead of for the static files (which are stored with the project), it's for the media files that are uploaded to the project at runtime.
      We set STATIC_URL to `/static/static` and MEDIA_URL to `/static/media` and because then inside our nginx config we can set the alias for `/static` to `/vol/static` which will contain both `static/` and `media/` directories. This means the nginx proxy can handle both `static/` and `media/` URLs with one single location block here: github.com/LondonAppDeveloper/demo-django-docker-nginx-prod/blob/master/proxy/default.conf#L4
      Django URL and media files are actually very confusing, especially when combined with Docker volumes. If you want to learn more, I'd suggest reading the official docs here: docs.djangoproject.com/en/3.1/topics/files/

  • @mmeip67
    @mmeip67 4 ปีที่แล้ว

    Great tutorial, agreed you deserve more views. Thanks a lot!

  • @sammychafiqui1817
    @sammychafiqui1817 4 ปีที่แล้ว +2

    thank you for this masterpiece

  • @rta3311
    @rta3311 3 ปีที่แล้ว

    Thanks for sharing this ammmaizing course. I could understand what I understand and not. Best wishes,

  • @SKhan2312
    @SKhan2312 2 ปีที่แล้ว

    Any idea how you would implement the http2 end to end solution? Happy to pay you for your help london app developer

  • @erickfis2008
    @erickfis2008 3 ปีที่แล้ว

    I was looking for explanations on the environment variables. How to pass them to cloud build or any other ci-cd service?

  • @ragupathynarasimhan
    @ragupathynarasimhan 4 ปีที่แล้ว +1

    Hi Mark,
    Thank you so much for your wonderful videos and it was a great learning for me.
    Furthermore, i need your help to resolve the below issue mentioned in the "docker-compose-deploy.yml". While execute the final step of build, i getting the below error.
    My OS: WINDOWS -10 Pro
    Error: The Compose file '.\docker-compose-deploy.yml' is invalid because:
    Unsupported config option for services.volumes: 'static_data'
    Please to hear you soon.

    • @kbnissanov
      @kbnissanov 3 ปีที่แล้ว

      volumes needs to be at the same indentation with services i.e.
      services:
      #...
      volumes:
      static_data:

  • @aniruddhapandit
    @aniruddhapandit 4 ปีที่แล้ว +2

    Hiya, when we say app in the docker-compose.yml is it the app name ? Suppose my app name is projectx, would I put projectx instead of app: in the compose file ? Thanks.

  • @Sparky-Vlogs
    @Sparky-Vlogs 3 ปีที่แล้ว +1

    Hello sir, I'm facing WORKER TIMEOUT issue for Dockerized Django Application, can you please help me?

  • @serious6037
    @serious6037 2 ปีที่แล้ว

    Please tell me , answer me bro, will this tutorial be good for windows10?

  • @Shayestehhs
    @Shayestehhs 3 ปีที่แล้ว

    Simple, Fast, Usefull 👌👌

  • @Nieosoba
    @Nieosoba 3 ปีที่แล้ว

    Thanks a lot! Useful and easy to follow

  • @SirStrategist
    @SirStrategist 4 ปีที่แล้ว +2

    Hello and thank for usefull video. I use ubuntu(if it matters) and when compose docker-compose-deploy I have error PermissionError: [Errno 13] Permission denied: '/app/vol'. It relates to created user for app. Because if I not switch to it it works fine.
    RUN adduser -D manager
    RUN chown -R manager:manager /vol
    RUN chmod -R 755 /vol/web
    USER manager,
    as manager it has no rights to collectstatic in entrypoint.sh but seems that it should be able to do it.
    I have o idea what's wrong. May be I can suggest some where should dig?

    • @mcn1034
      @mcn1034 4 ปีที่แล้ว

      Hi. Im getting the exact same error [Errno 13] Permission denied. Have you had any success finding a solution?

  • @khmerkamsan9677
    @khmerkamsan9677 4 ปีที่แล้ว

    Thank you for your great instructive video.

  • @alleviate8832
    @alleviate8832 3 ปีที่แล้ว

    Great Video...Please make a video of deploying this project on google cloud/AWS

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว

      Thanks for the suggestion, I'll keep it in mind for future content.

    • @HuyNguyen-kd5vz
      @HuyNguyen-kd5vz 3 ปีที่แล้ว

      @@LondonAppDeveloper yes, please

  • @echoky3189
    @echoky3189 3 ปีที่แล้ว +1

    Thanks for the great vid! I tried to follow along but at the end received this error. How can I fix it?
    [emerg] 1#1: host not found in upstream "app" in /etc/nginx/conf.d/default.conf:9
    proxy_1 | nginx: [emerg] host not found in upstream "app" in /etc/nginx/conf.d/default.conf:9

    • @PAVANKUMAR-vj8oi
      @PAVANKUMAR-vj8oi 3 ปีที่แล้ว

      same

    • @georgehart3612
      @georgehart3612 3 ปีที่แล้ว

      Also same

    • @rahulnetawat227
      @rahulnetawat227 2 ปีที่แล้ว

      Same error

    • @Eternam
      @Eternam 2 ปีที่แล้ว

      same error. it seems app it is not recognized by the nginx default.conf. 'app' there should be an ip address, should i cant figure out why it is not recognized.

    • @Eternam
      @Eternam 2 ปีที่แล้ว

      i fix the error, app name refers to the name of the top folder of the app, where the docker-compose-deploy.yml is. you have to change app for the name of the folder and it will work.

  • @radeshf
    @radeshf 3 ปีที่แล้ว

    so much help, very useful tutorial

  • @tisaghchase
    @tisaghchase 4 ปีที่แล้ว +1

    Definitely appreciate this

    • @LondonAppDeveloper
      @LondonAppDeveloper  4 ปีที่แล้ว +1

      Thank you! I appreciate you taking the time to watch our content and leave a comment :) Best of luck.

  • @normansander5914
    @normansander5914 4 ปีที่แล้ว

    Thanks for this awesome guidance! It helped me a lot!

  • @KhaosOverdrive
    @KhaosOverdrive 4 ปีที่แล้ว +1

    Thank you so much for this!

  • @keshavarzpour
    @keshavarzpour 2 ปีที่แล้ว

    thanks for the upload, but have question, how can i link to media folder , where ever i tried , in root or next to static folder, i get error, i don't know hw link my media folder

  • @Rochie
    @Rochie 3 ปีที่แล้ว +1

    Mint tutorial!

  • @miles2590
    @miles2590 3 ปีที่แล้ว

    This is what my next step, to deploy, but can't get to run my project with this. sad.

  • @anonshubh
    @anonshubh 4 ปีที่แล้ว

    Thank you , explanation was Great!!....

  • @sanlistonmadzima
    @sanlistonmadzima 3 ปีที่แล้ว

    You know your stuff. Subscribed

  • @mrkio7683
    @mrkio7683 3 ปีที่แล้ว +1

    when i run docker-compose up it gives me an error
    /bin/sh: apk: not found
    ERROR: Service 'app' failed to build : The command '/bin/sh -c apk update && apk add --update --no-cache --virtual .tmp gcc libc-dev linux-headers' returned a non-zero

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว

      This is possible because of a typo in your Dockerfile or that you are using a different base image.

  • @thucpham4142
    @thucpham4142 4 ปีที่แล้ว

    Thanks Mark. Besides, can you please update the Dockerfile in the udemy course "Build a backend REST API with Python & Django?

    • @LondonAppDeveloper
      @LondonAppDeveloper  4 ปีที่แล้ว +1

      Hey, we will do... Currently working on some other projects (moving country/house being one), but we are planning to launch one more course and then update this course to use Django 3. Will keep you updated once it's available. Thanks for the support :)

  • @mirtz5762
    @mirtz5762 2 ปีที่แล้ว

    like and subscribed! have you got some udemy curses translated (subtitled) in spanish language?

  • @fnordproducinc4258
    @fnordproducinc4258 3 ปีที่แล้ว

    Thanks a lot, great tutorial!

  • @MistaWu
    @MistaWu 3 ปีที่แล้ว

    Thank you sooo very much, this really helped me....

  • @isaachatilima
    @isaachatilima ปีที่แล้ว

    How can I have the static files outside the app? when I move the folder I get 404 error

  • @aditmodi
    @aditmodi 3 ปีที่แล้ว

    Hi,
    great video.
    I have a dockerfile which is using gunicorn to run django application.
    The problem is while creating a dockerfile gunicorn uses certain ip and port,
    what should I specify for those values.
    I tried to do something like this:
    CMD ["gunicorn" ,"-b" ,"127.0.0.1:8000" ,"my_project.wsgi"]
    it does not work.
    CMD ["gunicorn" ,"-b" ,"0.0.0.0:8000" ,"my_project.wsgi"]
    but this works.
    why does this happen, how to solve this issue.
    my goal is to deploy my django application using docker .
    create a ci/cd solution for my django app.

  • @pradyumg
    @pradyumg 3 ปีที่แล้ว

    I know that WSGI and gunicorn work the same in a production environment so why did you prefer to use WSGI in docker?

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว

      There are many benefits to using Docker. 1) Check the Dockerfile and configs into code base, 2) Less server setup to deploy app - simply install Docker and run the containers, 3) Avoid server overhead completely using serverless technologies like Heroku and ECS Fargate... These are just some of the reasons.

  • @SamirMamude
    @SamirMamude 3 ปีที่แล้ว

    Great tutorial, take a look on CaddyServer to make proxy, better than nginx in my opinion.

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว

      Thanks for the feedback! I'll take a look at CaddyServer.

  • @alessandroalberga3801
    @alessandroalberga3801 3 ปีที่แล้ว

    Legend!!

  • @RakeshSharma-df2ie
    @RakeshSharma-df2ie 4 ปีที่แล้ว

    How can we pass the allowed host dynamically from docker run command , because i want to run this in aws ec2 linux , so without the need of compose file, i have to run the container by pulling it into my ec2 instance. here is the below error i got:
    error:
    Invalid HTTP_HOST header: '11.232.140.160:8080'. You may need to add '11.232.140.160' to ALLOWED_HOSTS.
    command: docker run -p 8080:8080 rakesha/django_docker:1

  • @aashayamballi
    @aashayamballi 4 ปีที่แล้ว

    I had one doubt, you copy the project to the container, install dependencies and packages, create the directory for media and static files and then you create a user and provide the directory with permission with the created user.
    so whatever the project files like hello_world, app, and manage.py will not have that user permission right?
    Is it okay to keep it as root user permission for those files or will it change the user permission for those too?

    • @LondonAppDeveloper
      @LondonAppDeveloper  4 ปีที่แล้ว +1

      It's fine if the files are owned by root as long as they have the execute permission for "other".

    • @aashayamballi
      @aashayamballi 4 ปีที่แล้ว

      @@LondonAppDeveloper thank you! Could you please make a video on deploying django in swarm mode and keep nginx infront to receive all the http request.

  • @s.spambot9095
    @s.spambot9095 2 ปีที่แล้ว

    This video slaps harder than a latino mom's chancla! Fucking awesome! Thank you man.

  • @michaeleggenschwiler5104
    @michaeleggenschwiler5104 4 ปีที่แล้ว

    awesome explanation --> thanks!

    • @LondonAppDeveloper
      @LondonAppDeveloper  4 ปีที่แล้ว

      You're welcome, glad it was helpful and thanks for the comment :)

  • @nickfoote490
    @nickfoote490 3 ปีที่แล้ว

    Great video! Any ideas why I keep getting the error below??
    invalid request block size: 21573 (max 4096)...skip
    Thanks

  • @shivamtrivedi4669
    @shivamtrivedi4669 4 ปีที่แล้ว

    Why did we use the STATIC_URL as /static/static and not only /static? because we are just using /static in the nginx config.

    • @LondonAppDeveloper
      @LondonAppDeveloper  4 ปีที่แล้ว

      Because we use /static/ to map all static files, and /static/static/ is going to be for files generated by collectstatic and /static/media/ will be for media files uploaded by the user. It might be less confusing to use something like /webdata/static/ and /webdata/media/.

  • @ladyking83
    @ladyking83 4 ปีที่แล้ว

    Hello Mark, one question: is there a reason why you haven't dockerized postgres db in dev mode resp. add db service in docker-compose.yml? thanks in advanced.

    • @LondonAppDeveloper
      @LondonAppDeveloper  4 ปีที่แล้ว

      Sorry not sure what you mean? We do put PostgreSQL as a service in docker-compose.yml.

    • @ladyking83
      @ladyking83 4 ปีที่แล้ว

      @@LondonAppDeveloper i meant until 18:00 there was no db service that starts a postgres container. why is that?

  • @muhmdhsn313
    @muhmdhsn313 4 ปีที่แล้ว

    Thank you
    I've got a problem with static file, the css and js of admin not loaded!

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว

      Probably check your volume mapping and URL configuration for the static files.

  • @QwertyUiop-mn4nt
    @QwertyUiop-mn4nt 4 ปีที่แล้ว +1

    Can we export this docker image and run this app in any machine now?

  • @PAVANKUMAR-vj8oi
    @PAVANKUMAR-vj8oi 3 ปีที่แล้ว

    nginx: [emerg] host not found in upstream "app" in /etc/nginx/conf.d/default.conf:9

  • @esantix
    @esantix 3 ปีที่แล้ว

    Great video! I get a 503 when trying to login. Non login views work fine. Any tips?

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว

      That's weird. Any exception errors being printed in the console logs?

    • @esantix
      @esantix 3 ปีที่แล้ว

      ​@@LondonAppDeveloper Sorry. I found a typo. I'm implementing this video on my own project (not much more complex). But still getting a 500 now. The app sevice simply responds:
      [pid: 12|app: 0|req: 6/6] 172.18.0.1 () {54 vars in 1082 bytes} [Sun May 23 21:39:34 2021] GET /accounts/login/?next=/ => generated 2288 bytes in 9 msecs (HTTP/1.1 200) 9 headers in 461 bytes (1 switches on core 0)
      I'm guessing it's permissions to de DB. I thought maybe using root to ensure access to de database but still nothing. Any recommended video to implement db as a separate service with this configuration (nginx + uwsgi)?

    • @esantix
      @esantix 3 ปีที่แล้ว

      Thanks again!! It's awesome you giving out this knowledge

  • @kamrandurrani93
    @kamrandurrani93 3 ปีที่แล้ว +1

    This site can’t be reachedThe connection was reset. on port 127.0.0.1:8000/. it works fine when used without docker but with docker-compose up it is giving site can't be reached please help

  • @RohitShindeV1
    @RohitShindeV1 4 ปีที่แล้ว

    I'm new to this. why do we need Nginx if we are deploying django app using uwsgi ? also can we increase uwsgi workers inside docker?

    • @LondonAppDeveloper
      @LondonAppDeveloper  4 ปีที่แล้ว +1

      NGINX is used to serve the static files (JS, CSS, Images, etc.) and uWSGI is used to execute the Python code. Although uWSGI _can_ serve these static files, it's not recommended because it's not optimised to do so. NGINX is designed to serve these types of files at scale, which is why we use NGINX to handle them and leave uWSGI to do what it does best, which is run Python code.

  • @shishirsubedi6399
    @shishirsubedi6399 3 ปีที่แล้ว

    if you have included the database (mysql/postgres) settings that would have been a cherry on a cake

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว

      Thanks for the feedback, I'll keep this in mind for future content.

  • @lucianawaka
    @lucianawaka 2 ปีที่แล้ว

    Thank you! =D

  • @markusoliver9994
    @markusoliver9994 4 ปีที่แล้ว

    amazing woooooooorks thanks!

  • @robsonjunior2483
    @robsonjunior2483 3 ปีที่แล้ว

    23:45 Will it copy to /etc/nginx/conf.d/ of the host system or docker nginx image (container)?

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว +1

      It's copying default.conf from your project directory to /etc/nginx/conf.d on your Docker container. It won't impact /etc/nginx/cond.d on the host system.

    • @robsonjunior2483
      @robsonjunior2483 3 ปีที่แล้ว

      @@LondonAppDeveloper Oh that's great! Thank you!

  • @philipmutua
    @philipmutua 4 ปีที่แล้ว

    Local development works fine but when setting up nginx I ended up getting the following error: nginx: [emerg] host not found in upstream "app:8000" in /etc/nginx/conf.d/default.conf:2

    • @LondonAppDeveloper
      @LondonAppDeveloper  4 ปีที่แล้ว +1

      Double check there aren't any errors in your default.conf file.

  • @wassim5622
    @wassim5622 4 ปีที่แล้ว

    is it okay to just push to docker hub, go inside the production server pull the image and run it ?

  • @larspreussheglund1834
    @larspreussheglund1834 3 ปีที่แล้ว

    Hi, thanks for a great tutorial. Unfortunately I can´t get it to work. If I use alpine I have a lot of dependicy errors so i tried with 3.8-buster. However now I get the error: "ERROR: Service 'app' failed to build : The command '/bin/sh -c apk add --update --no-cache --virtual .tmp gcc libc-dev linux-headers' returned a non-zero code: 127". When i look in the app folder is also empty....should there not ne a file?
    Thanks for a great video.

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว +1

      Thanks for the comment. It's difficult to say without seeing the code, but I expect the issue is that the buster images are based on a different flavour of linux which uses a different package manager. Try changing `apk` add to `apt-get install`. Also package names may be different so you may need to search them. When alpine doesn't cut it for me, I usually use `python:3.9-slim`, and replace the `apk add` commands with the appropriate `apt-get` command.

    • @larspreussheglund1834
      @larspreussheglund1834 3 ปีที่แล้ว

      @@LondonAppDeveloper thanks. I will try that. Thank you for the quick reply.

    • @larspreussheglund1834
      @larspreussheglund1834 3 ปีที่แล้ว

      Hi
      I simple cannot get it to work. It must be my setup that fails. I cannot add users nor will docker copy the files to the image. Python manage.py runserver cannot be found.
      Thanks for trying.

  • @Arslan2591
    @Arslan2591 3 ปีที่แล้ว

    Sir, I think you accidentally erased "Static" at 7:24

  • @randerson5726
    @randerson5726 3 ปีที่แล้ว

    Do you have any resources for setting this up with HTTPS?

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 ปีที่แล้ว

      We teach how to do that in our advanced DevOps course: londonapp.dev/c3 - Basically we setup HTTPS using and AWS Application Load Balancer. I'll also consider making more TH-cam content about this too.

  • @RowsTez
    @RowsTez 4 ปีที่แล้ว

    Hello! it gives me an error:
    error: can not modify /etc/nginx/conf.d/default.conf (read-only file system?)

    • @rajeshputhsakayala1896
      @rajeshputhsakayala1896 4 ปีที่แล้ว

      I am also getting the same error. Did you find any solution? Thanks

  • @JustusWeiss
    @JustusWeiss 4 ปีที่แล้ว

    Hey,
    thank you for the tutorial! I just get stuck at 17:40 (docker compose-up) and can't figure out why :(
    When I enter 'docker compose-up' I get the message:
    ERROR: The Compose file '.\docker-compose.yml' is invalid because:
    Unsupported config option for services.app: 'enviroment'
    I didn't find any information about this problem on the internet and tried differend virtualenvs. Does someone have the same problem or knows an answer ?
    Best regards, Justus

    • @LondonAppDeveloper
      @LondonAppDeveloper  4 ปีที่แล้ว +1

      Sounds like you might have an indentation issue in docker-compose.yml. Double check it matches the example.

    • @JustusWeiss
      @JustusWeiss 4 ปีที่แล้ว

      London App Developer Thank you for the answer! I deleted the environment part and then it worked because it only contained the debug part.
      I am currently doing your advanced Rest API course on Udemy and now everything with Django and Docker works as expected.
      Best regards, Justus