├── README.md ├── app.py ├── img ├── aws0a.PNG ├── aws0b.PNG ├── aws0c.PNG ├── aws1.PNG ├── aws10.PNG ├── aws11.PNG ├── aws12.PNG ├── aws13.PNG ├── aws14.PNG ├── aws15.PNG ├── aws16.PNG ├── aws17.PNG ├── aws18.PNG ├── aws19.PNG ├── aws2.PNG ├── aws20.PNG ├── aws21.PNG ├── aws22.PNG ├── aws23.PNG ├── aws24.PNG ├── aws25.PNG ├── aws26.PNG ├── aws27.PNG ├── aws28.PNG ├── aws29.PNG ├── aws3.PNG ├── aws30.PNG ├── aws31.PNG ├── aws32.PNG ├── aws33.PNG ├── aws34.PNG ├── aws35.PNG ├── aws36.PNG ├── aws37.PNG ├── aws38.PNG ├── aws39.PNG ├── aws4.PNG ├── aws40.PNG ├── aws41.PNG ├── aws42.PNG ├── aws43.PNG ├── aws5.PNG ├── aws6.PNG ├── aws7.PNG ├── aws8.PNG └── aws9.PNG └── requirements.txt /README.md: -------------------------------------------------------------------------------- 1 | # AWS-Deplotment-Tutorial-for-Flask-App 2 | AWS Deplotment Tutorial for Flask App 3 | ## How to run app.py ? 4 | 5 | ### Way 1 - Local Deployment of this Project 6 | 7 | 1. Download `app.py`, `requirement.txt` and `img` folder in your local computer. 8 | 2. Create a Virtual Environment and install project dependencies from `requirement.txt`. 9 | 3. Use this command to run the application: `streamlit run app.py` 10 | 11 | ### Way 2 - Directly Check the Running app With LIVE Link 12 | 13 | This application is deployed on Streamlit Cloud. 14 | You can also click on [this link](https://aws-deployment-tutorial-for-flask-app.streamlit.app/) to access the application. 15 | If it takes more time to open, just refresh the page. 16 | -------------------------------------------------------------------------------- /app.py: -------------------------------------------------------------------------------- 1 | import streamlit as st 2 | 3 | step_2_text = ["Go to aws.amazon.com and click on 'Create an AWS Account'", "Enter 'email', 'pasword' and 'AWS account name'", "Enter all the required details and click on 'Create Account and Continue'", "Enter Credit/Debit card details", "Make Payment", "Confirm your identity (Mobile Number)", "Select a Basic Plan (Free)", "Wait for activation email - It may take 24 hours to arrive", "This is account creation email (Not an activation email)", "Go to console.aws.amazon.com and login with your credentials", "Click on 'Home' to open AWS Management Console", "Click on 'Launch a virtual machine (with EC2)'", "If your account is not active, you will see this screen", "This is your Account Activation Email"] 4 | step_3_text = ["Goto aws.amazon.com and 'Sign in to the Console'", "Click on 'Launch a Virtual Machine(with EC2)'","Choose an OS (Recommended - UBUNTU Server Free Tier)", "Choose t2.micro Instance and click 'Review and Launch'", "Click 'Launch'", "Create a new key pair", "Download the Key Pair and Launch the Instance", "Click on 'View Instance'", "You might see Instance State as 'Pending'", "Go to 'Security Groups' and 'Create security group'", "Enter Basic Details and add 'Inbound rules' and click on 'Create security group'", "Go to 'Network Interfaces' and right click on the available interface and click 'Change Security Groups'", "Add 'anywhere' and click 'Save'", "Go to 'Instances' and wait for 'running' Instance State. Right Click and 'Connect'", "Copy this ssh command to connect to your Instace from localhost"] 5 | step_4_text = ["'web_app' contains my application and '.pem' is the private key", "Use this SSH command to connect with AWS remote instance", "Upgrade your Linux Box", "Install pip3 and all other required libraries", "Install 'tmux'", "Logout and Upload the 'web_app' folder from localhost to AWS remote instance", "Now connect to AWS remote instance again using SSH and create a tmux instance", "You are now in tmux instance (Observe the green bar on the bottom of screen)", "Go to 'web_app' directory and run the application", "Open External URL in your browser", "Press 'ctrl+b d' to exit tmux instance (It will still be running in background)", "Connect again to remote instance and enter the tmux instance", "tmux instance is running even after logout from SSH", "Web App is also running at External URL"] 6 | 7 | st.sidebar.subheader("Deployment on AWS") 8 | st.sidebar.info("Complete Documentation") 9 | st.sidebar.success("This is a complete step by step documentation to deploy your streamlit application") 10 | st.sidebar.warning("Made with extra :heart: :heart: :sunglasses:") 11 | 12 | st.title("Deployment on AWS") 13 | 14 | 15 | st.header("Step - 1 : Create a web application on your computer") 16 | st.image("img/aws0a.PNG", use_column_width=True) 17 | 18 | st.header("Step - 2 : Create AWS Account") 19 | if(st.checkbox("Explore Step - 2")): 20 | step_2 = st.number_input("Sub Steps - (1 to 14)", 1, 14) 21 | step_2_loc = "img/aws"+str(step_2)+".PNG" 22 | st.subheader(step_2_text[step_2-1]) 23 | st.image(step_2_loc, use_column_width=True) 24 | 25 | st.header("Step - 3 : Create AWS EC2 instance") 26 | st.image("img/aws0b.PNG", use_column_width=True) 27 | if(st.checkbox("Explore Step - 3")): 28 | step_3 = st.number_input("Sub Steps - (15 to 29)", 15, 29) 29 | step_3_loc = "img/aws"+str(step_3)+".PNG" 30 | st.subheader(step_3_text[step_3-15]) 31 | st.image(step_3_loc, use_column_width=True) 32 | 33 | st.header("Step - 4 : Hosting the web app on AWS") 34 | st.image("img/aws0c.PNG", use_column_width=True) 35 | if(st.checkbox("Explore Step - 4")): 36 | step_4 = st.number_input("Sub Steps - (30 to 43)", 30, 43) 37 | step_4_loc = "img/aws"+str(step_4)+".PNG" 38 | st.subheader(step_4_text[step_4-30]) 39 | st.image(step_4_loc, use_column_width=True) 40 | -------------------------------------------------------------------------------- /img/aws0a.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws0a.PNG -------------------------------------------------------------------------------- /img/aws0b.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws0b.PNG -------------------------------------------------------------------------------- /img/aws0c.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws0c.PNG -------------------------------------------------------------------------------- /img/aws1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws1.PNG -------------------------------------------------------------------------------- /img/aws10.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws10.PNG -------------------------------------------------------------------------------- /img/aws11.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws11.PNG -------------------------------------------------------------------------------- /img/aws12.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws12.PNG -------------------------------------------------------------------------------- /img/aws13.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws13.PNG -------------------------------------------------------------------------------- /img/aws14.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws14.PNG -------------------------------------------------------------------------------- /img/aws15.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws15.PNG -------------------------------------------------------------------------------- /img/aws16.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws16.PNG -------------------------------------------------------------------------------- /img/aws17.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws17.PNG -------------------------------------------------------------------------------- /img/aws18.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws18.PNG -------------------------------------------------------------------------------- /img/aws19.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws19.PNG -------------------------------------------------------------------------------- /img/aws2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws2.PNG -------------------------------------------------------------------------------- /img/aws20.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws20.PNG -------------------------------------------------------------------------------- /img/aws21.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws21.PNG -------------------------------------------------------------------------------- /img/aws22.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws22.PNG -------------------------------------------------------------------------------- /img/aws23.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws23.PNG -------------------------------------------------------------------------------- /img/aws24.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws24.PNG -------------------------------------------------------------------------------- /img/aws25.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws25.PNG -------------------------------------------------------------------------------- /img/aws26.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws26.PNG -------------------------------------------------------------------------------- /img/aws27.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws27.PNG -------------------------------------------------------------------------------- /img/aws28.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws28.PNG -------------------------------------------------------------------------------- /img/aws29.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws29.PNG -------------------------------------------------------------------------------- /img/aws3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws3.PNG -------------------------------------------------------------------------------- /img/aws30.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws30.PNG -------------------------------------------------------------------------------- /img/aws31.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws31.PNG -------------------------------------------------------------------------------- /img/aws32.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws32.PNG -------------------------------------------------------------------------------- /img/aws33.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws33.PNG -------------------------------------------------------------------------------- /img/aws34.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws34.PNG -------------------------------------------------------------------------------- /img/aws35.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws35.PNG -------------------------------------------------------------------------------- /img/aws36.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws36.PNG -------------------------------------------------------------------------------- /img/aws37.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws37.PNG -------------------------------------------------------------------------------- /img/aws38.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws38.PNG -------------------------------------------------------------------------------- /img/aws39.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws39.PNG -------------------------------------------------------------------------------- /img/aws4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws4.PNG -------------------------------------------------------------------------------- /img/aws40.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws40.PNG -------------------------------------------------------------------------------- /img/aws41.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws41.PNG -------------------------------------------------------------------------------- /img/aws42.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws42.PNG -------------------------------------------------------------------------------- /img/aws43.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws43.PNG -------------------------------------------------------------------------------- /img/aws5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws5.PNG -------------------------------------------------------------------------------- /img/aws6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws6.PNG -------------------------------------------------------------------------------- /img/aws7.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws7.PNG -------------------------------------------------------------------------------- /img/aws8.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws8.PNG -------------------------------------------------------------------------------- /img/aws9.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bansalkanav/AWS-Deployment-Tutorial-for-Flask-App/c55a201cf1d5ee8821dc05402614436a79dd1112/img/aws9.PNG -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | altair==5.2.0 2 | attrs==23.2.0 3 | blinker==1.7.0 4 | cachetools==5.3.2 5 | certifi==2024.2.2 6 | charset-normalizer==3.3.2 7 | click==8.1.7 8 | colorama==0.4.6 9 | gitdb==4.0.11 10 | GitPython==3.1.42 11 | idna==3.6 12 | importlib-metadata==7.0.1 13 | Jinja2==3.1.3 14 | jsonschema==4.21.1 15 | jsonschema-specifications==2023.12.1 16 | markdown-it-py==3.0.0 17 | MarkupSafe==2.1.5 18 | mdurl==0.1.2 19 | numpy==1.26.4 20 | packaging==23.2 21 | pandas==2.2.1 22 | pillow==10.2.0 23 | protobuf==4.25.3 24 | pyarrow==15.0.0 25 | pydeck==0.8.1b0 26 | Pygments==2.17.2 27 | python-dateutil==2.8.2 28 | pytz==2024.1 29 | referencing==0.33.0 30 | requests==2.31.0 31 | rich==13.7.0 32 | rpds-py==0.18.0 33 | six==1.16.0 34 | smmap==5.0.1 35 | streamlit==1.31.1 36 | tenacity==8.2.3 37 | toml==0.10.2 38 | toolz==0.12.1 39 | tornado==6.4 40 | typing_extensions==4.10.0 41 | tzdata==2024.1 42 | tzlocal==5.2 43 | urllib3==2.2.1 44 | validators==0.22.0 45 | watchdog==4.0.0 46 | zipp==3.17.0 47 | --------------------------------------------------------------------------------