dduk-ddak / coding-night-live

Web-based Communication Application for Codelabs
Other
62 stars 11 forks source link

PostgreSQL dockerized. #94

Closed minhoryang closed 7 years ago

minhoryang commented 7 years ago

각 커밋에 커멘트를 달아놨으니 리뷰해주세요. 감사합니다!

minhoryang commented 7 years ago

해당하는 문서는 dduk-ddak/coding-night-live-doc#2 에 업데이트 해놓았습니다!

punkyoon commented 7 years ago

make docker_prepare를 하는 과정에서 OAuth 관련을 설정을 하게 되는데..

python manage.py migrate를 한 후에 make resize를 해주고 나서.. OAuth 관련 설정을 해줘야 할 것 같습니다.

allauth에서 제공하는 Server Domain Field가 postgresql에서 너무 작은 사이즈로 잡혀서 coding-night-live.koreacentral.cloudapp.azure.com와 같은 서버 도메인을 적어주면 도메인 이름이 너무 길어서 오류가 발생해버려요...!

minhoryang commented 7 years ago

앗 그러면 저 make resize를 make docker_resize로 만들어서 docker step에 넣을까요?

punkyoon commented 7 years ago

@minhoryang 네! 그래야할 것 같습니다! 사실 allauth쪽에서 도메인 필드 길이를 더 길게 설정해줬으면 이럴일이 없지만... 아무래도 남의 라이브러리를 가져오려다보니 이렇게 직접 설정해야하네요ㅠ

minhoryang commented 7 years ago

@punkyoon Postgres의 docker container안에서는 0.0.0.0으로 열려있어요! 각기 다른 ip를 가지는 docker containers(worker/daphne등) 들이 postgres에 접속하기 위해서 필요하거든요.

대신 docker containers끼리는 같은 'back' network를 공유하면서, 외부(localhost부터 진짜외부인0.0.0.0까지)에는 postgres포트를 공개하지 않을 수 있어요. https://github.com/dduk-ddak/coding-night-live/pull/94/files#diff-eb672b1ddd3aa7dae5f2577f38daa271R29 이 파일에서 "# for SANDBOX" 라고 되어있는 줄들이 다 그런 포트들이에요. 개발시에는 사용하면 좋지만, 출시(production환경)에서는 노출하면 안되는 포트들이고, 해당 줄을 commenting시켜버리면 바로 저희는 접근할 수 없어요. (문서에도 비슷하게 적어놓았는데 조금 확충할까요?)

(+ Thu Apr 13 21:01:27 KST 2017 AWS에서의 Security Group이나 Azure에서의 NSG에서 해당 포트를 노출하지 않으셨다면, Sandbox상태로도 걱정없이 쓰실 수 있습니다. )

minhoryang commented 7 years ago

@punkyoon 이제 make docker_prepare로 긴 domain을 입력할 수 있습니다! 테스트해주세요!

minhoryang commented 7 years ago

(현재 nginx/docker_nginx.conf 설정에 따르면 localhost로는 접속이 안되네요 ㅠㅠ 알고있으셨나요? Domain 으로는 잘 됩니다만..)

juice500ml commented 7 years ago
minhoryang commented 7 years ago

@juice500ml https://github.com/dduk-ddak/coding-night-live-doc/pull/4/files

punkyoon commented 7 years ago

@minhoryang 네 nginx/docker_nginx.conf로는 localhost로 실행되지 않는 부분을 알고 있었습니다.

아마 docker가 아닌 makefile을 이용하면 localhost에서도 동작할 수 있던 걸로 알고있어요!

punkyoon commented 7 years ago

@juice500ml

d22ca1fa7b34e154b8a3301c9bb11e3875e0edec

postgres timezone을 설정하던 명령인

ALTER ROLE $POSTGRES_USER SET timezone TO 'UTC-9';은 입력하지 않아도 되는 것으로 확인 되었습니다.

(django settings.py의 timezone을 따르기 때문)