Skip to content

VisualBoy/Deploy-Anywhere-App-Converter

Repository files navigation

Deploy Anywhere App Converter

Deploy Anywhere App Converter is an advanced Single Page Application (SPA) built with React, TypeScript, and Tailwind CSS. The project streamlines the deployment of containerized applications by transforming third-party repositories (CasaOS, BigBear, ZimoOS) or custom docker-compose.yaml files into automated installation scripts for various platforms, with a primary focus on Proxmox VE (LXC).

app_conv_v3_cover

🚀 Core Features

  • Multi-Source Library: Browse and search apps from CasaOS, BigBear, and ZimoOS repositories.
  • Smart Matching Engine: Automatically detects if a Native LXC Script exists for a selected Docker app by querying the official Proxmox VE Community Scripts repository.
  • YAML-to-LXC Engine: Intelligent Docker Compose parser that automatically extracts ports, volumes, environment variables, and commands for Docker fallback deployments.
  • Proxmox Automation: Generates "host-side" Bash scripts that:
    • Native Mode: Downloads and runs the official upstream install script (e.g., for Plex, Home Assistant).
    • Docker Mode: Creates an LXC, installs Docker, and deploys the Compose stack if no native script is found.
  • Configuration Wizard: A guided 4-step process using collapsible accordion sections to manage:
    • Resources: CPU, RAM, Disk, Storage Pool.
    • Network: Static IP/CIDR, Gateway, Bridge.
    • Environment: Real-time editing of environment variables and volume paths.
  • Repository Manager: Slide-in panel to add, remove, or sync new repositories via JSON URLs.
  • Responsive Design: Mobile-optimized layout with a toggleable sidebar and sticky navigation buttons.

📦 Supported Repositories

The application fetches app definitions from the following verified sources:

Provider Repository URL Type
CasaOS https://api.github.com/repos/IceWhaleTech/CasaOS-AppStore/contents/Apps Official Store
ZimoOS https://api.zimoos.com/v1/appstore/apps Hardware Specific
BigBear https://github.com/bigbeartechworld/big-bear-casaos Community
Big Bear Runtipi https://github.com/bigbeartechworld/big-bear-runtipi Community
BigBear Umbrel https://github.com/bigbeartechworld/big-bear-umbrel Community
BigBearCosmos https://github.com/bigbeartechworld/big-bear-cosmos Community
BigBearDockge https://github.com/bigbeartechworld/big-bear-dockge Community
BigBearPortainer https://github.com/bigbeartechworld/big-bear-portainer Community

🛠 Technical Architecture

The project leverages a modern stack focused on execution speed and portability:

  • Frontend: React 18 with TypeScript.
  • Styling: Tailwind CSS for a responsive, accordion-based UI.
  • YAML Parsing: js-yaml for programmatic manipulation of compose files.
  • Dynamic Catalog: A dedicated service (community.ts) fetches the live tree from GitHub to ensure script availability is always up-to-date.
  • Script Generation: scriptGenerator.ts transforms UI configurations into Bash scripts, wrapping either the official community installer or a custom Docker deployment logic.

Proxmox Script Logic

Unlike a simple converter, the tool generates a script that:

  1. Validates resources on the Proxmox host.
  2. Allocates the next available VM ID.
  3. Creates the LXC container with specific templates (e.g., Debian 12).
  4. Recipe Selection: Checks if an official community script exists for the app; if so, executes it. If not, it installs Docker and deploys the generated Compose stack.
  5. Injects Docker dependencies and automatically creates persistent directories on the LXC based on the detected volume mapping (in Docker Mode).

📱 Mobile UX

The design includes specific optimizations for developers operating from mobile devices:

  • Interactive Sidebar: The app grid is accessible via a "Browse Apps" button that handles the sidebar transition.
  • Sticky Navigation: Back and Next buttons are anchored to the bottom of the viewport for seamless wizard completion.

🔧 Installation

  1. Clone the repository:
    git clone https://github.com/VisualBoy/Deploy-Anywhere-App-Converter.git
  2. Install dependencies:
    npm install
  3. Start the application:
    npm run dev

📄 License

Distributed under the MIT License. See LICENSE for more information.


Developer Note: The script generator uses \e escape sequences compatible with echo -e to avoid JavaScript parsing errors (SyntaxError: Invalid octal escape sequence) when outputting terminal colors.

About

Convert CasaOS, BigBear, ZimoOS apps into Proxmox LXC scripts, Dockge, or Portainer stacks.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published