Skip to main content

๐Ÿš€ Start the First Container

Before running applications in MOS, the Docker service must be configured and enabled.
Containers can then be deployed either manually through the Docker section or via the MOS Hub.

MOS provides two different ways to start containers:

MethodDescription
๐Ÿณ DockerManual container configuration
๐Ÿช MOS HubTemplate-based container deployment (app store style)

โš™๏ธ Docker Service Configurationโ€‹

Before creating any containers, the Docker service must be configured.

Navigate to:

Docker โ†’ Docker Service

Docker Service Configuration


๐Ÿ”˜ Docker Serviceโ€‹

Enables or disables the Docker engine.

[!IMPORTANT] Docker must be enabled before containers can be created.


๐Ÿ“ Directoryโ€‹

Defines where Docker stores internal data such as images and layers.

Example:

/mnt/main/system/docker

This directory should be located on a fast and reliable storage pool.

[!WARNING] If you plan to put this directory on a mergerfs pool, you must select the real path to a disk from your mergerfs pool, for example: /var/mergerfs/main/system/docker


๐Ÿ’พ AppDataโ€‹

Defines the base path for persistent container configuration data.

Example:

/mnt/main/appdata

[!TIP] This location is critical for container persistence and should be backed up regularly.


๐Ÿ—„๏ธ Filesystemโ€‹

Defines the Docker storage driver filesystem.

Options:

  • overlay2 (default, recommended)
  • btrfs (if your storage uses btrfs)

[!WARNING] Changing the storage driver requires recreating all containers. To do so safely:

  1. Stop the Docker service
  2. Delete the Docker directory (usually inside your system folder)
  3. Change the storage driver
  4. Re-enable the Docker service

๐ŸŒ Docker Network Modeโ€‹

Defines how Docker networking is handled.

Common options:

  • ipvlan
  • macvlan
  • bridge

Choose a mode that matches your network setup and container requirements.


โฑ๏ธ Start Waitโ€‹

Defines the delay (in seconds) before Docker starts during system boot.

Example: 30

[!NOTE] Useful when storage pools or network interfaces need additional time to become available.

Docker Wait Times


๐Ÿ”„ Update Checkโ€‹

Enables automatic checks for container image updates.


โฌ†๏ธ Auto Updateโ€‹

Automatically updates containers based on the configured schedule.

[!CAUTION] Use with caution in production environments.


๐Ÿ“‹ Docker Overview Pageโ€‹

Navigate to:

Docker

This page lists all configured containers and provides an overview of:

  • ๐Ÿ“› Container name and state
  • ๐Ÿ–ผ๏ธ Image
  • ๐Ÿ”Œ Exposed ports
  • ๐ŸŒ IP address
  • ๐Ÿ”— Network mode
  • โ–ถ๏ธ Autostart status

Docker Overview


๐Ÿ“ฆ Docker Composeโ€‹

Navigate to:

Docker โ†’ Docker Compose

This allows deploying one or multiple containers using a Docker Compose YAML definition.

Available fields:

FieldDescription
๐Ÿ“ Stack NameName of your compose stack
๐Ÿ“„ Compose YAMLYour compose file content
๐Ÿ” Environment VariablesVariables passed to the containers
๐Ÿ–ผ๏ธ Icon URLIcon displayed in the UI
๐ŸŒ Web UI URLShortcut to the web interface

[!TIP] Docker Compose is recommended for complex multi-container applications.


๐Ÿ—‚๏ธ Docker Compose Stacksโ€‹

Containers deployed using Docker Compose are displayed as a stack in the Docker overview.
A stack represents a group of containers that belong together and are managed as a single unit.

Example:

  • immich-compose (4/4 started)

Docker Compose Stack

The stack header shows:

  • ๐Ÿท๏ธ Stack name
  • ๐Ÿ”ข Number of running containers
  • โœ… Overall stack state

๐Ÿ” Expanding Docker Stacksโ€‹

Docker Compose stacks can be expanded to show the individual containers inside.

Each container within a stack:

  • Has its own state
  • Can be monitored individually
  • Shares the same Compose configuration

This allows visibility into complex applications while keeping the overview clean.

Docker Compose Stack Expand


๐ŸŽ›๏ธ Stack Actionsโ€‹

Clicking the stack menu provides the following actions:

ActionDescription
โ–ถ๏ธ Start StackStarts all containers in the stack
โน๏ธ Stop StackStops all containers in the stack
๐Ÿ”„ Restart StackRestarts all containers in the stack
โœ๏ธ Edit StackOpens the Docker Compose configuration for editing
๐Ÿ—‘๏ธ Remove StackRemoves the entire stack and all associated containers
โฌ‡๏ธ Pull Stack ImagesPulls the latest images for all containers in the stack

