generating-docker-compose-files

Generate and validate Docker Compose and Podman Compose files for multi-container applications.

1|Updated Feb 10, 2026
One-click install
npx skills add https://github.com/stefanfaur/roach-marketplace --skill generating-docker-compose-files-stefanfaur
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: generating-docker-compose-files
Source: https://github.com/stefanfaur/roach-marketplace/tree/main/docker-compose-generator/skills/generating-docker-compose-files
Command: npx skills add https://github.com/stefanfaur/roach-marketplace --skill generating-docker-compose-files-stefanfaur

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyyaml, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve? Writing compose files that work correctly across both Docker and Podman runtimes requires handling subtle differences like rootless port restrictions, SELinux volume labels, and DNS networking, which often cause deployment failures. ## Core Features & Use Cases - Compose File Generation: Produces Compose Specification format files with services, networks, volumes, health checks, and restart policies for Docker and Podman. - Podman Compatibility Guidance: Applies rootless port mapping, SELinux :z/:Z/:U labels, and custom bridge networks for DNS resolution. - Validation and Deployment Scripts: Includes scripts to validate compose syntax, extract environment variables into .env files, and deploy to Docker, Podman, Swarm, or Kubernetes. - Use Case: You need to containerize a web app with a PostgreSQL database on a Fedora server running rootless Podman. The skill generates a compose file with high ports, SELinux labels, and a custom bridge network, then validates it before deployment. ## Quick Start Ask the assistant to generate a Podman-compatible compose file for a web application with a PostgreSQL database and validate it.

Frequently Asked Questions about generating-docker-compose-files

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate a Docker Compose file for a multi-container app?▼

Define your services, dependencies, networks, and volumes, then generate a Compose Specification format file without a version key. Include health checks, restart policies, and a custom bridge network, and produce a matching .env template for environment variables.

What is the difference between podman compose and podman-compose?▼

podman compose is a built-in Podman wrapper that delegates to docker-compose or podman-compose, offering fuller feature coverage. podman-compose is a standalone Python package translating the compose spec directly to Podman CLI, but supports only a subset of features like a single env_file.

Does Podman Compose support privileged ports like 80 and 443?▼

Rootless Podman cannot bind to ports below 1024 by default. Map to high ports such as 8080:80, or set the sysctl net.ipv4.ip_unprivileged_port_start=80 to allow low ports.

Why do bind mounts fail on Podman with SELinux?▼

On RHEL, Fedora, and CentOS, bind mounts need SELinux labels to be accessible inside containers. Append :z for shared access or :Z for private single-container access, and use :U to auto-chown volumes for rootless UID mapping.

Why is DNS resolution not working between Podman containers?▼

The default podman network does not support DNS resolution between containers. Define a custom bridge network in your compose file so container name resolution works via the dnsname plugin.

Can I deploy a compose file to Kubernetes?▼

Yes, the included deploy script converts compose files to Kubernetes manifests using kompose and applies them with kubectl to a specified namespace. Alternatively, podman generate kube provides a migration path from Podman deployments.