Sign inSign up

trusmith/portadock

By trusmith

•Updated about 1 year ago

PortaDock - Convert Compose stacks to portable configurations

Image
0

880

trusmith/portadock repository overview

⁠PortaDock — Make Docker Compose stacks portable and migratable

trusmith/portadock Python 3.11

"I had a need to convert some of my docker run invocations into Docker Compose files and to keep them all in a single working directory. I realized that doing this for a large number of containers would be difficult, so I wrote this app. It automates most of the work — copying files, generating a new compose file, etc. — and exposes everything behind a polished UI. It's provided as a single container image: run it, let it perform the migration, and stop it when you're done!"

Quick start

  1. Pull the published image:
docker pull trusmith/portadock:latest
  1. Run a quick instance (persist data if you need it):
docker run -d --name portadock \
  -p 8001:8000 \
  -v "$(pwd)/data:/app/data" \
  -e SESSION_LOGGING=true \
  trusmith/portadock:latest

Use cases (very small)

  • Consolidate ad-hoc docker run commands into a single, versionable compose file.
  • Generate a portable compose + migration script to move a service stack between hosts.

Docker image

Tech stack (short)

Minimal docker-compose example

version: '3.8'
services:
  portadock:
    image: trusmith/portadock:latest
    ports:
      - "8001:8000"
    volumes:
      - ./data:/app/data
    environment:
      - SESSION_LOGGING=true
      - SESSION_DIR=/app/data/run_history
    restart: unless-stopped

Environment variables (concise)

  • SESSION_LOGGING — (true|false). Default: true. Enable to persist session folders under SESSION_DIR.
  • SESSION_DIR — Default: /app/data/run_history. Path where timestamped session folders are written.
  • SSH_HOSTS_FILE — Default: /app/data/saved_hosts/hosts.json. Encrypted SSH hosts store.
  • VOLUME_SELECTIONS_FILE — Default: /app/data/volume_selections.json. Optional presets for volume selections.

Data layout (when you mount ./data)

  • ./data/run_history/ — per-session folders with metadata and artifacts.
  • ./data/saved_hosts/ — encrypted SSH host records and key material.
  • ./data/volume_selections.json — optional saved volume-selection presets.

A note on running it

I keep run guidance minimal here: pull the image and run it where it makes sense for you — whether that is a development machine, a production host, or your vegetable garden.

Troubleshooting (concise)

docker logs --tail 200 portadock
docker ps
  • If session files are missing, verify ./data is mounted and writable by the container.

License & support

  • Licensed under CC BY-NC 4.0 — personal use and modification allowed with attribution; commercial use requires permission.

If this project helped you, consider supporting me:

Buy Me A Coffee

Tag summary

Content type

Image

Digest

sha256:6aa954eda…

Size

233.1 MB

Last updated

about 1 year ago

docker pull trusmith/portadock