76 lines
3.5 KiB
Markdown
76 lines
3.5 KiB
Markdown
# Wild Cloud Apps Directory
|
|
|
|
This is the official Wild Cloud apps repository containing a curated collection of self-hosted applications that can be deployed to your Wild Cloud cluster.
|
|
|
|
## What are Wild Cloud Apps?
|
|
|
|
Wild Cloud apps are pre-packaged Kubernetes applications using Kustomize that follow standardized conventions for configuration, secrets management, and deployment. Each app includes:
|
|
|
|
- **App manifest** (`manifest.yaml`) - Metadata, dependencies, and default configuration
|
|
- **Kustomization** (`kustomization.yaml`) - Kubernetes resource definitions
|
|
- **Configuration templates** - Deployments, services, ingresses, and other resources
|
|
|
|
Apps use gomplate templates that compile with your Wild Cloud configuration when added, making them easy to customize while maintaining a consistent deployment experience.
|
|
|
|
## Using Wild Cloud Apps
|
|
|
|
### Commands
|
|
|
|
Run these commands from your Wild Cloud home directory:
|
|
|
|
- **`wild-apps-list`** - Browse all available apps in the repository
|
|
- **`wild-app-add <app-name>`** - Add an app to your cluster:
|
|
- Copies the app manifest to your `apps` directory
|
|
- Adds default configuration to your `config.yaml`
|
|
- Generates required secrets in your `secrets.yaml`
|
|
- Compiles templates with your configuration
|
|
- **`wild-app-deploy <app-name>`** - Deploy or update the app in your cluster
|
|
|
|
### How It Works
|
|
|
|
1. **Add an app**: `wild-app-add` compiles the app's templates using your Wild Cloud configuration (domain, email, etc.) and creates standard Kustomize files in your Wild Cloud home directory
|
|
2. **Customize** (optional): Modify the compiled files in your home directory, or use Kustomize patches/overlays
|
|
3. **Deploy**: `wild-app-deploy` applies the Kustomize configuration to your cluster
|
|
4. **Manage**: Track changes with Git, update configurations as needed
|
|
|
|
### Dependencies
|
|
|
|
Some apps require other apps to function. For example:
|
|
- **Immich** requires PostgreSQL and Redis
|
|
- **OpenProject** requires PostgreSQL and Memcached
|
|
- **Gitea** requires PostgreSQL
|
|
|
|
When you add an app, check its `requires` field in the manifest and ensure dependencies are added first.
|
|
|
|
## Available Apps
|
|
|
|
This repository includes apps for:
|
|
- Content management (Ghost, Discourse)
|
|
- Project management (OpenProject)
|
|
- Photo management (Immich)
|
|
- Code hosting (Gitea)
|
|
- Email marketing (Listmonk, Keila)
|
|
- AI interfaces (Open WebUI, vLLM)
|
|
- Databases (PostgreSQL, MySQL, Redis, Memcached)
|
|
- And more...
|
|
|
|
Run `wild-apps-list` to see the full catalog with descriptions.
|
|
|
|
## Contributing
|
|
|
|
Want to add a new app or improve an existing one? See [ADDING-APPS.md](ADDING-APPS.md) for detailed guidance on creating Wild Cloud apps.
|
|
|
|
Contributions are welcome via pull requests. Ensure your app follows the Wild Cloud conventions and includes all required files.
|
|
|
|
## Notice: Third-Party Software
|
|
|
|
The Kubernetes manifests and Kustomize files in this directory are designed to deploy **third-party software**.
|
|
|
|
Unless otherwise stated, the software deployed by these manifests **is not authored or maintained** by this project. All copyrights, licenses, and responsibilities for that software remain with the respective upstream authors.
|
|
|
|
These files are provided solely for convenience and automation. Users are responsible for reviewing and complying with the licenses of the software they deploy.
|
|
|
|
This project is licensed under the GNU AGPLv3 or later, but this license does **not apply** to the third-party software being deployed.
|
|
|
|
See individual deployment directories for upstream project links and container sources.
|