You're all set up on docker1, our shared home lab server running agentic AI tools via Claude Code. This email walks you through connecting, basic navigation, and how to start building with AI assistance.
🔐 Connecting via SSH
Use of the following: Windows Terminal, Command Prompt, PowerShell, Ubuntu, Debian, PuTTy:
🖥️ Basic Linux Commands
| Command | What it does |
|---|---|
| pwd | Show your current directory (where am I?) |
| ls | List files in the current directory |
| ls -la | Detailed listing — shows sizes, permissions, hidden files |
| cd <dir> | Change into a directory |
| cd | Change to your home directory |
| mkdir <name> | Create a new directory |
| cat <file> | Print a file's contents to the screen |
| nano <file> | Open a simple text editor |
| emacs <file> | Open a simple text editor |
| cp <src> <dst> | Copy a file |
| mv <src> <dst> | Move or rename a file |
| rm <file> | Delete a file (permanent — no undo) |
| Ctrl + C | Kill a running command |
| Ctrl + D | Log out of the session |
🤖 Using Claude Code (Agentic AI)
Claude Code is an AI assistant that can read your files, run commands, help you plan and debug, and build entire projects from a plain-English description.
To start a session, just run:
You'll enter an interactive session. Try describing what you want to accomplish:
> Help me deploy a web app called myapp
> Explain what's in my home directory
cd ~/myapp && claude keeps the AI focused on the right context
and avoids re-explaining things each session. Things that AI should know about the session can be written in CLAUDE.md file.
⚙️ Claude Command Options
A few useful flags when launching Claude:
| Flag | What it does |
|---|---|
| --dangerously-skip-permissions | Skips all confirmation prompts — Claude will read, write, and run commands without asking. Use when you trust the task and want it to run unattended. Use with care. |
| -c "your prompt" | Run a single one-shot prompt and exit without entering an interactive session. Good for scripting or quick tasks. |
claude --dangerously-skip-permissions
# one-shot command, then exit
claude -c "summarize the errors in app.log"
# combine both for fully automated one-shot tasks
claude --dangerously-skip-permissions -c "deploy myapp"
To exit an interactive session, type /exit or press
Ctrl + C. You can also type exit or
quit in plain English and Claude will wrap up.
🚀 Deploying a Web Service
If you tell Claude to set up a project that needs to be accessed via the web, it will be a subdomain of
jhuynh.com — for example, myapp.jhuynh.com. HTTPS is
automatic.
Each project lives in its own folder in your home directory. You don't need to know what these do, but feel free to view them (or ask Claude about them)
docker-compose.yml
.env # secrets — never commit this
data/ # persistent volumes
It will scaffold the compose file, configure the subdomain, and walk you through any secrets it needs.
📁 Accessing Your Files from Windows
Your home directory is available as a network share. From any Windows machine on the same network, open File Explorer and navigate to:
You'll be prompted for your credentials — use the same username and password as SSH. This lets you edit files, drag and drop, and open project folders directly without needing to copy files back and forth.
\\docker1\<your-username>, and check Reconnect at sign-in.
It will show up as a drive letter (e.g. Z:) every time you log in.
💡 Tips for Working with Claude
- Starting a session. Ask "What's next?" or "Summarize where we left off" — Claude will read
PLAN.mdand orient itself before doing anything. - Ending a session. Ask Claude to "summarize what we did and update my task list" before you leave. It will update
PLAN.mdwith current state, progress, and next steps so the next session picks up cleanly. - Describe goals, not steps. "I want a Postgres database my app can connect to" works better than "run this SQL command."
- Ask for a plan first. For anything non-trivial, ask Claude to propose a plan and review it before saying go.
- Ask it to explain things. Claude can walk you through any part of your stack — configs, logs, errors — in plain English.