Quickstart Guide
Get your SSH portfolio running in under 5 minutes with Docker or Go.Prerequisites
Choose one:- Docker: Docker installed (recommended for quick start)
- Go: Go 1.24+ installed
Option 1: Docker (Recommended)
Edit the configuration
Open
config.yaml and replace the example data with your own:config.yaml
See the full example in the source code at
config.yaml (lines 1-96) for a complete reference with ASCII art and multiple projects.Run with Docker Compose
- Build the Docker image from the Dockerfile
- Start the SSH server on port 22
- Create a persistent volume for SSH keys
- Run in the background
Option 2: Run with Go
Install dependencies and run
The server runs on port 2222 by default. Set the
SSH_PORT environment variable to use a different port:Navigation and Controls
Once connected, use these keyboard shortcuts:- ← → or h l: Navigate between pages (Home, Skills, Projects, Contact)
- ↑ ↓ or k j: Scroll through skills or projects
- q or Ctrl+C: Quit
What You’ll See
Your portfolio has four pages:- Home
- Skills
- Projects
- Contact
- ASCII art header (optional)
- Your name and title
- Introduction text
- Navigation hints
Next Steps
Configuration Deep Dive
Learn about all config.yaml options, ASCII art generation, and advanced customization
Deployment Guide
Deploy your SSH portfolio to a VPS, cloud provider, or homelab
Troubleshooting
Connection refused when trying to SSH
Connection refused when trying to SSH
- Check that the server is running:
docker psor look for the “Starting SSH portfolio server” message - Verify the port: The server prints the port it’s listening on
- Check firewall rules if connecting from a remote machine
'Failed to load config' error
'Failed to load config' error
- Ensure
config.yamlexists in the same directory as the binary/main.go - Check YAML syntax - use a validator like yamllint
- Verify file permissions (should be readable)
SSH key host verification warning
SSH key host verification warning
This is normal for first connection. The server generates host keys automatically in
.ssh/id_ed25519. Accept the key or add it to your known_hosts.Port already in use
Port already in use
Change the port using:
- Docker: Edit
docker-compose.ymlports section - Go: Set
SSH_PORTenvironment variable:SSH_PORT=3000 go run main.go
Configuration Example
Here’s the structure from the actual source codeconfig.yaml (simplified):
config.yaml lines 1-96 for the complete example.