Skip to main content

7: Portainer – Docker Management Made Easy (optional but convenient)

Portainer gives you a friendly web interface to manage your Docker containers, images, volumes, and networks. Instead of typing commands in the terminal, you can click buttons and see everything visually. Think of it as a control panel for all your Docker applications.

For advanced features, team management, and detailed documentation, see the official Portainer documentation.

Why Portainer?

  • Visual management - See all your containers at a glance
  • Easy operations - Start, stop, restart containers with clicks
  • View logs - See what's happening inside containers
  • Deploy stacks - Install applications using docker-compose files via web UI
  • Monitor resources - See CPU, memory, and network usage
  • No terminal needed - Manage everything from your browser

Prerequisites

  • Docker running (from Chapter 3)
  • Optional: Traefik installed (from Chapter 4) for HTTPS access with a domain
  • Optional: Subdomain (from Chapter 4.5), e.g., portainer.yourdomain.com

Note: Portainer works fine without Traefik - you can access it directly via IP address and port. Traefik just makes it more secure and easier to access with a friendly domain name.

Step 1: Start Infinity Tools

sudo infinity-tools

Step 2: Install Portainer

  1. Go to 📱 APPLICATIONS
  2. Select Portainer
  3. Choose Install Portainer

Using the Infinity Tools GUI

  • Use ↑/↓ to move, Enter to select, Esc to go back
  • Look for the turquoise cursor indicating the current selection
  • Each screen shows a short description at the top explaining what's needed

Step 2.1: Choose SSL Mode

You'll see two options. Here's what each means:

  • Traefik (recommended)
    • What it is: Uses your domain name with a trusted HTTPS certificate from Let's Encrypt
    • What you need: A subdomain (e.g., portainer.yourdomain.com) pointing to your server (see Chapter 4.5)
    • What you get: No browser warnings, a clean URL like https://portainer.yourdomain.com
    • Pick this if: You want secure, easy access with a domain name
  • Standalone HTTPS (self-signed)
    • What it is: Uses HTTPS with a self-signed certificate (your browser will warn it's not trusted)
    • What you need: Just a free port (default: 9443)
    • What you get: URL like https://SERVER_IP:9443 with a warning you must accept once
    • Pick this if: You don't have a domain yet or only use Portainer on your local network

Simple rule of thumb: Use Traefik if you have a domain and want the best experience; use Standalone HTTPS if you're just getting started or don't have a domain yet.

Step 2.2: If You Choose Traefik

  1. Enter your subdomain, e.g., portainer.yourdomain.com
  2. Ensure the subdomain's DNS A record points to your server (see Chapter 4.5)
  3. Infinity Tools will configure HTTPS automatically via Let's Encrypt

After install: Your Portainer will be available at https://portainer.yourdomain.com

Step 2.3: If You Choose Standalone

  1. Pick a port (default: 9443)
  2. Your Portainer will be available at https://SERVER_IP:9443
  3. When you first visit, accept the browser security warning (click "Advanced" → "Proceed")

What Happens During Installation

  • Portainer container is created
  • Data directory is set up at /opt/speedbits/portainer
  • Optional domain + Traefik HTTPS routing (if using Traefik)
  • Service starts and becomes accessible

Step 3: First-Time Setup (IMPORTANT!)

⚠️ CRITICAL: Portainer requires you to create admin credentials on your FIRST login. There is no default password!

Step 3.1: Open Portainer

  1. Open the access URL shown after installation in your browser
  2. If using Traefik: Wait 30-60 seconds for SSL certificate generation
  3. If using Standalone: Accept the browser security warning

Step 3.2: Create Admin Account

You'll see a screen: "Create the first administrator user"

  1. Username: Choose any username (many people use "admin")
  2. Password: Enter a STRONG password (minimum 12 characters)
    • 💡 Tip: Use a password manager (like Vaultwarden from Chapter 7!) to generate and store a strong password (20+ characters)
  3. Click "Create user"

⚠️ WRITE DOWN YOUR CREDENTIALS IMMEDIATELY!

This is your ONLY chance to set the initial password. There is NO "forgot password" option on first setup. If you forget it, you'll need to reset Portainer completely (see Troubleshooting below).

Step 3.3: Connect to Docker

  1. After creating your account, you'll see: "Get Started"
  2. Click "Get Started"
  3. Select "Docker" environment
  4. Click "Connect"

✅ Done! You'll immediately see all your Docker containers, images, volumes, and networks.

What You Can Do in Portainer

Container Management

  • 📦 View all containers - See running, stopped, and all containers
  • ▶️ Start/Stop/Restart - Control containers with buttons
  • 📋 View logs - See what's happening inside containers in real-time
  • ⚙️ Inspect settings - See environment variables, volumes, networks
  • 💻 Execute commands - Run commands inside containers (like opening a terminal)

Image Management

  • 🖼️ Browse images - See all Docker images on your server
  • 🗑️ Remove unused images - Free up disk space
  • 📥 Pull new images - Download images from Docker Hub

Stack Deployment

  • 🚀 Deploy stacks - Install applications using docker-compose files via web UI
  • 📝 Edit stacks - Modify docker-compose configurations visually
  • 🔄 Update stacks - Update applications with new configurations

Monitoring

  • 📊 Resource usage - See CPU, memory, and network usage for each container
  • 📈 Statistics - View historical performance data
  • 🔍 Health checks - See container health status

Volume and Network Management

  • 💾 Manage volumes - View, create, and delete data volumes
  • 🌐 Manage networks - View and configure Docker networks

Security Recommendations

Portainer has FULL access to your Docker system, so it's important to protect it:

  • Use a strong password - Minimum 12 characters, preferably 20+
  • Store credentials securely - Use a password manager (Vaultwarden recommended!)
  • Enable 2FA - Go to Settings → Users → Two-Factor Authentication (after first login)
  • Create separate users - If sharing access, create individual accounts (don't share admin)
  • Regular backups - Go to Settings → Backup Configuration to export your Portainer settings
  • ⚠️ Protect access - Portainer can control all your containers - keep it secure!

Troubleshooting

Forgot Your Password?

If you forgot your Portainer admin password, you'll need to reset it completely:

  1. Stop Portainer:
    cd /opt/speedbits/portainer
    docker compose down
  2. Delete the Portainer database:
    rm -rf /opt/speedbits/portainer/data
  3. Restart Portainer:
    cd /opt/speedbits/portainer
    docker compose up -d
  4. Open Portainer again and create a new admin account

⚠️ WARNING: This deletes ALL Portainer settings (users, preferences, etc.), but your Docker containers are NOT affected.

Can't Access Portainer

  • Traefik mode: Wait 30-60 seconds after installation for SSL certificate generation
  • Standalone mode: Make sure you're using https:// (not http://)
  • Check container status: Run docker ps | grep portainer to see if it's running
  • Check logs: Run docker logs portainer to see error messages

Portainer Shows No Containers

  • Make sure you selected "Docker" environment during first-time setup
  • Check that Docker is running: docker ps
  • Refresh the Portainer page

Where to Find Portainer After Install

  • On the finish screen, Infinity Tools prints the access URL
  • You can also see it in 📊 STATUS & HEALTH → STATUS
  • Check the installation directory: /opt/speedbits/portainer

You're Ready!

Portainer is now installed and ready to use. You can manage all your Docker containers visually from your browser. This makes it much easier to work with your Infinity Tools applications!

Next steps: Use Portainer to monitor your containers, view logs, and manage your Docker environment. You can continue installing other Infinity Tools applications - Portainer will help you keep track of everything.