# DEB package script

**URL:** <https://discourse.joplinapp.org/t/deb-package-script/22070>\
**Category:** Apps\
**Created:** [28 November 2021 15:36 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070 "2021-11-28T15:36:45Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![CVan](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/cvan/32/11643_2.png) [@CVan](https://discourse.joplinapp.org/u/CVan)\
**Post date:** [28 November 2021 15:36 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070/1 "2021-11-28T15:36:45Z")

</div>

I've been using Joplin for a few years and I think it's a great project.

One thing that's always bothered me is the the lack of a native \*.deb file to install. Something about AppImages just doesn't feel right to me.

So not really knowing anything about JS/TS or Node (but I do know a bit about scripting) I created a script that users can use to create their own \*.deb package for Joplin.

It uses Docker so no one has to try to install NodeJS on their system, and keeps things nicely contained.

Feel free to give it a try, and let me know if it could use some improvement.

> **[GitHub - cvandesande/joplin-deb: Create a DEB file for Joplin](https://github.com/cvandesande/joplin-deb)**
>
> Create a DEB file for Joplin. Contribute to cvandesande/joplin-deb development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![laurent](https://avatars.discourse-cdn.com/v4/letter/l/ce7236/32.png) [@laurent](https://discourse.joplinapp.org/u/laurent)\
**Post date:** [28 November 2021 16:41 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070/2 "2021-11-28T16:41:16Z")

</div>

Thanks for sharing. Would it be difficult to publish the .deb file itself to a repo?

---

<div class="post-metadata">

**Author:** ![CVan](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/cvan/32/11643_2.png) [@CVan](https://discourse.joplinapp.org/u/CVan)\
**Post date:** [28 November 2021 17:20 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070/3 "2021-11-28T17:20:12Z")

</div>

I think it wouldn't be too difficult to publish to a repo, did you have one in mind?

---

<div class="post-metadata">

**Author:** ![laurent](https://avatars.discourse-cdn.com/v4/letter/l/ce7236/32.png) [@laurent](https://discourse.joplinapp.org/u/laurent)\
**Post date:** [28 November 2021 17:24 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070/4 "2021-11-28T17:24:43Z")

</div>

I don't have any in mind, as I'm not familiar with .deb files in general. What I was thinking is to put the .deb on a public repo then user can install the app directly from there, without having to build the Docker image, etc. But I don't know how easy it would be to do it.

---

<div class="post-metadata">

**Author:** ![CVan](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/cvan/32/11643_2.png) [@CVan](https://discourse.joplinapp.org/u/CVan)\
**Post date:** [28 November 2021 17:33 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070/5 "2021-11-28T17:33:41Z")

</div>

Publishing the deb file to an APT repo is the easy part. I can automate the package signing, and build a pipeline that publishes every new Joplin release.

I just wish I had a repo to publish to. I'm not very keen on hosting my own APT repository but I will give it some thought.

---

<div class="post-metadata">

**Author:** ![Yann1ck](https://avatars.discourse-cdn.com/v4/letter/y/439d5e/32.png) [@Yann1ck](https://discourse.joplinapp.org/u/Yann1ck)\
**Post date:** [29 November 2021 09:39 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070/6 "2021-11-29T09:39:06Z")

</div>

Can you publish as a PPA? That should work for most Debian/Ubuntu based distros. Launchpad is super annoying, but it is an easy way to host a archive. I think there is a slo a way to just make the deb file available for download.

---

<div class="post-metadata">

**Author:** ![CVan](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/cvan/32/11643_2.png) [@CVan](https://discourse.joplinapp.org/u/CVan)\
**Post date:** [29 November 2021 18:53 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070/7 "2021-11-29T18:53:25Z")

</div>

Not a bad idea Yann1ck, I'll look into creating a Launchpad account

---

<div class="post-metadata">

**Author:** ![Yann1ck](https://avatars.discourse-cdn.com/v4/letter/y/439d5e/32.png) [@Yann1ck](https://discourse.joplinapp.org/u/Yann1ck)\
**Post date:** [29 November 2021 20:25 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070/8 "2021-11-29T20:25:27Z")

</div>

Its quite easy. You just need a working deb build, you can release that to Launchpad after a successful build.  
Its also easy to fully automate the build. Have the code to successfully build on Github, use a Launchpad recipe to build again on Launchpad build servers and release it as PPA. Its pretty straightforward, but I am not sure how to easily combine it with your Docker build. An example based on a sid package: [onedrive-abraunegg : Yannick](https://launchpad.net/~yann1ck/+archive/ubuntu/onedrive)

The other alternative would be the SUSE build service, but I have never tried it.

---

<div class="post-metadata">

**Author:** ![CVan](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/cvan/32/11643_2.png) [@CVan](https://discourse.joplinapp.org/u/CVan)\
**Post date:** [29 November 2021 22:11 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070/9 "2021-11-29T22:11:55Z")

</div>

Cool, I'll make that the next weekend project.

The intention for the Docker build was to make it easy for people to create their own DEB for Joplin.  
I can make a new repo and rework the script to suit PPA's better. I had no idea PPAs were relatively easy to setup. Thanks for showing me this!

---

<div class="post-metadata">

**Author:** ![Yann1ck](https://avatars.discourse-cdn.com/v4/letter/y/439d5e/32.png) [@Yann1ck](https://discourse.joplinapp.org/u/Yann1ck)\
**Post date:** [29 November 2021 23:33 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070/10 "2021-11-29T23:33:20Z")

</div>

Its just „relatively“ easy because the documentation isnt the best. Sometimes the Launchpad Build Servers are annoying because not every package is available. So ist can be frustrating as well 😃

---

<div class="post-metadata">

**Author:** ![rauldipeas](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/rauldipeas/32/14431_2.png) [@rauldipeas](https://discourse.joplinapp.org/u/rauldipeas)\
**Post date:** [26 July 2022 04:29 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070/11 "2022-07-26T04:29:02Z")

</div>

I've made a little modification on CVan `joplin-deb` git and host the package into a personal `apt` repository.

`github dot com/rauldipeas/joplin-deb/commit/70827e317f6957165a7c701f143e5717bccfeb4e`

I hope it helps anyone.

`hackmd dot io/@rauldipeas/kubuntu-custom-repositorio-apt`

PS: Sorry for the wrote links, I'm a new user and new users can't post them here.

---

<div class="post-metadata">

**Author:** ![banan314](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/banan314/32/5012_2.png) [@banan314](https://discourse.joplinapp.org/u/banan314)\
**Post date:** [8 January 2024 04:20 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070/12 "2024-01-08T04:20:57Z")

</div>

@rauldipeas does your repo still exists?

---

<div class="post-metadata">

**Author:** ![RoRo](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/roro/32/27023_2.png) [@RoRo](https://discourse.joplinapp.org/u/RoRo)\
**Post date:** [19 October 2025 13:35 UTC](https://discourse.joplinapp.org/t/deb-package-script/22070/13 "2025-10-19T13:35:30Z")

</div>

I noticed that the github releases contain an amd64 deb package for some time now, which I very much appreciate and use for some months without problems.

The only missing “feature” is an apt repository, which allows automatic updates.

So I just set up such an apt repository myself, which keeps the last three "release” versions (no pre-releases) with an delay of three days (because I noted in the past that a “release” version was downgraded to “pre-release” after I installed them. The delay should avoid trapping into that pit.)

You find the repository, an explanation and a joplin.sources at [Joplin Desktop APT Repository](https://www.spinnaker.de/joplin/)

The repository is signed by a new PGP key, which is signed by my personal key as Debian developer, which should have a good place in the web-of-trust.

Greetings  
Roland
