Environment Setup
Instance Details
Each student gets a freshly provisioned EC2 instance with the following services:
🔧 Services Running
| Service | URL | User | Password |
|---|---|---|---|
| code-server (IDE) | https://ide-{domain} | coder | fellowship |
| Jenkins (CI/CD) | https://jenkins-{domain} | fellowship | fellowship123 |
| Gitea (Git/Repo) | https://gitea-{domain} | fellowship | fellowship123 |
| MailHog (Email) | http://localhost:8025 | - | - |
📁 Directory Structure
After exercises are extracted, your filesystem looks like:
~/fellowship/ # Your workspace
├── exercises/ # All exercise code
│ ├── ex1-react-foundation/
│ │ ├── starter/ # Starting code
│ │ ├── solution/ # Reference solution
│ │ └── README.md # Instructions
│ ├── ex2-jenkins-mcp/
│ ├── ex3-watcher-agent/
│ ├── ex4-gitea-mcp/
│ └── ex5-grand-finale/
├── shared/ # Shared utilities
│ ├── config.py
│ ├── event_sourcing/
│ └── requirements.txt
└── README.md
First Time Setup
1. Access the IDE
# Open in browser:
https://ide-{domain}/
2. Open a Terminal
In code-server:
View → TerminalorCtrl + ~
3. Navigate to Exercises
cd ~/fellowship/exercises
ls -la
4. Create a Python Virtual Environment
For exercises that need Python:
python3 -m venv venv
source venv/bin/activate
pip install -r ../shared/requirements.txt
5. Set Up Git Configuration
git config --global user.email "{your-email}"
git config --global user.name "{your-name}"
Verify Setup
Run this to check everything is working:
# Check services
docker compose ps
# Check Python
python3 --version
# Check Node
node --version
# Check Git
git --version
# Check exercises exist
ls -la exercises/
All commands should return version numbers and show exercises directory.
Common Issues & Solutions
Q: Can't connect to code-server?
- Wait 3-5 minutes for full boot
- Verify URL matches your instance domain
- Check browser console for network errors
Q: Services not running (docker compose ps shows nothing)?
- Check cloud-init logs:
cat /var/log/cloud-init-output.log | tail -100 - Restart services:
docker compose up -d - Allow 5-10 minutes for containers to fully initialize
Q: Permission denied on exercises
- Exercises should be readable in
/opt/exercises - If needed:
chmod -R 755 ~/fellowship
Q: Python dependencies missing?
- Activate venv:
source venv/bin/activate - Install:
pip install -r shared/requirements.txt
Next Steps
Once setup is complete:
- Explore the exercises directory
- Read the README files in each exercise folder
- Choose your starting exercise
- Follow the learning path in the documentation