Deploying Django with Docker Compose

Поделиться
HTML-код
  • Опубликовано: 12 янв 2025

Комментарии • 244

  • @gekare
    @gekare Год назад +5

    2.5 hours of pure information and experience. Thank you so much.

  • @solarsystem1958
    @solarsystem1958 2 года назад +4

    Great Thanks for this video! It was very hard to digest for the first deployment, but carefully breaking down and playing around with each step help me a lot to deeper understand what is going on and why I should use a more complex approach

  • @jasonoesch4652
    @jasonoesch4652 Год назад +1

    THIS. I can finally replace all my hacky docker workarounds and understand what I'm actually doing. Mark, you're the best

  • @Yuyoukyu
    @Yuyoukyu 2 года назад

    Thank you Mark! Appreciated for the video!

    • @LondonAppDeveloper
      @LondonAppDeveloper  2 года назад

      Hey Weihao, thanks so much, this is my first Super Thanks :D Really appreciate it.

  • @janekalam
    @janekalam 2 года назад +1

    This is by far the best tutorial on Django deployment and the best on Docker. Great explanation on every detail. Thanks so much Mark!

  • @ajagaabdulbasit
    @ajagaabdulbasit Год назад

    This is the best tutorial I have seen on deploying docker containers, I applied similar method to deploying on Linode. I learned a lot and I can't wait to get the full course. Great work Mike

  • @ahmetkemalbabacan
    @ahmetkemalbabacan Год назад

    Still perfect after two years. Great work! The best method I've ever seen about deploying the app to EC2.

  • @GiuseppeDilillo
    @GiuseppeDilillo Месяц назад

    this has been quite a journey, thank you so much!

  • @joshuaochia7479
    @joshuaochia7479 3 года назад +4

    Been trying to find this!! thank you again Mark, you never cease to amaze me and be on the right time ahaahaha

  • @tomaszmakuch
    @tomaszmakuch 3 года назад

    Great video Mark, keep up the good work! I like the way you slowly explain what you do with no extra unnecessary "decorative" remarks. Hope to have a pint of beer with you sometime in London mate!

  • @Yuyoukyu
    @Yuyoukyu 2 года назад +3

    Hey Mark, really appreciate for your tutorial. This is the exactly video I was looking! It was so detailed and you explain everything so well. Thank you!❤

    • @LondonAppDeveloper
      @LondonAppDeveloper  2 года назад

      You're welcome. Thanks for watching and I'm happy you found it useful.

  • @holgera7170
    @holgera7170 3 года назад +1

    Hey Mark, in my opinion one of the best tutorials on youtube. Thank u very much for your detailed explaination. This helped me a lot for our university project. kind greetings from germany

  • @idkman9164
    @idkman9164 5 месяцев назад

    Following along this video allowed me to host my first ever webpage! Thank you lots!

  • @lukeanglin263
    @lukeanglin263 3 года назад +5

    I am so thankful for your video Mark. You are an excellent, EXCELLENT teacher. One of the best tutorials for CS on RUclips for any subject! Keep up the wonderful work and I will be praying for your channel to grow even more!

  • @RR-vi1oz
    @RR-vi1oz 3 года назад

    This is exactly what I have been looking for. I took your "Rest API" course on Udemy and learned a lot. Thanks again.

  • @sanjaydhande6573
    @sanjaydhande6573 2 года назад +2

    Ultimate explanation and the integration. Thanks for such excellent presentation and work.

  • @metalmlover
    @metalmlover 8 месяцев назад

    The best tutorial and instructor I've seen on the subject. really amazing

  • @Mrsubset
    @Mrsubset 3 года назад +1

    Uploaded at the right time. You're a Legend!

  • @journeytomars4689
    @journeytomars4689 2 года назад

    Thanks for taking out time to create this tutorial. This video sooo good that I had to purchase the advanced course.

  • @youtalky_com
    @youtalky_com Год назад

    Increadibly proffessional. Blog and the video itself. I am amazed. Thank you so much.

    • @LondonAppDeveloper
      @LondonAppDeveloper  4 месяца назад

      Thanks for your kind words. Glad you found it useful!

  • @enricosaccheggiani3192
    @enricosaccheggiani3192 3 года назад +1

    very well explained the part of wsgi, nginx, static files . Very good

  • @tomha1
    @tomha1 Год назад

    this is a great video. so much useful stuff in it that it taken 5 sittings to complete and over a month

    • @tomha1
      @tomha1 Год назад

      just about completed this now :)
      Most recent working versions are:
      Dockerfile: python:3.11-alpine3.15
      docker-compose.yml / docker-compose-deploy.yml
      - Python 3.11
      - Image: postgres:15-alpine
      Requirements.txt:
      Django==4.2
      psycopg2==2.9.6
      uWSGI==2.0.21

  • @miles2590
    @miles2590 3 года назад +4

    Thanks for the excellent tutorial Mark. successfully tested the deployment on the production server locally but, have some problem in the development, particularly in the " MEDIA_ROOT='/vol/static/media' ", it gives me Permission denied error and was not mounted on the "/data/web", but when using " MEDIA_ROOT='vol/static/media/' ", there is no error and can saved the media in "app/app/vol/static/media" and was not mounted in "/data/web/". anyway, the production deployment was great locally, haven't tested it yet in the actual production server, thanks Mark. keep it up.

    • @nicolasqueiroga6455
      @nicolasqueiroga6455 3 года назад

      same problem here

    • @jorgeav527-xyz
      @jorgeav527-xyz 2 года назад +1

      @@nicolasqueiroga6455 maybe is this: When docker create a data/web to our system it creates with user roots permissions, so when Django app tries to save the file can't. so just change the permissions data/web file to your current user.

  • @humanzeeing
    @humanzeeing 3 года назад +5

    If anyone is facing the PermissionError: [Errno 13] Permission denied: '/vol/web/media' issue, here's the fix:-
    TLDR fix - enter this command in the terminal from inside the root folder - "sudo chmod -R a+rwx ./data"
    Explanation - So, in the docker-compose.yml, because we added ./data/web:/vol/web, under volumes, when we upload a file, it uses the same app user specified in the Dockerfile to write the uploaded file to the ./data folder. So making the /data folder writable fixes the issue

    • @danielsemerjyan513
      @danielsemerjyan513 3 года назад

      Thx

    • @olipack72
      @olipack72 2 года назад

      "sudo chmod -R a+rwx ./data" alone didn´t fix the issue in my case. I also had to change the ownership from ROOT to MY_USER by executing "sudo chown -R MY_USER:MY_USER ./data". Only then it worked!

    • @humbertocueva3815
      @humbertocueva3815 2 года назад

      How can i access to the root folder from the terminal?

    • @humanzeeing
      @humanzeeing 2 года назад

      @@humbertocueva3815 just cd into the path where your project exists. Once you are inside the project folder that's what is called the root folder. Basically which ever folder the .data folder exists.
      If you're a newbie, then just open the project folder in vscode and select new terminal from the top menu and it will launch the terminal directly in the root folder of the project. From there you can directly enter the command. If it doesn't work just type ls -al and make sure that the .data folder exists within the folder you're in.

    • @inyo300
      @inyo300 2 года назад

      I'm a pretty late, but I wanted to add to this to help future people figure out this problem for themselves. I'm using bash, and for me personally, only changing ownership was necessary . When django automatically creates the ./data/web/ path, the permission types for these directories were the same as all the other directories in the project folder, which for me is 755 (that's rwxr-xr-x for those unacquainted). You can check by "typing ls -al" from the project's root directory. The real problem is that the /data/web directories are given "root" permissions instead of user permissions (if so, it will be indicated by "root root" in the list instead of "[user] [user]" like eveything else.
      So I believe simply starting from the root folder and running "sudo chown -R [user]:[user] data/" (and only this) like in Oliver's post would be all that's necessary for most people, unless they have more restrictive permission types set up for their project directory. If the latter is the case, subsequently running "sudo chmod -R 775 /data" from the project's root directory will suffice.
      If security isn't a concern, you can just use Ragav Y's version of the chmod command in the original message to nuke it from orbit. I just wanted to add that the core issue is likely the owner of the directories, not the permission types, but your mileage may vary.

  • @enricosaccheggiani3192
    @enricosaccheggiani3192 3 года назад +3

    Thanks a lot. What i was waiting for

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 года назад +1

      Great! Let me know what you think.

    • @enricosaccheggiani3192
      @enricosaccheggiani3192 3 года назад +1

      @@LondonAppDeveloper thanks a lot in advance for this video. I have a complete django project to deploy with a e-commerce, models, and many IOt features . I have tried in many time to deploy but didn't work or worked only launching a runserver into a instance now i am following your tutorial to see whether it works on aws . Thanks for your interesting videos. All the best regards

  • @antoniomontero3987
    @antoniomontero3987 3 года назад

    Yo Mark! I purchased your advanced Django course on Udemy a couple of years ago and it's the best damn course on the subject. Perhaps the only thing missing was how to deploy the project to AWS using Docker containers, so thanks for this video! Keep up the good work, my dude.

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 года назад

      Hey Antonio, thanks so much, really appreciate that. I'll keep your feedback in mind and hope to create content on it soon!

    • @sandeeps808
      @sandeeps808 2 года назад

      @@LondonAppDeveloper can i have the link to your udemy course?

  • @warshipwarriors
    @warshipwarriors Год назад

    Awesome tutorial. So many concepts clarified

  • @fernandosalazar5800
    @fernandosalazar5800 3 года назад

    i never write youtube comments but this tutorial was amazing. thank you

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 года назад +1

      Thanks mate so happy to hear that.

    • @fernandosalazar5800
      @fernandosalazar5800 3 года назад

      @@LondonAppDeveloper im trying to connect my react app to my EC2 instance but it fails to connect over HTTPS. It works perfectly fine over HTTP. Have been looking for solutions but failed miserably. Im not sure if the docker setup is the issue or not. Any recommendations on where to look?

  • @jeremyptlt
    @jeremyptlt 3 года назад +1

    This tutorial is amazing, thank you for the content!

  • @pcslpaul
    @pcslpaul 3 года назад

    I’ve mashed the subscribe and like buttons! An excellent tutorial - I’ve been wondering about this topic for a while. I’ve learnt an enormous amount. If I get stuck with it I’ll either be doing the full course or contacting you direct for some consulting. Great work, thank you 👍

  • @vinchuli8737
    @vinchuli8737 2 года назад

    Thank you so much for such a wonderful explanation. Best tutorial

  • @ndifrekeumoren3548
    @ndifrekeumoren3548 3 года назад

    Thanks for this wonderful tutorial. I took your course on Django API using docker Udemy, lovely course, but it could use an update. Thanks once again

    • @isaackmata7235
      @isaackmata7235 2 года назад

      How do you apply for that course brother

    • @isaackmata7235
      @isaackmata7235 2 года назад

      How do you apply for that course brother

  • @weeiwaai3517
    @weeiwaai3517 3 года назад

    Thank you for the detailed tutorial :) it helped!

  • @stevemulcahy5014
    @stevemulcahy5014 Год назад

    This is a great tutorial, so I definitely liked and subscribed. I'm not a fan of the deployment method (github actions would be nicer), but the way you configured docker for local django development and introducing env variables seems to be the best way I've seen, and I think the nginx container handling static is has its advantages over S3 for smaller sites. But that's the beauty of tutorials, you don't have to adopt everything exactly the same.
    I do have a couple of questions more down to Django development though:
    What I envision with Django for CMS kind of sites is that I want to develop a starting point with my core app locally, but have it so my pages (like "about" and "contact us" kind of pages) are built out without hard coding content, so I'd have a model in the core app called Page. The problem this introduces though is that a database migration won't populate the content from dev to prod. So I'd need a deployment step that backs up the local db and restores it to the prod db.
    Is this an approach you'd take, or would you try to leave database stored content as something that shouldn't be in each environment?
    My other question is down to the wait_for_db command. Is there a reason this is in an app rather than the actual project folder where the settings.py file is located?

  • @RuslanSkiraUkraine
    @RuslanSkiraUkraine 3 года назад +2

    Great tutorial thanks.
    I have a few questions/Notes.
    1. If you use -volumes: ./app:/app Why do you create a directory 'app' and then name your project 'app' and put it inside 'app' directory ? It is so confusing.
    2. where is /py/bin/ directory? inside docker container. It is the default in the 3.9-alphine3.14 image?
    3. I'm using pipenv and do not understand about the PATH env variable. for what you need to change PATH = ...
    4. 59:52 need to add ALLOWED_HOSTS = ["0.0.0.0"]
    5. 1:14:10 PermissionError: [Errno 13] Permission denied: '/vol/web/media' . Answer: need to have permissons on all your local files.
    2:00:00
    db_1 | Error: Database is uninitialized and superuser password is not specified.
    app_1 | Database unavailable, wait 1 second...
    I'm stuck
    on this mistake
    ERROR: unable to select packages:
    postgresql-clien (no such package):
    required by: world[postgresql-clien]
    ERROR: Service 'app' failed to build :
    I was trying to use pipenv
    RUN python -m venv /py && \
    /py/bin/pip install --upgrade pip && \
    /py/bin/pip install pipenv && \
    apk add --update --no-cache postgresql-clien && \
    apk add --update --no-cache --virtual .tmp-deps \
    build-base postgresql-dev musl-dev linux-headers && \
    pipenv shell && \
    apk del .tmp-deps && \
    adduser --disabled-password --no-create-home app && \
    mkdir -p /vol/web/static && \
    mkdir -p /vol/web/media && \
    chown -R app:app /vol && \
    chmod -R 755 /vol && \
    chmod -R +x /scripts
    if occurs problems with pipenv and psql
    pipenv install psycopg2-binary
    After 2 weeks tryings I think I will try to deploy on DigatalOcean. Because I think for new one it is hard.

    • @Shellantar
      @Shellantar 3 года назад +1

      postgresql-client, not clien

    • @hemantbhatta1821
      @hemantbhatta1821 3 года назад

      @Pelin Mutanguha Yes I am getting also same error, if you got any solutions please post here.

    • @humanzeeing
      @humanzeeing 3 года назад

      Hey, for the permissions error, what do you mean by "need to have permissons on all your local files. ". It would be nice if you could offer specific steps on how to achieve that.

    • @humanzeeing
      @humanzeeing 3 года назад +5

      If anyone is facing the PermissionError: [Errno 13] Permission denied: '/vol/web/media' issue, here's the fix:-
      TLDR fix - enter this command in the terminal from inside the root folder - "sudo chmod -R a+rwx ./data"
      Explanation - So, in the docker-compose.yml, because we added ./data/web:/vol/web, under volumes, when we upload a file, it uses the same app user specified in the Dockerfile to write the uploaded file to the ./data folder. So making the /data folder writable fixes the issue

    • @shanepolo4442
      @shanepolo4442 3 года назад +1

      @@humanzeeing Thanks Raga! That helped me a lot.

  • @dtox316
    @dtox316 14 дней назад

    brilliant tutorial. thank you for this video

  • @neetesshhr
    @neetesshhr 3 года назад +2

    db_1 | 2022-01-20 10:09:47.641 UTC [67] DETAIL: Password does not match for user "approotuser".
    db_1 | Connection matched pg_hba.conf line 99: "host all all all md5"
    db_1 | 2022-01-20 10:09:48.645 UTC [68] FATAL: password authentication failed for user "approotuser"
    db_1 | 2022-01-20 10:09:48.645 UTC [68] DETAIL: Password does not match for user "

    • @vicheanath9412
      @vicheanath9412 2 года назад

      I got the same issue i think docker-compose can't read .env file but i don't know how to fixed it.

  • @MehfoozAli-yk8xr
    @MehfoozAli-yk8xr 19 часов назад

    Thank you for such a nice video.

  • @auwalyahaya1938
    @auwalyahaya1938 2 года назад +1

    thank You very much for the class but I ran into a problem when running docker-compose build and here is response i got
    Error while fetching server API version: (2, 'CreateFile', 'The system cannot find the file specified.')
    [9676] Failed to execute script docker-compose

  • @mediatwinkleTV
    @mediatwinkleTV 3 года назад

    This is what I'm talking about ! Thank you sir !

  • @giundattimban
    @giundattimban 3 года назад +1

    could you help to make an example how to add SSL certs to nginx django uwsgi deploy with docker. thankyou so much

  • @vinchuli8737
    @vinchuli8737 2 года назад

    I LOVED IT YOU SAVED ME A WEEK

  • @florasblancas9921
    @florasblancas9921 3 года назад +1

    Thank you for great tutorial!!

  • @reabstractor
    @reabstractor 2 года назад

    Totally fantastic video!!! Lot of thanks!

  • @humanzeeing
    @humanzeeing 3 года назад +1

    I'm trying to deploy this to Heroku and I am stuck on this - Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
    I know I'm supposed to get the port it's served on using an ENV variable that Heroku randomly assigns it, but my understanding of Nginx and docker isn't sufficient enough for me to figure out where to change what. Does anyone have experience with this?

  • @Deeredman4
    @Deeredman4 3 года назад +2

    Can't figure out where to put css and js files... I know it has something to do with vol/web/static but I'm pretty stuck...

  • @kayakwinana2133
    @kayakwinana2133 2 года назад +1

    Very good tutorial! Hope you still take questions. I have only one issue confusing me and this relates to line 23 of the Dockerfile - the app:app. I assume the 2nd app is the added user. What does the first app refer to?

  • @dailypandas
    @dailypandas 2 месяца назад

    This was very helpful!

  • @aleksandarpetrovic2632
    @aleksandarpetrovic2632 3 года назад

    Tnx man for this amazing tutorial

  • @alessandroscimone5463
    @alessandroscimone5463 3 года назад

    absolutely fantastic!! and I'm only at minute 43 !!!! gooooo

  • @alvaropicatoste2546
    @alvaropicatoste2546 3 года назад

    Great tutorial. Thanks for sharing.

  • @TheDragon573
    @TheDragon573 2 года назад

    Brilliant tutorial! Thank you!

  • @bluzenkk
    @bluzenkk 6 месяцев назад

    HI + SOS,
    i'm watching+learning this video in year 2024. I wonder if the workflow has change since then.

  • @ayencoscolfield3312
    @ayencoscolfield3312 Год назад

    Thanks man this was really nice👍

  • @matthewcorbett8637
    @matthewcorbett8637 2 года назад

    Thank you thank you thank you !!!!! This has been great fun ! Had some trouble with the MEDIA_ROOT needing to be 'vol...' and not '/vol...' but aside from that smooth sailing :) Now I can make my best friend a webapp for Xmas !!

    • @LondonAppDeveloper
      @LondonAppDeveloper  2 года назад

      Great to hear! Hope your friend enjoys their Christmas web app.

  • @shaikbyte
    @shaikbyte 3 года назад +3

    Hey London App Developer. one day i will meet you in London

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 года назад +1

      Yeah that would be cool! I'm living on Isle of Dogs right now :D

  • @Иван-д6ф6с
    @Иван-д6ф6с 7 месяцев назад

    Hi. Why do we need volume 'static-data' in app container (django app) when all of the media requests are served through NGINX? Thanks

  • @onyilimba
    @onyilimba Год назад

    Will there be any need for the wait_for_db command if postgresql is defined before the app service? I don't really know docker but from the outputs it seems to run from top to bottom.

  • @JoeFrixon
    @JoeFrixon 3 года назад +1

    This tutorial is awesome,

  • @isaachatilima
    @isaachatilima Год назад

    I am stuck making migrations. I have a Mac and use PostgreSQL. I want to use my local machine database, not a Docker image. I cannot connect to that DB. Any help?

  • @webdevsumit8311
    @webdevsumit8311 3 года назад +1

    One of the best Video....

  • @SachinGupta-dn7wt
    @SachinGupta-dn7wt 3 года назад +1

    Please make a similar video by using Daphne, ASGI & Nginx

  • @danmbalyo8685
    @danmbalyo8685 2 года назад

    Hello Mark, thank you for this great course it is short and precise. I would like to request if you have a specific course on handling static files. I will greatly appreciate it.

  • @devonpelletier
    @devonpelletier 2 года назад

    Thanks

    • @LondonAppDeveloper
      @LondonAppDeveloper  2 года назад

      Hey Devon, thanks so much, really appreciate the super thanks! :D

  • @webdevsumit8311
    @webdevsumit8311 3 года назад +1

    Now, How can we set ssl certificate to that

  • @lumsism
    @lumsism 3 года назад +3

    Thank you very much for this tutorial Mark. I suffered for more than 48 hours trying to solve the permission denied error. I had to add the line ```chown -R user:user /app``` to my Dockerfile to get rid of the error and finally fully deploy my app. I am trying to integrate SSL certificate i will report back on how it goes

    • @alexis3170
      @alexis3170 3 года назад

      Using similar setup as video, also trying to figure the SSL certificates out. any updates on that? cheers.

  • @himansrivastava
    @himansrivastava 3 года назад

    Amazing tutorial!

  • @proyectolibronube6732
    @proyectolibronube6732 Год назад

    Thanks just suscribed!. Do you always lose the data in database when deploying? how can I make it so that i dont. Just starting and i will like to dockerize a project that is already deployed.

  • @brunoresendesantos45
    @brunoresendesantos45 3 года назад +1

    Great tutorial.
    Could you point me how to enable SSL using this setup with Ngix?

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 года назад +3

      Great question. I'm going to make another tutorial about SSL. The way to do it is like this:
      1) Procure SSL certificates,
      2) Update NGINX config to add SSL support,
      3) Update the Docker Compose config and security groups to allow access via port 443,
      4) Add a volume to the NGINX service which maps the server directory containing the SSL certs to the directory NGINX is configured to find them.
      It would also be possible to use Let's encrypt by adding another service to the deployment docker compose which runs the agent that updates the certs. I expect this would involve mapping a volume for the certs and a volume for the refresh keys that I believe needs to be served via NGINX. I need to spend some time figuring it out myself before I create a guide on it :)

    • @brunoresendesantos45
      @brunoresendesantos45 3 года назад +1

      @@LondonAppDeveloper Thank you so much for taking the time to answer. I will give the first option a try. You have no idea how much value you are offering to the community!

    • @near5090
      @near5090 2 года назад

      hi were you be able to add ssl to this setup? and how you did it if yes?

  • @setiawankarnata4693
    @setiawankarnata4693 3 года назад +1

    Hi Mark. Excellent videos tutorial. I tried following every step in your video but unfortunately i met error when i run command : docker-compose run --rm app sh -c "django-admin startproject app ." sh: django-admin: not found (Error : 127) I stop the tutorial since i have this issue. Please advise. Thank you.

  • @Max-s6x
    @Max-s6x 2 года назад

    Thanks a lot for the lessons! you have the best content! I have a question, did we write the “migrate” command in the script, and in the case of development, do we have to execute the “makemigrations” command manually? Or can this one be automated as well? for example to register in “Dickerfile”?

  • @talha_anwar
    @talha_anwar 3 года назад

    thanks. can you please do ssl par?

  • @MiRaje8086
    @MiRaje8086 3 года назад

    Thanks a lot for this, going to watch through it all and follow along this weekend

  • @fredriksundberg6105
    @fredriksundberg6105 3 года назад

    This would be even more enlighting when having a Frontend (react etc), Backend (django), DB (Postgres etc) and Proxy (Nginx).

    • @sariyanta
      @sariyanta 3 года назад

      If I remember correctly, there is a video about setting this all up (except Frontend) in this channel.

    • @bashali6958
      @bashali6958 3 года назад

      ruclips.net/channel/UC3RtgbslbAvE-5FFBkSgpig I second that. Perhaps Angular frontend that uses the same docker-compose to make it more interesting.

    • @ironrose6
      @ironrose6 Год назад

      @@sariyanta This is that exact video. The other guy wanted mainly a frontend in addition to the other stuff already taught in this video.

  • @pkumarpl
    @pkumarpl 2 года назад

    Hi, very nice tutorial indeed. I have question regarding applying SSL Certificate on Nginx and expose to port 443. Do you have any working example?

  • @nooribrahim4012
    @nooribrahim4012 3 года назад

    Hi Mark! Please let me know how to do port mapping in order to scale up this website. You just worked on admin url, anything other url doesn’t work. It say thay “Not found”.

  • @nooribrahim4012
    @nooribrahim4012 3 года назад

    Hello! You didn’t tell how to resolve the issue of Not found, that happened almost in the end of video. please let me know that how to do port mapping in docker-compose-deploy.yml, only admin endpoint is working. i want to extend this website by adding more different thing. please reply and help me with it

  • @hemantbhatta1821
    @hemantbhatta1821 3 года назад +1

    How can I solve this error? After giving permission to the vol why its giving error?
    PermissionError: [Errno 13] Permission denied: '/vol/web/media'.
    I have followed your video as well as blog.

    • @humanzeeing
      @humanzeeing 3 года назад

      I'm having the same issue. :(

    • @humanzeeing
      @humanzeeing 3 года назад +1

      If anyone is facing the PermissionError: [Errno 13] Permission denied: '/vol/web/media' issue, here's the fix:-
      TLDR fix - enter this command in the terminal from inside the root folder - "sudo chmod -R a+rwx ./data"
      Explanation - So, in the docker-compose.yml, because we added ./data/web:/vol/web, under volumes, when we upload a file, it uses the same app user specified in the Dockerfile to write the uploaded file to the ./data folder. So making the /data folder writable fixes the issue

  • @jr_py_dev
    @jr_py_dev 3 года назад

    man this tuto is awesome, i wish u could mention how to change the config files to connect with an aws rds db instead of a dockerized one!

  • @DEEPESHSINGH10
    @DEEPESHSINGH10 2 года назад

    How can I add cron jobs in this docker? before docker I used Django-crontab

  • @اناهنا-ب3و
    @اناهنا-ب3و Год назад

    Would you please do all this again but using latest version of Django 4. Thanks

    • @LondonAppDeveloper
      @LondonAppDeveloper  4 месяца назад

      The steps are pretty much the same whether you do it with Django 4 or 5 now. The focus of this video is the Docker part.

  • @robertkhakimov3262
    @robertkhakimov3262 3 года назад +2

    Awesome tutorial, I've watched it till the end and everything worked.
    But when I came back to this project after a week and tried to launch it didn't connect me to the website and throw err_connection_timed_out error in browser.
    I've checked and replaced host address with new one which was provided by ec2 (after relaunching instance). What could be wrong?

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 года назад +2

      Hey mate, could be that the ALLOWED_HOSTS needs to be changed? I didn't think it would re-assign a hostname after re-launch though.

    • @robertkhakimov3262
      @robertkhakimov3262 3 года назад +1

      ​@@LondonAppDeveloper Thanks for the answer but I've already changed the ALLOWED_HOSTS variable via "vi .env", moreover I tried to use Elastic IP adress to keep IP adress during sessions but that didn't work. I've also tried to create another instance and deploy project there but still the same result... After a while there were some queries in the console but all of them were with "HTTP 400" and they weren't connected with my attempts to reach the website. I've spent a day and a half to find information but there was none.

    • @RuslanSkiraUkraine
      @RuslanSkiraUkraine 3 года назад +1

      @@robertkhakimov3262 any updates?
      I stuck on the same one. Locally, project is working. Bu on ES2 not.

    • @robertkhakimov3262
      @robertkhakimov3262 3 года назад +2

      ​@@RuslanSkiraUkraine , I've solved it in a bit odd way. So when you open your ec2 instance in browser you can see the Public IPv4 address and Public IPv4 DNS with buttons "open address". I've always tried to open my website via these buttons but never succeeded (err_connection_timed_out). But then I just copied and pasted IPv4 and all of a sudden everything worked as usual. I think it's because when you press the button it opens website using https protocol but if you copy and paste the actual ip it will be opened with http. Hope this helps.

    • @RuslanSkiraUkraine
      @RuslanSkiraUkraine 3 года назад

      @@robertkhakimov3262 Thank you for the fast response. I was trying it. It doesn't help me.

  • @edwardmaya3275
    @edwardmaya3275 3 года назад

    Can you tell about how to handle the "502 Bad Gateway nginx" error. server runs on a digital ocean droplet. I tried to access the server via droplets public ip

  • @SugarrayCN24
    @SugarrayCN24 Год назад

    thanks for this! I am trying to get streaming request working but couldn't get it working (I tried using proxy_buffering off; in nginx conf). Could you show us how to tweak this to allow streaming request?

  • @jaecheokkim99
    @jaecheokkim99 6 месяцев назад

    really helpful thank you!

  • @njirainidouglas
    @njirainidouglas Год назад

    i am getting an error PermissionError: [Errno 13] Permission denied: '/vol/web/static/admin'
    when doing collect static please help

  • @mahmoudamr1794
    @mahmoudamr1794 Год назад

    why do need to build postgres-client? i just put the pyscog-binary in requirements.txt?

    • @LondonAppDeveloper
      @LondonAppDeveloper  Год назад

      psycopg2-binrary is not recommended for production as mentioned on their pip page: pypi.org/project/psycopg2-binary/ "The binary package is a practical choice for development and testing but in production it is advised to use the package built from sources.".
      If you need to install it directly for dev only then it's fine, but my philosophy is to use Docker to match both local dev/prod as closely as possible.

  • @elizabethramirez4133
    @elizabethramirez4133 3 года назад

    I am having trouble doing the docker compose build, because I have pandas on the requirements, do you happen to know how to solve it? I have been trying to solve it for the whole week and I can't find any solutions. Thank you!

  • @KrishnaManohar8021
    @KrishnaManohar8021 3 года назад +2

    Please make micro services with Django

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 года назад +2

      Sure I'll keep this in mind when planning future content.

    • @KrishnaManohar8021
      @KrishnaManohar8021 3 года назад +1

      @@LondonAppDeveloper there is no single course regarding this topic. If you push asap it really helps for me & other tooo

  • @ThukuWakogi
    @ThukuWakogi 3 года назад

    For some reason, the wait_for_db command is stuck in a loop even after postgres is available

  • @davidprokes840
    @davidprokes840 2 года назад

    Hi, first of all thank you for this great video! Second, I have a question regarding named volumes. static-data volume is populated by the app service, then this volume is used by the proxy service. Is the volume sourced by the app service and not by the proxy because the proxy depends on the app?

    • @LondonAppDeveloper
      @LondonAppDeveloper  2 года назад

      The volume is not necessarily sourced by either container. The volume is the volume, and it's shared with the two containers that need the data. Apologies if I misunderstood the question.

  • @nidhinp353
    @nidhinp353 2 года назад

    this is a gem

  • @bwenjesteven7988
    @bwenjesteven7988 2 года назад +1

    Hello London App developer, I have an issue whenever I run the command "docker-compose -f docker-compose-deploy.yml up" I run into th django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please suppl
    y the NAME or OPTIONS['service'] value." Any help rendered I will be so appreciative

  • @canht95
    @canht95 3 года назад

    I had to set the owner of the /data to the UUID of the docker user during debugging manually to proceed. Did I skip a crucial step?

    • @LondonAppDeveloper
      @LondonAppDeveloper  3 года назад

      Hmm weird... Are you using Linux? Or running Docker using sudo?

    • @canht95
      @canht95 3 года назад

      @@LondonAppDeveloper yes, I am on Linux. Forgot to mention that my apologies

  • @devendrasahu3470
    @devendrasahu3470 2 года назад

    can you please help me to fix this issue :-
    PermissionError at /admin/core/sample/add/
    [Errno 13] Permission denied: '/vol/web/media'

  • @apythonprogrammer7877
    @apythonprogrammer7877 2 года назад

    Why do you recommend using alpine for python? I had so much trouble getting it set up and running correctly with the latest versions of Django and python (4.0.2 and 3.10.2, respectively) that I decided to build without it and it went so much more smoothly, albeit at a larger total size (1.3gb total)

    • @KelDG3
      @KelDG3 2 года назад

      AFAIK it's mainly because it's smaller

  • @liorbm1
    @liorbm1 3 года назад

    Why not using elastic beanstalk ?

  • @ZactarZero
    @ZactarZero 2 года назад

    how do you update the migrations in the db?

  • @martrom0
    @martrom0 Год назад

    Excellent ! Thanks a lot !

  • @Frozienas
    @Frozienas 3 года назад

    Hello! Does DRF deployment have the same steps as this one?