Skip to main content

Overview

Docker

Cross-platform images are built for x86 (Intel/AMD) and ARM64 (IE Raspberry Pi)

Available Images

Repository Page

docker.io/foxxmd/komodo-import:latest

Or use the example compose.yml, found in the repo, after modifying it to fit your configuration:

compose.yml
services:
komodo-import:
image: foxxmd/komodo-import:latest
volumes:
## ParentDirectory:FILES_ON_SERVER_DIR
- ./myprojects:/filesOnServer

## optional, TOML is saved to file here when OUTPUT_DIR env is present
#- ./output:/output
environment:
- TZ=America/New_York
## Komodo Server name to use for generated Stacks
- SERVER_NAME=my-cool-server
## ParentDirectory on the host use as Stack Run Directory prefix
- HOST_PARENT_PATH=/my/cool/path

## optional
#- FILES_ON_SERVER_DIR=/filesOnServer
#- IMAGE_REGISTRY_PROVIDER=
#- IMAGE_REGISTRY_ACCOUNT=
#- AUTO_UPDATE=false
#- POLL_FOR_UPDATE=false
#- KOMODO_ENV_NAME=
#- COMPOSE_FILE_GLOB=
#- ENV_FILE_GLOB=

## only saves to file if this ENV is present
#- OUTPUT_DIR=/output
restart: no

Docker Usage Example

tip

See the Quick Start Guide for another guided docker-compose example

The example scenario:

  • You have Komodo already setup
  • You have installed Periphery on a machine
    • The Komodo Server name for this machine is my-cool-server
    • The machine is currently using dockge and has all of its compose projects located at /home/myUser/homelab like...
      • /home/myUser/homelab/immich
      • /home/myUser/homelab/plex
      • etc...
docker run --name komodo-import -e "SERVER_NAME=my-cool-server" -e "HOST_PARENT_PATH=/home/myUser/homelab" -v /home/myUser/homelab:/filesOnServer foxxmd/komodo-import
Output
[2025-08-11 14:06:19.080 -0400] INFO   : [Init] Debug Mode: NO
[2025-08-11 14:06:19.094 -0400] INFO : [App] Version: 0.1.0
[2025-08-11 14:06:19.095 -0400] INFO : [App] Files On Server Dir ENV: /filesOnServer -> Resolved: /filesOnServer
[2025-08-11 14:06:19.096 -0400] INFO : [App] [Files On Server] Processing Stacks for 6 folders:
/filesOnServer/compose.yaml
/filesOnServer/immich
/filesOnServer/jellyfin
/filesOnServer/octoprint
/filesOnServer/plex
/filesOnServer/uptime-kuma
[2025-08-11 14:06:19.096 -0400] INFO : [App] [Files On Server] Compose File Glob: **/{compose,docker-compose}*.y?(a)ml
[2025-08-11 14:06:19.097 -0400] INFO : [App] [Files On Server] Env Glob: **/.env
[2025-08-11 14:06:19.097 -0400] INFO : [App] [Files On Server] [compose] Found Stack 'compose' at dir /filesOnServer/compose.yaml
[2025-08-11 14:06:19.103 -0400] WARN : [App] [Files On Server] [compose] Did not find any files patterns matching compose glob
[2025-08-11 14:06:19.103 -0400] INFO : [App] [Files On Server] [compose] Stack config complete
[2025-08-11 14:06:19.104 -0400] INFO : [App] [Files On Server] [immich] Found Stack 'immich' at dir /filesOnServer/immich
[2025-08-11 14:06:19.107 -0400] INFO : [App] [Files On Server] [immich] Found 1 files matching compose glob:
docker/docker-compose.yaml
[2025-08-11 14:06:19.107 -0400] INFO : [App] [Files On Server] [immich] Using file(s): docker/docker-compose.yaml
[2025-08-11 14:06:19.108 -0400] INFO : [App] [Files On Server] [immich] Stack config complete
[2025-08-11 14:06:19.108 -0400] INFO : [App] [Files On Server] [jellyfin] Found Stack 'jellyfin' at dir /filesOnServer/jellyfin
[2025-08-11 14:06:19.109 -0400] INFO : [App] [Files On Server] [jellyfin] Found 3 files matching compose glob:
compose.yaml
docker-compose.yaml
docker/docker-compose.yaml
[2025-08-11 14:06:19.110 -0400] INFO : [App] [Files On Server] [jellyfin] Using file: compose.yaml but not writing to file_paths since this is the Komodo default
[2025-08-11 14:06:19.111 -0400] INFO : [App] [Files On Server] [jellyfin] Found 1 env files matching pattern **/.env:
.env
[2025-08-11 14:06:19.111 -0400] INFO : [App] [Files On Server] [jellyfin] Using .komodoEnv for Komodo-written env file
[2025-08-11 14:06:19.111 -0400] INFO : [App] [Files On Server] [jellyfin] Stack config complete
[2025-08-11 14:06:19.111 -0400] INFO : [App] [Files On Server] [octoprint] Found Stack 'octoprint' at dir /filesOnServer/octoprint
[2025-08-11 14:06:19.112 -0400] WARN : [App] [Files On Server] [octoprint] Did not find any files patterns matching compose glob
[2025-08-11 14:06:19.112 -0400] INFO : [App] [Files On Server] [octoprint] Stack config complete
[2025-08-11 14:06:19.113 -0400] INFO : [App] [Files On Server] [plex] Found Stack 'plex' at dir /filesOnServer/plex
[2025-08-11 14:06:19.114 -0400] INFO : [App] [Files On Server] [plex] Found 1 files matching compose glob:
compose.yaml
[2025-08-11 14:06:19.114 -0400] INFO : [App] [Files On Server] [plex] Using file: compose.yaml but not writing to file_paths since this is the Komodo default
[2025-08-11 14:06:19.115 -0400] INFO : [App] [Files On Server] [plex] Stack config complete
[2025-08-11 14:06:19.115 -0400] INFO : [App] [Files On Server] [uptime-kuma] Found Stack 'uptime-kuma' at dir /filesOnServer/uptime-kuma
[2025-08-11 14:06:19.116 -0400] INFO : [App] [Files On Server] [uptime-kuma] Found 1 files matching compose glob:
compose.yaml
[2025-08-11 14:06:19.116 -0400] INFO : [App] [Files On Server] [uptime-kuma] Using file: compose.yaml but not writing to file_paths since this is the Komodo default
[2025-08-11 14:06:19.117 -0400] INFO : [App] [Files On Server] [uptime-kuma] Found 1 env files matching pattern **/.env:
.env
[2025-08-11 14:06:19.117 -0400] INFO : [App] [Files On Server] [uptime-kuma] Using .komodoEnv for Komodo-written env file
[2025-08-11 14:06:19.117 -0400] INFO : [App] [Files On Server] [uptime-kuma] Stack config complete
[2025-08-11 14:06:19.118 -0400] INFO : [App] [Files On Server] Built Stack configs for 6 folders
[2025-08-11 14:06:19.119 -0400] INFO : [App] Copy the text between the scissors to use as the *Resource File* contents within your Resource Sync

✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️
[[stack]]
name = "compose"

[stack.config]
server = "my-cool-server"
run_directory = "/home/myUser/homelab/compose"
files_on_host = true
auto_update = false
poll_for_updates = false

[[stack]]
name = "immich"

[stack.config]
server = "my-cool-server"
run_directory = "/home/myUser/homelab/immich"
files_on_host = true
auto_update = false
poll_for_updates = false
file_paths = [ "docker/docker-compose.yaml" ]

[[stack]]
name = "jellyfin"

[stack.config]
server = "my-cool-server"
run_directory = "/home/myUser/homelab/jellyfin"
files_on_host = true
auto_update = false
poll_for_updates = false
env_file_path = ".komodoEnv"
additional_env_files = [ ".env" ]

[[stack]]
name = "octoprint"

[stack.config]
server = "my-cool-server"
run_directory = "/home/myUser/homelab/octoprint"
files_on_host = true
auto_update = false
poll_for_updates = false

[[stack]]
name = "plex"

[stack.config]
server = "my-cool-server"
run_directory = "/home/myUser/homelab/plex"
files_on_host = true
auto_update = false
poll_for_updates = false

[[stack]]
name = "uptime-kuma"

[stack.config]
server = "my-cool-server"
run_directory = "/home/myUser/homelab/uptime-kuma"
files_on_host = true
auto_update = false
poll_for_updates = false
env_file_path = ".komodoEnv"
additional_env_files = [ ".env" ]
✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️
[2025-08-11 14:06:19.119 -0400] INFO : [App] Done!

Local Installation

Nodejs

Clone this repository somewhere and then install from the working directory

git clone https://github.com/FoxxMD/komodo-import.git .
cd komodo-import
nvm use # optional, to set correct Node version
npm install
npm run docs:install && npm run build
npm run start

Usage Examples

SERVER_NAME=my-server HOST_PARENT_PATH=/my/parent/folder node src/index.js