Microlab Club · PBL-26

Delta Robot

Your team's subdomain. Deploy a Docker container on the reserved port and it replaces this page automatically.

Deployment details

URL
delta-robot-26.microlab.club
SSH
ssh delta-robot-26_admin@delta-robot-26.microlab.club
Repo
MicroLabClub/pbl-26-delta-robot
Bind
127.0.0.1:9001
Host
194.180.191.175 · Ubuntu 22.04 · shared with other teams

How it works

An nginx reverse proxy routes https://delta-robot-26.microlab.club to whatever process is listening on 127.0.0.1:9001 on this host. While your container is running, your app is live at the URL. While it isn't, this page is shown so visitors always get something useful.

You and your teammates share one Linux account on this host. Anything one of you changes affects the others — keep your work inside ~/.

Deploy in four steps

  1. Connect via SSH

    Use the password your instructor handed out. After first login, add your public key so the password isn't needed again.

    ssh delta-robot-26_admin@delta-robot-26.microlab.club
    
    # from your laptop, after first login:
    ssh-copy-id delta-robot-26_admin@delta-robot-26.microlab.club
  2. Clone the repository

    cd ~
    git clone https://github.com/MicroLabClub/pbl-26-delta-robot.git
    cd pbl-26-delta-robot
  3. Add a compose file

    A starter is already in your home directory. Copy it into the project root and adapt the build/image to match your code.

    cp ~/docker-compose.example.yml ./docker-compose.yml
    Required:your service must bind to 127.0.0.1:9001 on the host — not 9001 alone, not 0.0.0.0:9001. Anything else bypasses HTTPS and exposes the container publicly.
  4. Bring it up

    docker compose up -d --build
    docker compose ps
    curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:9001/

    Open delta-robot-26.microlab.club — you should see your app, not this page. If you don't, see Troubleshooting below.

Cheat sheet

CommandEffect
docker compose psContainer status for this project
docker compose logs -fTail logs from all services
docker compose logs -f appTail logs from a single service
docker compose downStop and remove containers
docker compose down -vSame, plus delete named volumes (wipes DB data)
docker compose exec app shOpen a shell inside the running container
docker system prune -afReclaim disk by removing unused containers and images
git pull && docker compose up -d --buildRedeploy with the latest code
df -h ~Check disk usage in your home dir

Troubleshooting

This welcome page is still showing

Nginx couldn't reach your container on 127.0.0.1:9001. On the server:

docker compose ps
curl -v http://127.0.0.1:9001/
docker compose logs --tail=50 app
"port is already allocated" on docker compose up

Something else is already bound to 9001. Find it and stop it.

docker ps --filter "publish=9001"
docker stop <name>
"permission denied" running docker

You were added to the docker group on first provisioning. Group membership only takes effect on a new login session — log out and SSH back in.

I want a clean slate
docker compose down -v
docker system prune -af
git fetch && git reset --hard origin/main