[!NOTE] Stack actions always apply to all containers within the stack.


๐Ÿ”ง Docker Action Menuโ€‹

The action menu (three-dot button) provides additional Docker management features.

ActionDescription
โž• Add containerCreate a new container manually
๐Ÿ“ฆ Docker ComposeDeploy containers using a Compose YAML file
๐Ÿ—‚๏ธ Create Docker groupOrganize containers into logical groups
โฑ๏ธ Set Wait TimesDefine startup delays for individual containers
๐Ÿงน Unused Docker ImagesView and remove unused container images
๐Ÿ” Check for UpdatesManually check for available image updates
โฌ†๏ธ Update AllUpdate all containers at once

Docker Action Menu


๐Ÿ–ฑ๏ธ Container Context Menuโ€‹

Each individual container provides a context menu with management actions.

ActionDescription
๐ŸŒ Web UIOpens the container's web interface (if configured)
๐Ÿ’ป TerminalOpens an interactive shell inside the container
โน๏ธ StopGracefully stops the container
๐Ÿ”„ RestartRestarts the container
โ˜ ๏ธ KillImmediately stops the container without graceful shutdown
โœ๏ธ EditOpens the container configuration for editing
๐Ÿ“œ LogsDisplays the container logs
โšก Force UpdatePulls the latest image and recreates the container
๐Ÿ—‘๏ธ DeleteRemoves the container and its configuration

[!NOTE] These actions apply only to the selected container.

Docker Container Context Menu


๐Ÿ› ๏ธ Creating a Docker Container (Manual)โ€‹

Navigate to:

Docker โ†’ Add container


๐Ÿ“ Basic Configuration Fieldsโ€‹

FieldDescription
๐Ÿ“‹ TemplateOptional predefined template
๐Ÿท๏ธ NameUnique container name
๐Ÿ“ฆ RepositoryDocker image (e.g. lscr.io/linuxserver/code-server)
๐ŸŒ NetworkDocker network to attach the container to
๐Ÿ”’ Custom IPOptional static IP (depending on network mode)
๐Ÿ’ป Default ShellShell used for interactive container access
๐ŸŽฎ GPUAssign GPU resources if supported
๐Ÿ”“ PrivilegedGrants extended system permissions โ€” use only if required

๐Ÿ”ฉ Additional Configurationโ€‹

FieldDescription
๐Ÿ“ PathsMap host directories to container paths
๐Ÿ”Œ PortsExpose container ports to the host
๐Ÿ–ฅ๏ธ DevicesPass through host devices
๐Ÿ” VariablesEnvironment variables used by the container

๐ŸŒ Web UI URLโ€‹

Optional shortcut link to the container web interface.


๐ŸŽจ Iconโ€‹

Defines the container icon shown in the UI using Material Design Icons (MDI) identifiers.

Example:

mdi-vpn

๐Ÿ—‚๏ธ Docker Groupsโ€‹

Navigate to:

Docker โ†’ Create Docker group

Docker groups allow logical grouping of containers for better organization.

Configuration options:

  • ๐Ÿท๏ธ Group Name
  • ๐ŸŽจ Icon (MDI identifier)
  • โ˜‘๏ธ Select Containers

โ–ถ๏ธ Autostart Behaviorโ€‹

Autostart behavior differs depending on how containers are deployed.

๐Ÿ“ฆ Docker Compose Stacksโ€‹

  • Autostart is controlled at the stack level
  • Individual containers inherit the stack behavior

๐Ÿณ Single Containersโ€‹

  • Autostart can be enabled or disabled per container

[!TIP] Use stack-level autostart for multi-container applications to ensure proper startup order.


๐Ÿช MOS Hubโ€‹

The MOS Hub provides a template-based container deployment experience similar to an app store.

Features:

  • โœ… Preconfigured Docker templates
  • โšก Simplified setup process
  • ๐Ÿ”ง Automatic path, port, and variable configuration

[!TIP] MOS Hub is the recommended starting point for new users.

MOS Hub


โœ… Summaryโ€‹

To start your first container in MOS, follow these steps:

  1. โš™๏ธ Configure and enable the Docker Service
  2. ๐Ÿค” Choose your deployment method:
    • ๐Ÿช MOS Hub โ€” easy template-based deployment (recommended for beginners)
    • ๐Ÿณ Docker โ€” manual or advanced configuration
  3. ๐Ÿ” Verify storage paths and network settings
  4. ๐Ÿš€ Start and manage containers from the Docker overview

Once Docker is configured, MOS becomes a powerful platform for running applications and services. ๐ŸŽ‰


Parts of this documentation were created with the assistance of AI tools. All AI-generated content has undergone review, but it may still contain inaccuracies, omissions, or outdated information.