add contribution guidelines for icon, thumbnail and screenshots (#163)
Signed-off-by: Tiger Wang <tigerwang@outlook.com> Co-authored-by: 老竭力 <jerrykuku@qq.com>
This commit is contained in:
parent
d60068344f
commit
e8c300daba
|
@ -4,7 +4,32 @@ This document describes how to contribute an app to CasaOS AppStore.
|
||||||
|
|
||||||
## Guidelines
|
## Guidelines
|
||||||
|
|
||||||
A CasaOS App is a Docker Compose app, or a *compose app*.
|
### Project Structure
|
||||||
|
|
||||||
|
```bash
|
||||||
|
CasaOS-AppStore
|
||||||
|
├─ category-list.json # Configuration file for category list
|
||||||
|
├─ recommend-list.json # Configuration file for recommended apps list
|
||||||
|
├─ featured-apps.json # TBD
|
||||||
|
├─ help # Help script for old version app store
|
||||||
|
├─ Apps # Apps Store files
|
||||||
|
├─ build # Installation script for Apps Store
|
||||||
|
└─ psd-source # Icon thumbnail screenshot PSD Templates
|
||||||
|
```
|
||||||
|
|
||||||
|
### A complete app profile should include the following contents
|
||||||
|
|
||||||
|
```bash
|
||||||
|
App-Name
|
||||||
|
├─ docker-compose.yml # A valid Docker Compose file
|
||||||
|
├─ icon.png # App icon
|
||||||
|
├─ thumbnail.png # Required when the app is used as a recommended app
|
||||||
|
├─ screenshot-1.png # Three screenshots introducing the app are required in the app details
|
||||||
|
├─ screenshot-2.png
|
||||||
|
└─ screenshot-3.png
|
||||||
|
```
|
||||||
|
|
||||||
|
#### A CasaOS App is a Docker Compose app, or a *compose app*
|
||||||
|
|
||||||
Each directory under [Apps](Apps) correspond to a CasaOS App. The directory should contain at least a `docker-compose.yml` file:
|
Each directory under [Apps](Apps) correspond to a CasaOS App. The directory should contain at least a `docker-compose.yml` file:
|
||||||
|
|
||||||
|
@ -28,9 +53,9 @@ Each directory under [Apps](Apps) correspond to a CasaOS App. The directory shou
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
environment:
|
environment:
|
||||||
PGID: $PGID # Preset Group ID
|
PGID: $PGID # Preset Group ID
|
||||||
PUID: $PUID # Preset User ID
|
PUID: $PUID # Preset User ID
|
||||||
TZ: $TZ # Current system timezone
|
TZ: $TZ # Current system timezone
|
||||||
...
|
...
|
||||||
volumes:
|
volumes:
|
||||||
- type: bind
|
- type: bind
|
||||||
|
@ -47,17 +72,17 @@ Each directory under [Apps](Apps) correspond to a CasaOS App. The directory shou
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
x-casaos:
|
x-casaos:
|
||||||
envs: # description of each environment variable
|
envs: # description of each environment variable
|
||||||
...
|
...
|
||||||
- container: PUID
|
- container: PUID
|
||||||
description:
|
description:
|
||||||
en_us: Run Syncthing as specified uid.
|
en_us: Run Syncthing as specified uid.
|
||||||
ports: # description of each port
|
ports: # description of each port
|
||||||
- container: "8384"
|
- container: "8384"
|
||||||
description:
|
description:
|
||||||
en_us: WebUI HTTP Port
|
en_us: WebUI HTTP Port
|
||||||
...
|
...
|
||||||
volumes: # description of each volume
|
volumes: # description of each volume
|
||||||
- container: /config
|
- container: /config
|
||||||
description:
|
description:
|
||||||
en_us: Syncthing config directory.
|
en_us: Syncthing config directory.
|
||||||
|
@ -72,26 +97,34 @@ Each directory under [Apps](Apps) correspond to a CasaOS App. The directory shou
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
x-casaos:
|
x-casaos:
|
||||||
architectures: # a list of architectures that the app supports
|
architectures: # a list of architectures that the app supports
|
||||||
- amd64
|
- amd64
|
||||||
- arm
|
- arm
|
||||||
- arm64
|
- arm64
|
||||||
main: syncthing # the name of the main service under `services`
|
main: syncthing # the name of the main service under `services`
|
||||||
author: CasaOS Team
|
author: CasaOS Team
|
||||||
category: Backup
|
category: Backup
|
||||||
description: # multiple locales are supported
|
description: # multiple locales are supported
|
||||||
en_us: Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose where it is stored, whether it is shared with some third party, and how it's transmitted over the internet.
|
en_us: Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose where it is stored, whether it is shared with some third party, and how it's transmitted over the internet.
|
||||||
developer: Syncthing
|
developer: Syncthing
|
||||||
icon: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Syncthing/icon.png
|
icon: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Syncthing/icon.png
|
||||||
tagline: # multiple locales are supported
|
tagline: # multiple locales are supported
|
||||||
en_us: Free, secure, and distributed file synchronisation tool.
|
en_us: Free, secure, and distributed file synchronisation tool.
|
||||||
thumbnail: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Jellyfin/thumbnail.jpg
|
thumbnail: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Jellyfin/thumbnail.jpg
|
||||||
title: # multiple locales are supported
|
title: # multiple locales are supported
|
||||||
en_us: Syncthing
|
en_us: Syncthing
|
||||||
tips:
|
tips:
|
||||||
before_install:
|
before_install:
|
||||||
en_us: |
|
en_us: |
|
||||||
(some notes for user to read prior to installation, such as preset `username` and `password` - markdown is supported!)
|
(some notes for user to read prior to installation, such as preset `username` and `password` - markdown is supported!)
|
||||||
index: / # the index page for web UI, e.g. index.html
|
index: / # the index page for web UI, e.g. index.html
|
||||||
port_map: "8384" # the port for web UI
|
port_map: "8384" # the port for web UI
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Specifications of Icon, Thumbnail and Screenshots
|
||||||
|
|
||||||
|
- Icon image should be a transparent background PNG image with a size of 192x192 pixels.
|
||||||
|
- Thumbnail image should be 784x442 pixels, with a rounded corner mask. It is recommended to be saved as a PNG image with a transparent background.
|
||||||
|
- Screenshot image should be 1280x720 pixels and can be saved in either PNG or JPG format. Please try to keep the file size as small as possible.
|
||||||
|
|
||||||
|
Please find the prepared [PSD template files](psd-source), to quickly create the above images if you need.
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue