| .github | ||
| markdown | ||
| platforms | ||
| software | ||
| tags | ||
| .gitignore | ||
| .hecat.awesome_lint.yml | ||
| .hecat.export.yml | ||
| .hecat.import.yml | ||
| .hecat.update_metadata.yml | ||
| .mailmap | ||
| AUTHORS.md | ||
| LICENSE | ||
| licenses-nonfree.yml | ||
| licenses.yml | ||
| Makefile | ||
| README.md | ||
awesome-selfhosted-data
This repository holds data used to generate https://github.com/awesome-selfhosted/awesome-selfhosted
Status: experimental
Contributing
Don't know where to start? Check issues labeled help wanted, fix and curation.
Maintenance
- Software with no development activity for 6-12 months may be removed from the list
- Unmaintained software without an active community and/or persistent security issues may be removed from the list
- Problems should be reported automatically:
Add new software to the list
- Please submit one item per issue/pull request. This eases reviewing and speeds up the addition process.
- Please check that your addition is not already listed at any of these lists (If it fits in one of those lists, please try to get it added there instead):
- Please search for relevant issues or pull requests, including closed ones.
- Create a new
.ymlfile based on the template below in thesoftware/directory:
# software/my-awesome-software.yml
name: "My awesome software" # required
website_url: "https://my.awesome.softwar.e" # required, URL of the software project's homepage
source_code_url: "https://gitlab.com/awesome/software" # required, URL where the full source code of the program can be downloaded
description: "A description of my awesome software, shorter than 250 characters." # required
licenses: # required, see licenses.yml for the full list of licenses
- Apache-2.0
- AGPL-3.0
platforms: # required, see platforms/ for the full list of platforms
- Java
- Python
- PHP
- Nodejs
- Deb
- Docker
tags: # required, , see tags/ for the full list of tags
- Automation
- Calendar
- File synchronization
depends_3rdparty: yes # required if the software depends on a third-party service outside the user's control
demo_url: "https://my.awesome.softwar.e/demo" # optional, link to an interactive demo of the software
related_software_url: "https://my.awesome.softwar.e/apps" # optional, link to a list of clients/addons/plugins/apps/bots... for the software
- remove comments and unused optional fields
- enter a descriptive commit message (such as
add My Awesome software) - select
Create a new branch for this commit and start a pull request - click
Propose new file - click
Create pull request
If you are not comfortable sending a pull request, please copy/edit the template above and post it in a new issue
In single page mode the software will only appear under the first category in its tags list, so choose wisely.
Maintenance
Rename a tag/category: the tag must be renamed in the appropriate tags/mytag.yml file. All references to it must be updated in tags/*.yml and software/*.yml.
Add a tag/category: Tags represent functional categories/features of the software. Any tag should have at least 3 list items attached to it, and be added to tags/tag-name.yml (use existing tags as example):
name: Project Management # required
description: '[Project management](https://en.wikipedia.org/wiki/Project_management) is the process of leading the work of a team to achieve all project goals within the given constraints.' # required
related_tags: # list of related tags, by name
- Ticketing
- Task management & To-do lists
delegate_to: [] # URL to redirect to/link to domain-specific software list
external_links: # external links
- title: awesome-sysadmin/Code Review
url: https://github.com/awesome-foss/awesome-sysadmin#code-review
Add a license: Free and Open-Source software licenses (preferably SPDX identifier, or custom licenses, must be added to licenses.yml (use existing licenses as example):
- identifier: ZPL-1.2
name: Zope Public License 1.2
url: http://zpl.pub/page/zplv12
Add a platform: languages/requirements/technologies used to run or build the software should be listed in platforms/platform-name.yml (use existing platforms as example):
name: Java
description: "[Java](https://en.wikipedia.org/wiki/Java_(programming_language)) is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible."
Automated tasks:
$ make help
install install build tools in a virtualenv
import import data from original list at https://github.com/awesome-selfhosted/awesome-selfhosted
update_metadata update metadata from project repositories/API
awesome_lint check data against awesome-selfhosted guidelines
export export markdown singlepage document from yaml data
help generate list of targets with descriptions
License
This list is under the Creative Commons Attribution-ShareAlike 3.0 Unported License