Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
.git
.gitignore
.github
.gitignore
.gitattributes
READMETEMPLATE.md

README.md
READMETEMPLATE.md

# build junk
**/*.md~
**/*.swp
**/.DS_Store
142 changes: 55 additions & 87 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,123 +1,91 @@
# Contributing to lidarr
# Contributing to docker-lidarr

## Gotchas
Thank you for taking the time to contribute to this project.
We appreciate all contributions, but please follow the guidelines below to ensure a smooth review process and CI pipeline execution.

* 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.
* Read, and fill the Pull Request template
* 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
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
* 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://linuxserver.io/discord)
---

## Common files
## Important guidelines (read first)

| File | Use case |
| :----: | --- |
| `Dockerfile` | Dockerfile used to build amd64 images |
| `Dockerfile.aarch64` | Dockerfile used to build 64bit ARM architectures |
| `Dockerfile.armhf` | Dockerfile used to build 32bit ARM architectures |
| `Jenkinsfile` | This file is a product of our builder and should not be edited directly. This is used to build the image |
| `jenkins-vars.yml` | This file is used to generate the `Jenkinsfile` mentioned above, it only affects the build-process |
| `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 |
| `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 |
| `readme-vars.yml` | This file is used to generate the `README.md` |
- Make sure all changes are completed before opening a Pull Request.
Our CI pipeline builds every commit after the PR is opened.

## Readme
- Always fill out the Pull Request template completely.

If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-lidarr/edit/master/readme-vars.yml).
- Do NOT open PRs for simple typos in documentation, code, or README.
Instead, open an issue and we will handle it.

These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-lidarr)
- If your PR fixes an existing issue, include:
`closes #<issue number>` in the PR description or commit message.

### Fixing typos or clarify the text in the readme
- For discussions and help:
- Discord server: https://linuxserver.io/discord
- Dev chat: https://discordapp.com/channels/354974912613449730/757585807061155840

There are variables for multiple parts of the readme, the most common ones are:
---

| Variable | Description |
| :----: | --- |
| `project_blurb` | This is the short excerpt shown above the project logo. |
| `app_setup_block` | This is the text that shows up under "Application Setup" if enabled |
## Repository structure overview

| File | Purpose |
|------|--------|
| `Dockerfile` | AMD64 build definition |
| `Dockerfile.aarch64` | ARM64 build definition |
| `Dockerfile.armhf` | ARM32 build definition |
| `Jenkinsfile` | Auto-generated CI pipeline (DO NOT EDIT) |
| `jenkins-vars.yml` | Build configuration for Jenkins |
| `package_versions.txt` | Generated package inventory |
| `README.md` | Auto-generated documentation (DO NOT EDIT) |
| `readme-vars.yml` | Source file for README generation |

### Parameters
---

The compose and run examples are also generated from these variables.
## README changes

We have a [reference file](https://github.com/linuxserver/docker-jenkins-builder/blob/master/vars/_container-vars-blank) in our Jenkins Builder.
⚠️ DO NOT edit `README.md` directly.

These are prefixed with `param_` for required parameters, or `opt_param` for optional parameters, except for `cap_add`.
Remember to enable param, if currently disabled. This differs between parameters, and can be seen in the reference file.
All README changes must be made in:

Devices, environment variables, ports and volumes expects its variables in a certain way.
https://github.com/linuxserver/docker-lidarr/edit/master/readme-vars.yml

### Devices
This file is used by the Jenkins build system and documentation generator:

```yml
param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
opt_param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
```
https://docs.linuxserver.io/images/docker-lidarr

### Environment variables
---

```yml
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
opt_param_env_vars:
- { env_var: "VERSION", env_value: "latest", desc: "Supported values are LATEST, PLEXPASS or a specific version number." }
```
### Common README variables

### Ports
| Variable | Description |
|----------|-------------|
| `project_blurb` | Short description shown under the project logo |
| `app_setup_block` | Application setup instructions section |

```yml
param_ports:
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
opt_param_ports:
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
```
---

### Volumes
## Container parameters system

```yml
param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
opt_param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
```
All Docker run / compose examples are generated automatically.

### Testing template changes
Reference variables:
https://github.com/linuxserver/docker-jenkins-builder/blob/master/vars/_container-vars-blank

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.
---

## Dockerfiles

We use multiple Dockerfiles in our repos, this is because sometimes some CPU architectures needs different packages to work.
If you are proposing additional packages to be added, ensure that you added the packages to all the Dockerfiles in alphabetical order.
We use multiple Dockerfiles because different CPU architectures require different packages.

If you modify dependencies, ensure changes are applied consistently across all Dockerfiles in alphabetical order.

### Testing your changes
---

### Testing your changes locally

```bash
git clone https://github.com/linuxserver/docker-lidarr.git
cd docker-lidarr

docker build \
--no-cache \
--pull \
-t linuxserver/lidarr:latest .
```

The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`

```bash
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
```

Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.

## Update the changelog

If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-lidarr/tree/master/root), add an entry to the changelog

```yml
changelogs:
- { date: "DD.MM.YY:", desc: "Added some love to templates" }
```
-t linuxserver/lidarr:latest .
3 changes: 2 additions & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
github: linuxserver
open_collective: linuxserver
custom: ["https://opencollective.com/lidarr",]
custom:
- https://opencollective.com/lidarr
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
blank_issues_enabled: false

contact_links:
- name: Discord chat support
url: https://linuxserver.io/discord
Expand All @@ -10,4 +11,4 @@ contact_links:

- name: Documentation
url: https://docs.linuxserver.io/images/docker-lidarr
about: Documentation - information about all of our containers.
about: Documentation and container information.
75 changes: 39 additions & 36 deletions .github/ISSUE_TEMPLATE/issue.bug.yml
Original file line number Diff line number Diff line change
@@ -1,76 +1,79 @@
# Based on the issue template
name: Bug report
description: Create a report to help us improve
title: "[BUG] <title>"
labels: [Bug]
description: Create a report to help improve the container
title: "[BUG] "
labels:
- bug

body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
label: Existing issue check
description: Search existing issues before creating a new one.
options:
- label: I have searched the existing issues
- label: I searched existing issues
required: true

- type: input
attributes:
label: Container version
placeholder: lscr.io/linuxserver/lidarr:latest
validations:
required: true

- type: textarea
attributes:
label: Current Behavior
description: Tell us what happens instead of the expected behavior.
label: Current behavior
description: What is happening?
validations:
required: true

- type: textarea
attributes:
label: Expected Behavior
description: Tell us what should happen.
label: Expected behavior
description: What should happen?
validations:
required: false
required: true

- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
label: Steps to reproduce
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
1. Deploy container
2. Open web UI
3. Trigger action
4. Observe error
validations:
required: true

- type: textarea
attributes:
label: Environment
description: |
examples:
- **OS**: Ubuntu 20.04
- **How docker service was installed**: distro's packagemanager
value: |
- OS:
- How docker service was installed:
render: markdown
- Docker version:
- Docker compose version:
validations:
required: false
required: true

- type: dropdown
attributes:
label: CPU architecture
options:
- x86-64
- x86_64
- arm64
validations:
required: true

- type: textarea
attributes:
label: Docker creation
description: |
Command used to create docker container
Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container
render: bash
label: Docker compose
render: yaml
validations:
required: true

- type: textarea
attributes:
description: |
Provide a full docker log, output of "docker logs lidarr"
label: Container logs
placeholder: |
Output of `docker logs lidarr`
render: bash
validations:
required: true
required: true
28 changes: 13 additions & 15 deletions .github/ISSUE_TEMPLATE/issue.feature.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,29 @@
# Based on the issue template
name: Feature request
description: Suggest an idea for this project
title: "[FEAT] <title>"
labels: [enhancement]
description: Suggest a new feature or improvement
title: "[FEAT] "
labels:
- enhancement

body:
- type: checkboxes
attributes:
label: Is this a new feature request?
description: Please search to see if a feature request already exists.
label: Existing feature request check
options:
- label: I have searched the existing issues
- label: I searched existing feature requests
required: true

- type: textarea
attributes:
label: Wanted change
description: Tell us what you want to happen.
label: Requested change
validations:
required: true

- type: textarea
attributes:
label: Reason for change
description: Justify your request, why do you want it, what is the benefit.
label: Why is this useful?
validations:
required: true

- type: textarea
attributes:
label: Proposed code change
description: Do you have a potential code change in mind?
validations:
required: false
label: Proposed implementation
Loading