|
| 1 | +--- |
| 2 | +title: "GSoC ’25 Week 10 Update by Mebin J Thattil" |
| 3 | +excerpt: "Deploying SugarAI" |
| 4 | +category: "DEVELOPER NEWS" |
| 5 | +date: "2025-08-10" |
| 6 | +slug: "2025-08-10-gsoc-25-mebinthattil-week10" |
| 7 | +author: "@/constants/MarkdownFiles/authors/mebin-thattil.md" |
| 8 | +tags: "gsoc25,sugarlabs,week10,mebinthattil,speak_activity" |
| 9 | +image: "assets/Images/GSOCxSpeak.png" |
| 10 | +--- |
| 11 | + |
| 12 | +# Week 10 Progress Report by Mebin J Thattil |
| 13 | + |
| 14 | +**Project:** [Speak Activity](https://github.com/sugarlabs/speak) |
| 15 | +**Mentors:** [Chihurumnaya Ibiam](https://github.com/chimosky), [Kshitij Shah](https://github.com/kshitijdshah99) |
| 16 | +**Assisting Mentors:** [Walter Bender](https://github.com/walterbender), [Devin Ulibarri](https://github.com/pikurasa) |
| 17 | +**Reporting Period:** 2025-08-03 - 2025-08-10 |
| 18 | + |
| 19 | +--- |
| 20 | + |
| 21 | +## Goals for This Week |
| 22 | + |
| 23 | +- **Goal 1:** Setup AWS for LLM deployment - SugarAI |
| 24 | + |
| 25 | +--- |
| 26 | + |
| 27 | +## This Week’s Progress |
| 28 | + |
| 29 | +### **1. Deploy SugarAI** |
| 30 | + |
| 31 | +There is only one final part left in the refactor of the Speak Activity, and those are the LLM powered features. For this we need to have the LLM hosted somewhere. |
| 32 | +So it was time to deploy SugarAI on our AWS. |
| 33 | + |
| 34 | +So here is what I did: |
| 35 | +- Spin up an EC2 instance that uses g5 large GPUs. This instance is being run under my AWS-Sugarlabs account. So if someone is reading this as documentation and there is an issue with the service and you need to reach out to me, do so by shooting me a mail at : [[email protected]](mailto:[email protected]). |
| 36 | +- Ran the following code to setup the instance and pull SugarAI: |
| 37 | +```bash |
| 38 | +# Add Docker's official GPG key: |
| 39 | +apt-get update -y |
| 40 | +apt-get install -y ca-certificates curl |
| 41 | +install -m 0755 -d /etc/apt/keyrings |
| 42 | +curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc |
| 43 | +chmod a+r /etc/apt/keyrings/docker.asc |
| 44 | + |
| 45 | +# Add the repository to Apt sources: |
| 46 | +echo \ |
| 47 | + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ |
| 48 | + $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \ |
| 49 | + tee /etc/apt/sources.list.d/docker.list > /dev/null |
| 50 | +apt-get update -y |
| 51 | +apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin |
| 52 | + |
| 53 | +groupadd docker |
| 54 | +usermod -aG docker $USER |
| 55 | +systemctl enable docker.service |
| 56 | +systemctl enable containerd.service |
| 57 | + |
| 58 | +git clone https://github.com/sugarlabs/sugar-ai.git && cd sugar-ai |
| 59 | +docker build -t sugar-ai . |
| 60 | +docker run --gpus all -it --rm sugar-ai |
| 61 | +``` |
| 62 | +- This runs the docker container and can be accessed locally on `port 8000`. |
| 63 | +- The inbound security rules of the EC2 were set to allow incoming requests only on port `443(HTTPS)` and `22(SSH)`. |
| 64 | +- After this I locally tested if the API was working. It was, but only locally on the EC2 for now. |
| 65 | +- In order to make it publically available I would have to create a nginx proxy from `port 8000` to `port 443` and also get SSL certificates. |
| 66 | +- I then created a static IP using AWS's elastic IP so we could create an `A record` for this service, which would be needed to issue the SSL certificate. |
| 67 | + |
| 68 | + |
| 69 | +--- |
| 70 | + |
| 71 | +## Next Week’s Roadmap |
| 72 | + |
| 73 | +- Nginx proxy pass |
| 74 | +- SSL Certificates |
| 75 | +- A record creation and launch of [ai.sugarlabs.org](https://ai.sugarlabs.org) |
| 76 | +- Google OAuth and Github OAuth for login |
| 77 | + |
| 78 | +--- |
| 79 | + |
| 80 | +## Acknowledgments |
| 81 | + |
| 82 | +Thank you to my mentors, the Sugar Labs community, and fellow GSoC contributors for their ongoing support. |
| 83 | + |
| 84 | +--- |
0 commit comments