Quick Start Guide

Get NazDocker Lab up and running in minutes with this quick start guide.

πŸš€ Prerequisites

⚑ Quick Setup

1. Clone and Navigate

git clone https://github.com/nazdridoy/nazdocker-lab.git
cd nazdocker-lab

2. Set Up Environment

# Create separate data directories for Alpine and Ubuntu
mkdir -p data/{alpine,ubuntu}/{admin,user1,user2,user3,user4,user5}

# Configure environment variables
cp .env.example .env
# Edit .env with your configuration (see [Configuration Guide](/nazdocker-lab/administration/environment-variables/))

3. Start the Environment

Ubuntu Version (Recommended for Development):

docker-compose -f docker-compose.ubuntu.yml up -d

Alpine Version (82% smaller, Recommended for Production):

docker-compose -f docker-compose.alpine.yml up -d

4. Access the Lab

# Local SSH access
ssh admin@localhost -p 2222
# Password: admin123

πŸ‘₯ Quick User Reference

Username Password Sudo Access Purpose
admin admin123 βœ… Yes Administrative tasks
user1 user123 ❌ No Regular development
user2 user123 ❌ No Regular development
user3 user123 ❌ No Regular development
user4 user123 ❌ No Regular development
user5 user123 ❌ No Regular development
root root123 βœ… Yes System administration

πŸ”§ Essential Commands

Container Management

# Start environment
docker-compose -f docker-compose.ubuntu.yml up -d

# Stop environment
docker-compose -f docker-compose.ubuntu.yml down

# View logs
docker-compose -f docker-compose.ubuntu.yml logs -f

# Access container shell
docker-compose -f docker-compose.ubuntu.yml exec lab-environment-ubuntu bash

Health Monitoring

# Check container status
docker-compose -f docker-compose.ubuntu.yml ps

# Check health status
docker ps --format "table \t\t"

🌐 Remote Access

Local Access

ssh admin@localhost -p 2222
ssh user1@localhost -p 2222
# ... etc

Public Access (via Playit.gg)

  1. Set your PLAYIT_SECRET_KEY in .env
  2. Check tunnel status: docker-compose logs | grep -i "playit"
  3. Connect via the provided public URL

πŸ› οΈ What’s Available

  • Python 3.x with pip
  • uv - Fast Python package manager (replaces pip, pip-tools, pipx, poetry, pyenv, virtualenv)
  • uvx - Run Python tools in ephemeral environments
  • Node.js with npm
  • Git for version control
  • SSH server for remote access
  • Development utilities (curl, jq, ping, etc.)

πŸ”— Next Steps

  1. Configure Environment Variables - Set up passwords and tunneling
  2. Learn User Management - Manage user accounts
  3. Set Up SSH Keys - Secure authentication
  4. Explore Development Tools - Available development utilities

πŸ†˜ Need Help?