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).
- Multi-Source Library: Browse and search apps from CasaOS, BigBear, and ZimoOS repositories.
- YAML-to-LXC Engine: Intelligent Docker Compose parser that automatically extracts ports, volumes, environment variables, and commands.
- Proxmox Automation: Generates "host-side" Bash scripts that automate LXC container creation, Docker installation, and app deployment (inspired by Proxmox VE Community Scripts).
- 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.
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 |
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-yamlfor programmatic manipulation of compose files. - Script Generation: A dedicated service (
scriptGenerator.ts) transforms UI configurations into Bash scripts compliant with thebuild.funcstandard.
Unlike a simple converter, the tool generates a script that:
- Validates resources on the Proxmox host.
- Allocates the next available VM ID.
- Creates the LXC container with specific templates (e.g., Debian 12).
- Injects Docker dependencies.
- Automatically creates persistent directories on the LXC based on the detected volume mapping.
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.
- Clone the repository:
git clone https://github.com/VisualBoy/Deploy-Anywhere-App-Converter.git
- Install dependencies:
npm install
- Start the application:
npm run dev
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.
