# \[SOLVED\] Question about using template to build my own image

**URL:** <https://universal-blue.discourse.group/t/solved-question-about-using-template-to-build-my-own-image/8936>\
**Category:** Contributing\
**Created:** [June 4, 2025, 11:07am UTC](https://universal-blue.discourse.group/t/solved-question-about-using-template-to-build-my-own-image/8936 "2025-06-04T11:07:28Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hugh\_Whelan](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/hugh_whelan/32/6767_2.png) [@Hugh\_Whelan](https://universal-blue.discourse.group/u/Hugh_Whelan)\
**Post date:** [June 4, 2025, 11:07am UTC](https://universal-blue.discourse.group/t/solved-question-about-using-template-to-build-my-own-image/8936/1 "2025-06-04T11:07:28Z")

</div>

I have “successfully” built a custom image using the template (the github is: [GitHub - whelanh/customBluefinDx: Experiment on building a custom image](https://github.com/whelanh/customBluefinDx)). I followed the steps to add the co-signing key. However when I attempt a `sudo bootc switch ghcr.io/whelanh/custombluefindx:latest`, I get the following error:

`ERROR Switching: Creating importer: failed to invoke method OpenImage: failed to invoke method OpenImage: unable to retrieve auth token: invalid username/password: unauthorized`

I would sincerely appreciate it if anyone can point me in the right direction to correct this. I suspect there is a step I’m missing in perhaps having to register somewhere(?) Sincere thanks…

---

<div class="post-metadata">

**Author:** ![fenglengshun](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/fenglengshun/32/367_2.png) [@fenglengshun](https://universal-blue.discourse.group/u/fenglengshun)\
**Post date:** [June 4, 2025, 11:21am UTC](https://universal-blue.discourse.group/t/solved-question-about-using-template-to-build-my-own-image/8936/2 "2025-06-04T11:21:47Z")

</div>

What about using `rpm-ostree rebase switch ostree-image-signed:docker://ghcr.io/whelanh/custombluefindx:latest`? I know the [Bluefin guide](https://docs.projectbluefin.io/administration/#manual-rebase-examples) uses `bootc` now, but `rpm-ostree rebase` may still work…

Ref:

> **[Rebase Guide - Bazzite Documentation](https://docs.bazzite.gg/Installing_and_Managing_Software/Updates_Rollbacks_and_Rebasing/rebase_guide/)**
>
> Bazzite is a custom image built upon Fedora Atomic Desktops that brings the best of Linux gaming to all of your devices.

---

<div class="post-metadata">

**Author:** ![Hugh\_Whelan](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/hugh_whelan/32/6767_2.png) [@Hugh\_Whelan](https://universal-blue.discourse.group/u/Hugh_Whelan)\
**Post date:** [June 4, 2025, 11:24am UTC](https://universal-blue.discourse.group/t/solved-question-about-using-template-to-build-my-own-image/8936/3 "2025-06-04T11:24:45Z")

</div>

> [@fenglengshun](#):
>
> rpm-ostree rebase switch ostree-image-signed:docker://ghcr.io/whelanh/custombluefindx:latest

Thank you very much for the suggestion. I had tried that (I should have mentioned it), but got a very similar error:

````rpm-ostree
Pulling manifest: ostree-image-signed:docker://ghcr.io/whelanh/custombluefindx:latest
error: Creating importer: failed to invoke method OpenImage: failed to invoke method OpenImage: unable to retrieve auth token: invalid username/password: unauthorized```
````

---

<div class="post-metadata">

**Author:** ![fenglengshun](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/fenglengshun/32/367_2.png) [@fenglengshun](https://universal-blue.discourse.group/u/fenglengshun)\
**Post date:** [June 4, 2025, 11:31am UTC](https://universal-blue.discourse.group/t/solved-question-about-using-template-to-build-my-own-image/8936/4 "2025-06-04T11:31:52Z")

</div>

Looking at the GitHub Actions page, it complained about casing:

> <https://github.com/whelanh/customBluefinDx/actions/runs/15440026021>

Also, I checked at the Packages tab in your repo’s page? If Actions completed correctly, it should output a package, like here in mine:

> **[GitHub - bayazidbh/ublue-whitesur](https://github.com/bayazidbh/ublue-whitesur)**
>
> Contribute to bayazidbh/ublue-whitesur development by creating an account on GitHub.

> **[bayazidbh - Packages](https://github.com/bayazidbh?tab=packages&repo_name=ublue-whitesur)**
>
> bayazidbh has 15 repositories available. Follow their code on GitHub.

I checked on a random fork from [image-template’s fork list](https://github.com/ublue-os/image-template/forks), and it outputted a package too:

> **[GitHub - cablespaghetti/aurora-corporate-edition: Aurora compatible with a corporate world](https://github.com/cablespaghetti/aurora-corporate-edition)**
>
> Aurora compatible with a corporate world

I’m currently outside, but I’d recommend comparing the latest successful Actions in both repos with yours. I’m going to go read it through as well, but it might take a while for me since I’m out.

---

<div class="post-metadata">

**Author:** ![Hugh\_Whelan](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/hugh_whelan/32/6767_2.png) [@Hugh\_Whelan](https://universal-blue.discourse.group/u/Hugh_Whelan)\
**Post date:** [June 4, 2025, 11:40am UTC](https://universal-blue.discourse.group/t/solved-question-about-using-template-to-build-my-own-image/8936/5 "2025-06-04T11:40:55Z")

</div>

I really appreciate your help and will study the differences between yours and mine. Mine did produce a package ([https://github.com/whelanh/customBluefinDx/pkgs/container/custombluefindx](https://github.com/whelanh/customBluefinDx/pkgs/container/custombluefindx)). Perhaps that casing problem is the root problem though. I will look into it. I did find some references to the possibility that it could be an upstream signing issue ([Bluefin update error (failed to invoke method OpenImage)](https://universal-blue.discourse.group/t/bluefin-update-error-failed-to-invoke-method-openimage/5586)), but that seems unlikely if everyone else isn’t having this problem. 😄

---

<div class="post-metadata">

**Author:** ![fenglengshun](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/fenglengshun/32/367_2.png) [@fenglengshun](https://universal-blue.discourse.group/u/fenglengshun)\
**Post date:** [June 4, 2025, 11:42am UTC](https://universal-blue.discourse.group/t/solved-question-about-using-template-to-build-my-own-image/8936/6 "2025-06-04T11:42:38Z")

</div>

Perhaps this is the issue? Try setting the package to public, just in case.

> **[Github Container registry (ghcr.io) packages not appearing in webinterface ·...](https://github.com/orgs/community/discussions/25775#discussioncomment-3249210)**
>
> Hello Github community, I wanted to try out the new Github Container registry that was announced today. With the Docker CLI I could successfully log in (using a personal access token) and push an i...

---

<div class="post-metadata">

**Author:** ![benleolander](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/benleolander/32/630_2.png) [@benleolander](https://universal-blue.discourse.group/u/benleolander)\
**Post date:** [June 4, 2025, 11:46am UTC](https://universal-blue.discourse.group/t/solved-question-about-using-template-to-build-my-own-image/8936/7 "2025-06-04T11:46:31Z")

</div>

I had a similar issue, and this resolved it. I’d initially set my repository to private, and so the packages it was building were also private.

Setting both repo AND package to Public sorted things out

---

<div class="post-metadata">

**Author:** ![Hugh\_Whelan](https://yyz2.discourse-cdn.com/free1/user_avatar/universal-blue.discourse.group/hugh_whelan/32/6767_2.png) [@Hugh\_Whelan](https://universal-blue.discourse.group/u/Hugh_Whelan)\
**Post date:** [June 4, 2025, 11:48am UTC](https://universal-blue.discourse.group/t/solved-question-about-using-template-to-build-my-own-image/8936/8 "2025-06-04T11:48:52Z")

</div>

Thank you @fenglengshun and @benleolander! That was it. I did the same – initially setting as private github and then changing to public. But the package inherited the old privacy. Thank you both so much!!! This is an amazing project.
