Deployment using Docker

This commit is contained in:
gabrielkheisa 2024-04-14 14:39:20 +07:00
parent 1410f1c3d8
commit 43e540d7b0
3 changed files with 44 additions and 2 deletions

28
Dockerfile Normal file
View File

@ -0,0 +1,28 @@
# Use the official Selenium standalone Chrome image as base
FROM selenium/standalone-chrome:112.0.5615.165-chromedriver-112.0.5615.49
ENV DEBIAN_FRONTEND=noninteractive
# Update package lists
RUN sudo apt-get update
# Install Python 3.6 and pip
RUN sudo apt-get install -y python3
RUN sudo apt-get install -y python3-pip
# Install Selenium and any other Python dependencies you may need
RUN sudo pip install selenium==3.141.0
RUN sudo pip install --upgrade urllib3==1.26.16
RUN sudo pip install Flask
# Set the working directory
WORKDIR /usr/src/app
# Copy your Python scripts into the container
COPY . .
EXPOSE 8080
# Example command to run your Python script
CMD ["python3", "run.py"]

View File

@ -66,10 +66,24 @@ This micro web server does not directly download the Instagram Reels video. It s
git clone https://github.com/gabrielkheisa/instagram-downloader.git
```
### With Dockerfile
1. Build the Dockerfile
```
sudo docker build -t instagram-downloader .
```
2. Run the container
```
sudo docker run -d -p 8080:8080 instagram-downloader
```
## Usage
1. Start the Flask app:
1. Start the Flask app, skip this part if you use Docker:
```
python run.py

2
run.py
View File

@ -35,7 +35,7 @@ options.add_argument('--disable-gpu')
options.add_argument('--window-size=1920,1080')
options.add_argument('--no-sandbox')
options.add_argument(f'user-agent={user_agent}')
browser = webdriver.Chrome(executable_path="/usr/bin/chromedriver", options=options)
browser = webdriver.Chrome(options=options)
# Function to handle web scraping using Selenium
def get_video_source(query_string):