반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- react
- TensorFlow
- build
- 오블완
- ReactNative
- PYTHON
- Android
- 티스토리챌린지
- centos
- 맥
- 리눅스
- VirtualBox
- linux
- fastapi
- MachineLearning
- androidstudio
- webpack
- 네트워크
- Chrome
- vsCode
- 개발
- IOS
- unittest
- pydantic
- xcode
- 센토스
- localserver
- node
- MAC
Archives
- Today
- Total
로메오의 블로그
Synology NAS에 python flask 웹서버 구축 본문
반응형
SSH활성화


ssh 접속
$ ssh romeoh@192.168.0.XX

Docker 설치




로컬에 파일 생성
$ mkdir flask-app
$ cd flask-app
$ touch app.py
$ touch requirements.txt
$ touch Dockerfile
app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello NAS!"
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
requirements.txt
flask
Dockerfile
FROM python:3.10-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["python", "app.py"]

파일을 Synology에 업로드 합니다.
Docker 실행
$ sudo docker build -t flask-app .
$ sudo docker run -d -p 8888:5000 --name flask-test flask-app
# static 폴더 제외하기
$ sudo docker run -d \
--name flask-app \
--link mongo \
-v /volume3/docker/flask-app/static:/app/static \
-p 8888:5001 \
flask-app
# container 제거
$ sudo docker ps
$ sudo docker stop flask-test
$ sudo docker rm flask-test



http://192.168.0.16:8888/
접속합니다.
git 서버 구축하기

git 초기화
$ git init


서버에서 커밋하기
# 외부 push 허용
$ git config receive.denyCurrentBranch updateInstead
$ git config user.name "romeoh"
$ git config user.email "romeoh@naver.com"
$ git add .
$ git commit -m "initial commit"

git clone
local에 생성했던 flask-app 폴더는 삭제합니다.
$ cd PROJECT_FOLDER
$ git clone ssh://romeoh@192.168.0.16:/volume3/docker/flask-app


MongoDB설치
$ cd docker
$ mkdir mongodb
$ cd mongodb
$ mkdir data
$ sudo chmod -R 777 /volume3/docker/mongodb/data
$ sudo docker run -d \
--name mongo \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=secret123 \
-v /volume3/docker/mongodb/data:/data/db \
mongo:4.4
$ sudo docker ps

docker 명령어
# 현재 docker 컨테이너 확인
$ sudo docker ps -a
# 콘테이너 정지
$ sudo docker rm mongo
# 콘테이너 로그 확인
$ sudo docker logs mongo
# 콘테이너 내부 진입
$ docker exec -it mongo bash
local에서 flask 서버 구동
가상공간 만들기
$ python3 --version
Python 3.11.2
$ python3 -m venv venv
$ source venv/bin/activate
(venv) romeoh@romeoh-MacBook-Pro flask-app %
(venv) $ pip install -r requirements.txt
(venv) $ python app.py

http://127.0.0.1:5001/
local server 접속
flask에서 mongodb 접속
$ pip install pymongo
$ pip freeze > requirements.txt
반응형
'Backend > Python & Blockchain' 카테고리의 다른 글
| python 가상환경 설정 (4) | 2025.07.27 |
|---|---|
| TensorFlow 사진 분류기 (7) | 2025.07.26 |
| FastAPI 서버 구축 (0) | 2025.05.19 |
| Python3 SSL: CERTIFICATE_VERIFY_FAILED 해결하기 - Mac (0) | 2024.02.02 |
| [Python] requests (0) | 2022.11.17 |
Comments