You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Improve template with setup documentation and best practices
- Add setup checklist and ghcr.io visibility documentation to README
- Document minimal vs full base image options in Dockerfile
- Add Git LFS checkout to CI and release workflows
- Add .gitattributes template for Git LFS configuration
- Document common system dependencies for R package compilation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+67-6Lines changed: 67 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,67 @@ The `Template R Operator` is a template repository for the creation of R operato
11
11
12
12
Detailed information can be found in the [Tercen developer's guide](https://tercen.github.io/developers_guide/).
13
13
14
+
## Setup Checklist
15
+
16
+
After creating your operator from this template, complete the following steps:
17
+
18
+
-[ ] Update `operator.json`:
19
+
- Change `name` and `description`
20
+
- Update `authors` to your organization
21
+
- Update `container` to match your repo: `ghcr.io/YOUR_ORG/YOUR_REPO:main`
22
+
- Update `urls` similarly
23
+
- Configure `properties` for your operator's parameters
24
+
-[ ] If using minimal base image, uncomment and configure the Dockerfile accordingly
25
+
-[ ] Run `renv::init()` locally and commit `renv.lock`
26
+
-[ ] Push your changes to trigger the CI workflow
27
+
-[ ]**Important**: Make the Docker package publicly accessible (see below)
28
+
29
+
## GitHub Container Registry Visibility
30
+
31
+
By default, GitHub Container Registry (ghcr.io) packages inherit the repository's visibility settings. If your repository is **private**, the Docker image will also be private, and Tercen/BioNavigator will fail to pull it with an error like:
32
+
33
+
```
34
+
Error response from daemon: denied
35
+
```
36
+
37
+
**To fix this**, you have two options:
38
+
39
+
1.**Make the package public** (recommended if repo stays private):
40
+
- Go to `https://github.com/orgs/YOUR_ORG/packages`
41
+
- Find your operator package
42
+
- Click "Package settings"
43
+
- Under "Danger Zone", click "Change visibility" and select "Public"
44
+
45
+
2.**Make the repository public**:
46
+
- This automatically makes associated packages public
47
+
48
+
## Dockerfile Options
49
+
50
+
This template provides two base image options:
51
+
52
+
| Option | Base Image | Use Case |
53
+
|--------|------------|----------|
54
+
|**Full runtime** (default) |`tercen/runtime-r44:4.4.3-8`| Most dependencies included, easier setup |
If using the minimal runtime, uncomment the relevant lines in the Dockerfile and add any system dependencies your R packages require. Common dependencies:
58
+
59
+
-`gcc g++ musl-dev make` - C/C++ compilation (most R packages)
60
+
-`gfortran` - Fortran compiler (statistical packages, linear algebra)
61
+
-`curl-dev openssl-dev` - HTTP/SSL support
62
+
-`cargo rust` - Rust toolchain (some modern R packages)
63
+
64
+
## Git LFS
65
+
66
+
This template includes a `.gitattributes` file with commented-out LFS tracking rules for common large file types (`.rds`, `.csv`, `.pdf`, images). If your operator requires large data files:
67
+
68
+
1. Install Git LFS: `git lfs install`
69
+
2. Uncomment the relevant lines in `.gitattributes` for file types you need to track
70
+
3. Run `git lfs track` to verify your patterns
71
+
4. Commit the updated `.gitattributes` before adding large files
72
+
73
+
---
74
+
14
75
Below is the operator README standard structure.
15
76
16
77
### Description
@@ -21,12 +82,12 @@ The `Template R operator` is a template repository for the creation of R operato
0 commit comments