ROLL IT!
ํฐ ์ข
์ด ํํธ์ ๋น์ ์ ๋ง์์ ์ ๋ฌํด๋ณด์ธ์
URL: www.rollit5.link
Medium: Medium
์์ธํ ๋ณด๊ธฐ(์ฌ๊ธฐ๋ฅผ ๋๋ฌ์ฃผ์ธ์)
Main | Register & Login |
---|---|
์์ํ๋ฉด ํ์ด์ง ์ ๋๋ค. | ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ ๋๋ค์์ ํตํด ํ์๊ฐ์ ์ ์งํํ๊ณ ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค. |
Add Photo | Add Photo (with filter) |
---|---|
์ฌ์ง์ ์ ํํ๊ณ ์์น์ ํฌ๊ธฐ ๊ฐ๋๋ฅผ ์ ์ฅํฉ๋๋ค. | ํํฐ๋ฅผ ์ ํ ์ฌ์ง์ ์ ํํ๊ณ ์์น์ ํฌ๊ธฐ ๊ฐ๋๋ฅผ ์ ์ฅํฉ๋๋ค. |
Grafana + Prometheus, ELK
Django | Node exporter |
---|---|
cAdvisor | ELK |
---|---|
NAME | Port | Description |
---|---|---|
Nginx | 80 | ๊ฐ๋ฒผ์๊ณผ ๋์ ์ฑ๋ฅ์ ๋ชฉํ๋ก ํ๋ ์น์๋ฒ๋ก ์๋ฒ๋ก์์ ์ญํ๊ณผ ํ๋ก์๋ก์์ ์ญํ ์ ์ํํฉ๋๋ค |
React(on Nginx) | 80 | ์ฌ์ฉ์๋ค์ด ๋ฉ๋ชจ, ์ฌ์ง, ์คํฐ์ปค๋ฅผ ์ ์ฅํ๊ณ ์๋ฒ๋ก๋ถํฐ ์ฌ์ฉ์๋ค์ด ์ ์ฅํ ๋ฉ๋ชจ, ์ฌ์ง, ์คํฐ์ปค๋ฅผ ๊ฐ์ ธ์ ๋ณด์ฌ์ฃผ๋ ์ญํ ์ ํฉ๋๋ค |
Django + Gunicorn | 8080 | Rollit์ ์๋ฒ, ๋ชจ๋ ๋ด์ฉ์ ์ค์ฌ์ ์์นํ๋ฉฐ, Database์์ ์ํต์ ๋ด๋นํฉ๋๋ค. |
Mysql | 3307 | Database |
RabbitMQ | 5672 | ์์ฒญ์ ๋ํ ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธธ ๋ ์ฌ์ฉํฉ๋๋ค. openCV๋ก ์ฌ์ง์ ๋ณํํ๋ ๊ณผ์ ์ด ๊ธธ์ด ์ฌ์ฉํ์ต๋๋ค. |
Celery | - | ๋น๋๊ธฐ ์์ ์ ์ํด ์ฌ์ฉํฉ๋๋ค. ๋ถ์ฐ ๋ฉ์์ง ์ ๋ฌ์ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ ๋น๋๊ธฐ ์์ ํ ์ ๋๋ค. |
Grafana | 3001 | Django, cAdvisor, Prometheus, NodeExporter๋ฅผ ํตํด ์ ๋ฌ๋ฐ์ ์๊ฐ๋ณ ๋ฉํธ๋ฆญ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํ ํ์ฌ ๋์๋ณด๋๋ก ์ ๊ณตํด ์ค๋๋ค |
cAdvisor | 8081 | ์ฌ์ฉ์ค์ธ ๋์ปค ์ปจํ ์ด๋์ ๋ฆฌ์์ค ์ฌ์ฉ๋์ ์ธก์ ํ์ฌ ์๊ณ์ด ๋ฉํธ๋ฆญ์ ๋ฐ์ดํฐํํฉ๋๋ค. |
Prometheus | 9090 | Django์ ๋ฉํธ๋ฆญ ๋ฐ์ดํฐ์ cAdvisor, NodeExporter์ ์๊ณ์ด ๋ฉํธ๋ฆญ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ฌ ์์คํ ๋ชจ๋ํฐ๋ง์ ํฉ๋๋ค |
Node Exporter | 9100 | ์๋ฒ์ cpu, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ, ๋คํธ์ํฌ ์ฌ์ฉ๋๋ฑ ํธ์คํธ ๊ณผ๋ จ ๋ฉํธ๋ฆญ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ฌ api๋ก ๋ ธ์ถ์ํต๋๋ค. |
Filebeat | - | Nginx์ ๋ก๊ทธํ์ผ์ Filebeat๋ก ์์งํฉ๋๋ค. |
Logstash | 5044, 9600, 50000 | Filebeat๊ฐ ์์งํ ๋ก๊ทธ๋ฅผ Logstash์ ์ ๋ฌํฉ๋๋ค. |
Elasticsearch | 9200, 9300 | Logstash๋ก๋ถํฐ ์ ๋ฌ ๋ฐ์ ๋ก๊ทธ๋ฅผ Elasticsearch์ ์ ์ฅํฉ๋๋ค. |
Kibana | 5061 | Elasticsearch์ ์ ์ฅ๋ ๋ก๊ทธ๋ฅผ Kibana๋ฅผ ํตํด ๋ถ์ํฉ๋๋ค. |
$ git clone --recursive https://github.com/SVTeamK-ROLLIT/docker.git
$ cd fronted
$ yarn
- backend/backend/.env
SECRET_KEY={DJANGO_SECERT_KEY}
DEBUG=TRUE
DATABASE_URL={DATABASE_URL}
AWS_ACCESS_KEY_ID={AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY={AWS_SECRET_ACCESS_KEY}
AWS_REGION={AWS_REGION}
BUCKET_NAME={BUCKET_NAME}
EMAIL_ADDR={EMAIL_ADDR}
EMAIL_PASSWORD={EMAIL_PASSWORD}
- backend/db/db.env
MYSQL_DATABASE={DATABASE_NAME}
MYSQL_ROOT_USER={DATABASE_USER}
MYSQL_ROOT_PASSWORD={DATABASE_PASSWORD}
- frontend/.env
REACT_APP_BACKEND_URL={BACKEND_URL}
$docker compose -f docker-compose.prod.yaml -f docker-compose.elk.yaml up --build
5๋ช ์ Kํ์ด ๋ชจ์๋ค๋ ๋ป์ ๋๋ค.
Name | ์ ์คํธ | ๊น๋ฏผ์ | ๊น์์ | ๋ผ์์ง | ์ด์คํฌ |
---|---|---|---|---|---|
Profile | |||||
role | Team Leader Frontend, Backend, DevOps |
Frontend, UI/UX , DevOps |
Backend , DevOps |
Bakcend , DevOps |
Frontend, UI/UX |
GitHub | @yunhobb | @minseok1015 | @Doncham | @Haaein | @junvhui |