Developer Guide
Community Applications (CA) is a plugin for Unraid that provides a curated catalog of Docker containers (apps) and plugins. This guide explains how developers can create, test, and submit their own apps and plugins for inclusion in CA. Submissions are moderated to ensure safety, compatibility, and a positive user experience.
Prerequisites
- Install the Community Applications plugin on your Unraid system via the Plugins tab in the Unraid web UI.
- Create a GitHub account and enable two-factor authentication (2FA) on your repositories—this is required for security.
- Create a support thread for your app or plugin on the Unraid forums (post in any relevant section; a moderator will move it to the appropriate forum, such as Docker Containers or Plugin Support).
- For Docker apps, enable Docker Authoring Mode in Settings → Docker (stop the Docker service first, enable Advanced View, toggle Authoring Mode, then restart the service).
- Familiarize yourself with CA policies at CA Application Policies to avoid rejection or blacklisting.
📚 Documentation Sections
Update Process and Sync Frequency
CA maintains a centralized feed of approved apps and plugins, hosted at https://raw.githubusercontent.com/Squidly271/AppFeed/master/applicationFeed.json. This feed is aggregated from developer GitHub repositories and updated by moderators.
- Sync Frequency: CA checks and syncs with developer GitHub repositories approximately every 2 hours. Users can manually trigger a refresh in the CA interface via the Refresh Apps button (under the Apps tab) to pull the latest feed sooner.
- Time for New Submissions to Appear: After moderator approval (which can take from hours to days depending on review queue and any required fixes), the app or plugin typically becomes visible in the CA store within ~2 hours of feed update.
- Time for Updates to Appear: Once changes are pushed to your GitHub repository (e.g., XML updates, new versions), they propagate to the CA store within 2 hours during the next automated sync. If the update involves moderator review (e.g., significant changes to plugin code), expect additional delay for approval.
- Local Caching: Users' local CA instances cache the feed; manual refreshes or restarts may be needed to see updates immediately. In cases of issues (e.g., DNS or network problems), check diagnostics or forum support threads for troubleshooting.
For plugins, new submissions or major updates trigger a manual notification and code review by moderators like @Squid, which may extend timelines beyond the automated sync.
Best Practices
- Ports: Reference container ports in WebUI (e.g.,
[PORT:8080]) for dynamic mapping. - Volumes: Avoid host paths; use container paths to let users configure.
- Environment Variables: Provide defaults and clear descriptions; mask passwords.
- Icons and Descriptions: Use reliable URLs for icons; write concise, informative descriptions with Markdown.
- Compatibility: Include
<Requires>for dependencies (e.g., hardware plugins). - Updates: Set
<TemplateURL>false</TemplateURL>in Docker XML to prevent auto-overwrites. - Security: No HTML tags, no extra bash commands, no affiliate links.
- Testing: Use Authoring Mode; check CA Statistics for errors.
- Uniqueness: Avoid duplicates in saturated categories (e.g., media servers) unless offering unique features.
Policies and Moderation
- All submissions must comply with CA policies: open-source preferred, no malicious code, 2FA required.
- Blacklisting occurs for violations (e.g., security issues, repository changes).
- Appeals: PM @Squid; escalate to @SpencerJ if needed.
- Abandoned apps/plugins may be removed without notice.
- For full details, see CA Application Policies.
This documentation follows Unraid's style guide for clarity and structure. Submit updates or corrections via the Unraid forums or GitHub pull requests to relevant repos.