Skip to content

Commit 90d5764

Browse files
committed
initial release
1 parent 8a0127d commit 90d5764

33 files changed

+2919
-1
lines changed

.dockerignore

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.git
2+
.gitignore
3+
.github
4+
.gitattributes
5+
READMETEMPLATE.md
6+
README.md

.editorconfig

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# This file is globally distributed to all container image projects from
2+
# https://github.com/linuxserver/docker-jenkins-builder/blob/master/.editorconfig
3+
4+
# top-most EditorConfig file
5+
root = true
6+
7+
# Unix-style newlines with a newline ending every file
8+
[*]
9+
end_of_line = lf
10+
insert_final_newline = true
11+
# trim_trailing_whitespace may cause unintended issues and should not be globally set true
12+
trim_trailing_whitespace = false
13+
14+
[{Dockerfile*,**.yml}]
15+
indent_style = space
16+
indent_size = 2
17+
18+
[{**.sh,root/etc/s6-overlay/s6-rc.d/**,root/etc/cont-init.d/**,root/etc/services.d/**}]
19+
indent_style = space
20+
indent_size = 4

.gitattributes

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto
3+
4+
# Custom for Visual Studio
5+
*.cs diff=csharp
6+
7+
# Standard to msysgit
8+
*.doc diff=astextplain
9+
*.DOC diff=astextplain
10+
*.docx diff=astextplain
11+
*.DOCX diff=astextplain
12+
*.dot diff=astextplain
13+
*.DOT diff=astextplain
14+
*.pdf diff=astextplain
15+
*.PDF diff=astextplain
16+
*.rtf diff=astextplain
17+
*.RTF diff=astextplain

.github/CONTRIBUTING.md

+123
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
# Contributing to yaak
2+
3+
## Gotchas
4+
5+
* While contributing make sure to make all your changes before creating a Pull Request, as our pipeline builds each commit after the PR is open.
6+
* Read, and fill the Pull Request template
7+
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
8+
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
9+
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://discord.gg/YWrKVTn)
10+
11+
## Common files
12+
13+
| File | Use case |
14+
| :----: | --- |
15+
| `Dockerfile` | Dockerfile used to build amd64 images |
16+
| `Dockerfile.aarch64` | Dockerfile used to build 64bit ARM architectures |
17+
| `Dockerfile.armhf` | Dockerfile used to build 32bit ARM architectures |
18+
| `Jenkinsfile` | This file is a product of our builder and should not be edited directly. This is used to build the image |
19+
| `jenkins-vars.yml` | This file is used to generate the `Jenkinsfile` mentioned above, it only affects the build-process |
20+
| `package_versions.txt` | This file is generated as a part of the build-process and should not be edited directly. It lists all the installed packages and their versions |
21+
| `README.md` | This file is a product of our builder and should not be edited directly. This displays the readme for the repository and image registries |
22+
| `readme-vars.yml` | This file is used to generate the `README.md` |
23+
24+
## Readme
25+
26+
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
27+
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-yaak/edit/main/readme-vars.yml).
28+
29+
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
30+
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-yaak)
31+
32+
### Fixing typos or clarify the text in the readme
33+
34+
There are variables for multiple parts of the readme, the most common ones are:
35+
36+
| Variable | Description |
37+
| :----: | --- |
38+
| `project_blurb` | This is the short excerpt shown above the project logo. |
39+
| `app_setup_block` | This is the text that shows up under "Application Setup" if enabled |
40+
41+
### Parameters
42+
43+
The compose and run examples are also generated from these variables.
44+
45+
We have a [reference file](https://github.com/linuxserver/docker-jenkins-builder/blob/master/vars/_container-vars-blank) in our Jenkins Builder.
46+
47+
These are prefixed with `param_` for required parameters, or `opt_param` for optional parameters, except for `cap_add`.
48+
Remember to enable param, if currently disabled. This differs between parameters, and can be seen in the reference file.
49+
50+
Devices, environment variables, ports and volumes expects its variables in a certain way.
51+
52+
### Devices
53+
54+
```yml
55+
param_devices:
56+
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
57+
opt_param_devices:
58+
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
59+
```
60+
61+
### Environment variables
62+
63+
```yml
64+
param_env_vars:
65+
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
66+
opt_param_env_vars:
67+
- { env_var: "VERSION", env_value: "latest", desc: "Supported values are LATEST, PLEXPASS or a specific version number." }
68+
```
69+
70+
### Ports
71+
72+
```yml
73+
param_ports:
74+
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
75+
opt_param_ports:
76+
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
77+
```
78+
79+
### Volumes
80+
81+
```yml
82+
param_volumes:
83+
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
84+
opt_param_volumes:
85+
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
86+
```
87+
88+
### Testing template changes
89+
90+
After you make any changes to the templates, you can use our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) to have the files updated from the modified templates. Please use the command found under `Running Locally` [on this page](https://github.com/linuxserver/docker-jenkins-builder/blob/master/README.md) to generate them prior to submitting a PR.
91+
92+
## Dockerfiles
93+
94+
We use multiple Dockerfiles in our repos, this is because sometimes some CPU architectures needs different packages to work.
95+
If you are proposing additional packages to be added, ensure that you added the packages to all the Dockerfiles in alphabetical order.
96+
97+
### Testing your changes
98+
99+
```bash
100+
git clone https://github.com/linuxserver/docker-yaak.git
101+
cd docker-yaak
102+
docker build \
103+
--no-cache \
104+
--pull \
105+
-t linuxserver/yaak:latest .
106+
```
107+
108+
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
109+
110+
```bash
111+
docker run --rm --privileged multiarch/qemu-user-static:register --reset
112+
```
113+
114+
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
115+
116+
## Update the changelog
117+
118+
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-yaak/tree/main/root), add an entry to the changelog
119+
120+
```yml
121+
changelogs:
122+
- { date: "DD.MM.YY:", desc: "Added some love to templates" }
123+
```

.github/FUNDING.yml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
github: linuxserver
2+
open_collective: linuxserver
3+
custom: ["https://github.com/sponsors/gschier",]

.github/ISSUE_TEMPLATE/config.yml

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Discord chat support
4+
url: https://discord.gg/YWrKVTn
5+
about: Realtime support / chat with the community and the team.
6+
7+
- name: Discourse discussion forum
8+
url: https://discourse.linuxserver.io
9+
about: Post on our community forum.
10+
11+
- name: Documentation
12+
url: https://docs.linuxserver.io/images/docker-yaak
13+
about: Documentation - information about all of our containers.

.github/ISSUE_TEMPLATE/issue.bug.yml

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Based on the issue template
2+
name: Bug report
3+
description: Create a report to help us improve
4+
title: "[BUG] <title>"
5+
labels: [Bug]
6+
body:
7+
- type: checkboxes
8+
attributes:
9+
label: Is there an existing issue for this?
10+
description: Please search to see if an issue already exists for the bug you encountered.
11+
options:
12+
- label: I have searched the existing issues
13+
required: true
14+
- type: textarea
15+
attributes:
16+
label: Current Behavior
17+
description: Tell us what happens instead of the expected behavior.
18+
validations:
19+
required: true
20+
- type: textarea
21+
attributes:
22+
label: Expected Behavior
23+
description: Tell us what should happen.
24+
validations:
25+
required: false
26+
- type: textarea
27+
attributes:
28+
label: Steps To Reproduce
29+
description: Steps to reproduce the behavior.
30+
placeholder: |
31+
1. In this environment...
32+
2. With this config...
33+
3. Run '...'
34+
4. See error...
35+
validations:
36+
required: true
37+
- type: textarea
38+
attributes:
39+
label: Environment
40+
description: |
41+
examples:
42+
- **OS**: Ubuntu 20.04
43+
- **How docker service was installed**: distro's packagemanager
44+
value: |
45+
- OS:
46+
- How docker service was installed:
47+
render: markdown
48+
validations:
49+
required: false
50+
- type: dropdown
51+
attributes:
52+
label: CPU architecture
53+
options:
54+
- x86-64
55+
validations:
56+
required: true
57+
- type: textarea
58+
attributes:
59+
label: Docker creation
60+
description: |
61+
Command used to create docker container
62+
Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container
63+
render: bash
64+
validations:
65+
required: true
66+
- type: textarea
67+
attributes:
68+
description: |
69+
Provide a full docker log, output of "docker logs yaak"
70+
label: Container logs
71+
placeholder: |
72+
Output of `docker logs yaak`
73+
render: bash
74+
validations:
75+
required: true
+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Based on the issue template
2+
name: Feature request
3+
description: Suggest an idea for this project
4+
title: "[FEAT] <title>"
5+
labels: [enhancement]
6+
body:
7+
- type: checkboxes
8+
attributes:
9+
label: Is this a new feature request?
10+
description: Please search to see if a feature request already exists.
11+
options:
12+
- label: I have searched the existing issues
13+
required: true
14+
- type: textarea
15+
attributes:
16+
label: Wanted change
17+
description: Tell us what you want to happen.
18+
validations:
19+
required: true
20+
- type: textarea
21+
attributes:
22+
label: Reason for change
23+
description: Justify your request, why do you want it, what is the benefit.
24+
validations:
25+
required: true
26+
- type: textarea
27+
attributes:
28+
label: Proposed code change
29+
description: Do you have a potential code change in mind?
30+
validations:
31+
required: false

.github/PULL_REQUEST_TEMPLATE.md

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<!--- Provide a general summary of your changes in the Title above -->
2+
3+
[linuxserverurl]: https://linuxserver.io
4+
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
5+
6+
7+
<!--- Before submitting a pull request please check the following -->
8+
9+
<!--- If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR -->
10+
<!--- Ask yourself if this modification is something the whole userbase will benefit from, if this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
11+
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
12+
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
13+
<!--- We maintain a changelog of major revisions to the container at the end of readme-vars.yml in the root of this repository, please add your changes there if appropriate -->
14+
15+
16+
<!--- Coding guidelines: -->
17+
<!--- 1. Installed packages in the Dockerfiles should be in alphabetical order -->
18+
<!--- 2. Changes to Dockerfile should be replicated in Dockerfile.armhf and Dockerfile.aarch64 if applicable -->
19+
<!--- 3. Indentation style (tabs vs 4 spaces vs 1 space) should match the rest of the document -->
20+
<!--- 4. Readme is auto generated from readme-vars.yml, make your changes there -->
21+
22+
------------------------------
23+
24+
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-yaak/blob/main/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
25+
26+
------------------------------
27+
28+
<!--- We welcome all PR’s though this doesn’t guarantee it will be accepted. -->
29+
30+
## Description:
31+
<!--- Describe your changes in detail -->
32+
33+
## Benefits of this PR and context:
34+
<!--- Please explain why we should accept this PR. If this fixes an outstanding bug, please reference the issue # -->
35+
36+
## How Has This Been Tested?
37+
<!--- Please describe in detail how you tested your changes. -->
38+
<!--- Include details of your testing environment, and the tests you ran to -->
39+
<!--- see how your change affects other areas of the code, etc. -->
40+
41+
42+
## Source / References:
43+
<!--- Please include any forum posts/github links relevant to the PR -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Issue & PR Tracker
2+
3+
on:
4+
issues:
5+
types: [opened,reopened,labeled,unlabeled,closed]
6+
pull_request_target:
7+
types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled,closed]
8+
pull_request_review:
9+
types: [submitted,edited,dismissed]
10+
11+
jobs:
12+
manage-project:
13+
permissions:
14+
issues: write
15+
uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1
16+
secrets: inherit
+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: Mark stale issues and pull requests
2+
on:
3+
schedule:
4+
- cron: '22 2 * * *'
5+
workflow_dispatch:
6+
7+
jobs:
8+
stale:
9+
permissions:
10+
issues: write
11+
pull-requests: write
12+
uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1
13+
secrets: inherit

0 commit comments

Comments
 (0)