[Support] BGameiro - Community Applications


Recommended Posts

Hi and thank your for your Jupyterlab application!

It's so nice to have it as a "real" Unraid community app.

 

I wanted to use the pandas and scikitLearn modules to do some fiddling around with machine learning in notebooks, so I found the proper pacman packages : "python-pandas" and "python-scikit-learn" and added them to the "packages" section of the container config.

They were not added successfully to arch, so being a arch user myself, I switched to the console of the container and tried installing them manually.

 

I first updated with "pacman -Syu" because otherwise it would not let me install successfully. I also updated the mirrorlist to use the latest ones from USA. With that done, I could use the libraries in Jupyter. Success !

 

I took a look at the dockerfile of the container but to be honest, It was my first look at one of those and I'm not sure what is missing to have the container be all set to install new packages like python-pandas. In my understanding, your line: 

RUN pacman --noconfirm -Syyu

should do it, and it should be able to then accept some "pacman -S packages_variable_from_the_config". I think the commented part with the packages variable is what you are about to attempt.

That is pretty much where my understanding of all this is at the moment, but I feel it is very close to working perfectly with that packages list config and that is going to be awesome :D

  • Like 1
Link to comment
  • 2 weeks later...
Hi and thank your for your Jupyterlab application!
It's so nice to have it as a "real" Unraid community app.
 
I wanted to use the pandas and scikitLearn modules to do some fiddling around with machine learning in notebooks, so I found the proper pacman packages : "python-pandas" and "python-scikit-learn" and added them to the "packages" section of the container config.
They were not added successfully to arch, so being a arch user myself, I switched to the console of the container and tried installing them manually.
 
I first updated with "pacman -Syu" because otherwise it would not let me install successfully. I also updated the mirrorlist to use the latest ones from USA. With that done, I could use the libraries in Jupyter. Success !
 
I took a look at the dockerfile of the container but to be honest, It was my first look at one of those and I'm not sure what is missing to have the container be all set to install new packages like python-pandas. In my understanding, your line: 
RUN pacman --noconfirm -Syyu

should do it, and it should be able to then accept some "pacman -S packages_variable_from_the_config". I think the commented part with the packages variable is what you are about to attempt.

That is pretty much where my understanding of all this is at the moment, but I feel it is very close to working perfectly with that packages list config and that is going to be awesome

Just adding the RUN command to the dockerfile would work as RUN commands are integrated as layers into the Docker upon build.

If the packages are only specified when pulling the (already built) docker image, it can't be integrated to the build.

I'm currently in exams, I'll try to solve it after that.

Sent from my ONEPLUS A5000 using Tapatalk

Link to comment
  • 1 month later...
On 7/21/2020 at 5:35 PM, BGameiro said:

This thread can be used as support for the applications I maintain.

 

Links

 

Trilium

 

Attention: Due to some recent changes to the repository and docker image being used, the Trilium Notes Server should appear with the option "install" in the community applications tab. The changes will allow me to better maintain the application. Please install the new version with the same paths and user as the old version. Sorry for the inconvenience.

 

About the template

 

This template refers to the Trilium Notes Server running as a docker container.

It uses the latest released version as the "latest" tag isn't recommended for stable use. This is done in the Docker itself and as such the application will always fetch the bgameiro/trilium:latest.

The "/trilium-data" directory can be configured and has a default of "/mnt/user/appdata/trilium". It contains the "backup" and "log" directories as well as the configuration and database files.

The backup directory ("/trilium-data/backup") directory can be configured to a different location. The default location is "/mnt/user/appdata/trilium/backup"

 

About Trilium

 

Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases.

 

Links

 

Application Name: Trilium

Wiki: https://github.com/zadam/trilium/wiki

Github Repo: https://github.com/zadam/trilium

Docker Hub: https://hub.docker.com/repository/docker/bgameiro/trilium

Template Repo: https://github.com/BGameiro2000/unraid-ca/tree/master/trilium

 

JupyterLab

 

Attention: Only the basic features are supported at this time. More languages and functionalities will be added.

 

About the template

 

This template refers to the JupyterLab running as a docker container.

It runs on an ArchLinux-based Docker.

Support for more features and kernels is based on Arch Packages. Features that aren't in the Official Arch Repositories are installed from my repository using AUR pkgbuilds.

 

About JupyterLab

 

JupyterLab is a web-based interactive development environment for Jupyter notebooks, code, and data.

 

Links

 

Application Name: JupyterLab

Wiki: https://jupyterlab.readthedocs.io/en/stable/

Github Repo: https://github.com/jupyterlab/jupyterlab

Docker Hub: https://hub.docker.com/repository/docker/bgameiro/arch-jupyterlab

Template Repo: https://github.com/BGameiro2000/unraid-ca/tree/master/jupyterlab

 

Application requests | Contact | Last Updated: 2020/08/19

 

Thanks for your work on this. 

I can't get the Jupyter docker to start at all, I get "jupyter-lab: error: unrecognized arguments: --app-dir=/appdata/lab" in the log. Any suggestions for what might be going wrong?

Link to comment

I pushed a fix about 1 hour ago. It shouldn't take more than 2 hours to propagate.

EDIT: Explanation of the error.

The template for JupyterLab is based on Archlinux, a rolling distribution, and when I make another build of the container (even if I don't update the template nor the dockerfile) it updates all packages.
A change was made to the jupyterlab package in the Arch repos. From what I could gather, it changed the server app it relies on, making the argument

`--app-dir` unusable.

This was solved using the `JUPYTERLAB_DIR` environment variable instead.

I'm leaving this here in case this is of any use for someone.

Edited by BGameiro
Link to comment
On 9/22/2020 at 8:36 PM, timebaby said:

I was wondering what the correct syntax would be for the "Packages" variable in the Docker template section (I am trying to install the R kernel but I am a noob with Jupyter to put it lightly)? Would it simply be package name separated by comma? or a full "pacman -S XYZ". Thanks for any help you can provide.


There is a Docker specific to R: https://github.com/IRkernel/IRkernel

I'll try to add it in a few days.

You can find more information regarding other kernels for Jupyter here: https://wiki.archlinux.org/index.php/Jupyter#Kernels
To update all packages in the docker run `pacman -Syyu`. This shouldn't make any breaking changes, but from the previous replies you can see it there was one between 2 major versions. It is solved now.

Link to comment
  • 4 weeks later...

Thanks for your work on this! It's been such a great help.

 

I would appreciate some insight into what I'm doing wrong.

I installed git through the console from the Docker Containers page

I then attempted to run the following code within a notebook:

import sys
!{sys.executable} -m pip install git+git://github.com/okpy/ok-client

 

But I get the below error:

ERROR: Command errored out with exit status 1: git clone -q git://github.com/okpy/ok-client /tmp/pip-req-build-xyzkbync Check the logs for full command output.

 

I couldn't find the log file and when I ran the same code within the web version of jupyter notebooks, it installs as expected without error.

Is this a docker limitation? Or did I miss a very key step?

 

Thank you in advance

 

EDIT:

In case anyone else runs into this issue, run 'git --version' within the console from the Docker Containers page. This command told me that I did not have a required package installed. After installing said package and running 'git --version', I was provided the installed git version and the above code now executes properly.

Edited by magg1e16
Resolved error message
Link to comment
  • 1 month later...

Hey I just set up your Trilium container all day yesterday and today.
Now I think there was an update a few hours ago. After the update, it went through the setup again and all my Data was gone.

Can you help me out?
Wanted to make sure to report this in case I am not the only one.

Edit:
Just changed the docker template to the correct container path "/home/node/trilium-data" and everything is back

Edited by JasonGehring
Link to comment
Hey I just set up your Trilium container all day yesterday and today.
Now I think there was an update a few hours ago. After the update, it went through the setup again and all my Data was gone.

Can you help me out?
Wanted to make sure to report this in case I am not the only one.
Before anything else, go to the app data and backup everything.

You can downgrade the package easily by changing the version of the docker container.

Try, after backing up, version 0.45.9 as it was the previous one.

Sent from my ONEPLUS A5000 using Tapatalk

Link to comment

Thanks for the quick reply!

I did quickly back everything up.
I then noticed that in the "About trilium" the Data directory did not match the docker template?
Maybe that was a mistake on my side, although I don't see how it would update the container without the template?

 

Anyway. Changed it to the correct path and everything is back :)

Link to comment
Thanks for the quick reply!

I did quickly back everything up.
I then noticed that in the "About trilium" the Data directory did not match the docker template?
Maybe that was a mistake on my side, although I don't see how it would update the container without the template?
 
Anyway. Changed it to the correct path and everything is back
May I ask what paths did you change?


Edit: Updated `\root\` to `\home\node\`.

Edit 2: Always backup everything before updating just to be safe.

Sent from my ONEPLUS A5000 using Tapatalk




Link to comment
  • 1 month later...
  • 4 months later...

hi @BGameiro

 

I get this in the log, after installing trilium.

Error: EACCES: permission denied, mkdir '/home/node/trilium-data/log'

I change the default install directory from appdata to config, so i tried to use the default one, but that did not help either. 

The docker app wont start.

 

---edit---

Looks like some write rights. I just made the folder myself, and then got this error.

Error: EACCES: permission denied, open '/home/node/trilium-data/session_secret.txt'

 

---edit---

Figured out that the trillium directory did not had the write flag. So i just changed that with chmod +w and everything seems to work now.

Edited by perhansen
  • Like 1
Link to comment
  • 3 weeks later...

Hi @BGameiro,

I want to start off by thanking you for your work on the trilium Unraid listing. 

I've used it for both work and university notes over the last ~6 months and it's been awesome!

 

I was wondering if you had any plans to update to the newest version of trilium (v0.48.7)?
It fixes a bunch of minor bugs I experience regularly, introduces a global note map, adds a new (cleaner) note style, and includes a bunch of other cool features

 

Thanks in advance! 

Edited by mykal.codes
tagging @BGameiro directly
Link to comment
  • 4 weeks later...
On 12/11/2021 at 9:47 PM, mykal.codes said:

Hi @BGameiro,

I want to start off by thanking you for your work on the trilium Unraid listing. 

I've used it for both work and university notes over the last ~6 months and it's been awesome!

 

I was wondering if you had any plans to update to the newest version of trilium (v0.48.7)?
It fixes a bunch of minor bugs I experience regularly, introduces a global note map, adds a new (cleaner) note style, and includes a bunch of other cool features

 

Thanks in advance! 

 

 

Hey  @mykal.codes

 

!! BE CAREFUL, backup your data before doing anything. !!

 

This app seems to be fully compatible with the official docker image(at least was my case, just tested on my server).

I just changed the docker repository to pull from the official image and all went well.(because Bernardo did a good job to use the same mount points);

 

hope this helps

 

 

 

 

  • Thanks 1
Link to comment
43 minutes ago, lucasts said:

 

 

Hey  @mykal.codes

 

!! BE CAREFUL, backup your data before doing anything. !!

 

This app seems to be fully compatible with the official docker image(at least was my case, just tested on my server).

I just changed the docker repository to pull from the official image and all went well.(because Bernardo did a good job to use the same mount points);

 

hope this helps

 

 

 

 

 

Hi @lucasts I just gave this a try and it worked great! 

Thanks for the pointer :) 

Link to comment
  • 1 month later...
Quote

 Regarding Jupyter lab/notebook:

 

First, a big thank you for making this!  Very helpful!

 

For anyone needing the ability to export to PDF and tearing your hair out trying to get it to work (because I'd never used Arch before), here's my guide on what it took for me to get working:


EgyptianSnakeLeg's Guide to being an Idiot, but still getting this Jupyter docker to export PDFs:

  1. Jupyter will error on trying to export to PDF and tell you that you need pandoc installed.  If you're an idiot, like me, you'd spend the next 30 minutes in the docker container's console trying to identify the distro and figure out what the Arch equivalent of apt install is. 😆

    turns out it's:
    pacman -S PACKAGENAME

    So naturally you'll try:
    pacman -S pandoc

    Now that will look as though it's working for a while, but then will fail because the last few dependencies say that GPG keys from the individual authors are failing.  You'll search online for solutions, and none of those will work because they generate the same error.  In fact, you can't seem to install ANY package because of that error.

    SO, you need to first run the following commands, one at a time:
    rm -fr /etc/pacman.d/gnupg
    pacman-key --init
    pacman-key --populate archlinux

    Next run the following:
    pacman -Syyu archlinux-keyring
    My understanding is that this will refresh and update all of the various repositories for you package manager and install any updates while also installing this new archlinux-keyring into your docker.
     
  2. You should NOW be able to install pandoc:
    pacman -S pandoc

    With any luck it will install without issue.  If you pop over to your Jupyter web gui, it'll likely ask you to rebuild and restart the environment, but alas, tis not yet time.  You will now get a new error message saying you're missing nbconvert.
     
  3. So naturally you should go:
    pacman -S nbconvert
    and this should actually work!
     
  4. Next jupyter will tell us that we're missing texlive-xelatex or something like that.

    This one is a bit trickier and takes some manual witchcraft.  First, this Arch docker doesn't have wget, so we'll need to install that with:
    pacman -S wget

    Next, navigate to somewhere that we can download the installer.  I just went to the home folder
    cd home

    Then we need to download the texlive installer to this location with the following command:
    wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

    When that's complete, you can unpackage the .tar.gz file with"
    tar -xvzf install-tl-unx.tar.gz

    Now move into this freshly extracted folder with:
    cd install-tl-20220218
    **NOTE: Your folder name will likely have a different date!  Adjust your command accordingly!

    And lastly start the installer with:
    ./install-tl
    Follow the on-screen prompts for this installer.  I forget what they were, but it was pretty simple. This installation will take an outrageous amount of time...seriously...like over an hour for me.  Go make some food, cup of tea, etc.
     
  5. ...AND it's still broken!

 

 

So I started typing up this long tutorial about the insanity it took to get PDF Exporting added to this docker container.  But after 3.5 hours of work it *STILL* isn't working. XD  Any chance you could officially add support for this to your docker?

Link to comment
2 hours ago, EgyptianSnakeLegs said:

So I started typing up this long tutorial about the insanity it took to get PDF Exporting added to this docker container.  But after 3.5 hours of work it *STILL* isn't working. XD  Any chance you could officially add support for this to your docker?

 

Hi, sorry for my absence recently. I though I add changed the main post explaining why, but I guess I only discussed it over DM.

I'll address some situations here.

I've moved countries for academic purposes and left my servers in my home country. It would have been impossible to bring my servers with me as I'll be moving countries every semester. Actually, I'll be moving the second time in the near future. Indeed they are servers after all and there is no need to bring them nowhere, they just need to be online and accessible to me, but, unfortunately, I had to shut them down right before leaving and didn't had the time to set them up in a new place. It's less than ideal as this was the perfect scenario of why I bought the servers: being able to access my media, documents, etc from anywhere with an internet connection.

 

This leads me to my current situation: I have nowhere to test any updates, and I would rather have out of date packages than pushing an update that may break something that I can't properly test and address. (This happened before with an update that I just tested the docker container but not if it was compatible with the previous version under unraid)

 

So, regarding your problem, I see you already managed to solve a good deal by using pacman to update and install packages and you can do the same for texlive-xelatex.

 

TeXLive is a distribution of LaTeX that also includes XeLaTeX and LuaTeX, some new iterations of the traditional LaTeX,.
The arch wiki has a great page about it. I would recommend installing texlive-most, but you might need more packages for language support, bibliography, fonts, etc.

To install it:

pacman -S texlive-most

I use latex a lot and I have everything installed in my system (the only part that I don't really use is the language pack, but with it installed I don't have to worry about it)

pacman -S texlive-most texlive-lang texlive-bibtexextra texlive-fontsextra 

This should get you XeLaTeX working.

So, along with the packages you previously used, and updating everything (do backups!) you can just run:

pacman -Syyu pandoc nbconvert texlive-most texlive-lang texlive-bibtexextra texlive-fontsextra 

This will update every package installed, update the databases and update the keyring.
Hopefully that will help anyone that ends up here looking to achieve the same.

 

If you have any doubt or it didn't work, don't hesitate in posting or sending me an email. (It will be quicker with an email even if it just says to come to the forum)

Link to comment
On 12/12/2021 at 12:47 AM, mykal.codes said:

Hi @BGameiro,

I want to start off by thanking you for your work on the trilium Unraid listing. 

I've used it for both work and university notes over the last ~6 months and it's been awesome!

 

I was wondering if you had any plans to update to the newest version of trilium (v0.48.7)?
It fixes a bunch of minor bugs I experience regularly, introduces a global note map, adds a new (cleaner) note style, and includes a bunch of other cool features

 

Thanks in advance! 

 

Hi, sorry for the delay.

You can read my previous answer on why I've not updated the docker.
If someone could test it, I could think about updating it.

 

When I first added the docker I was using the official one but then decided to change as that would give me control over what version people were pulling when installing.

My reasoning being that if there was an official update that broke some compatibility (it happened once with a change of directories), it wouldn't be propagated to everyone until I manually updated the version.

 

If there is a urgent need to use a newer version, manually changing to the official docker, as it was recommended ITT, is a good solution if you are aware that breaking changes may occur.

But they are rare and, when they do occur, they are usually easy to solve (changing one directory).

Again don't forget backups.

Link to comment
13 hours ago, BGameiro said:

 

Hi, sorry for my absence recently. I though I add changed the main post explaining why, but I guess I only discussed it over DM.

I'll address some situations here.

I've moved countries for academic purposes and left my servers in my home country. It would have been impossible to bring my servers with me as I'll be moving countries every semester. Actually, I'll be moving the second time in the near future. Indeed they are servers after all and there is no need to bring them nowhere, they just need to be online and accessible to me, but, unfortunately, I had to shut them down right before leaving and didn't had the time to set them up in a new place. It's less than ideal as this was the perfect scenario of why I bought the servers: being able to access my media, documents, etc from anywhere with an internet connection.

 

This leads me to my current situation: I have nowhere to test any updates, and I would rather have out of date packages than pushing an update that may break something that I can't properly test and address. (This happened before with an update that I just tested the docker container but not if it was compatible with the previous version under unraid)

 

So, regarding your problem, I see you already managed to solve a good deal by using pacman to update and install packages and you can do the same for texlive-xelatex.

 

TeXLive is a distribution of LaTeX that also includes XeLaTeX and LuaTeX, some new iterations of the traditional LaTeX,.
The arch wiki has a great page about it. I would recommend installing texlive-most, but you might need more packages for language support, bibliography, fonts, etc.

To install it:

pacman -S texlive-most

I use latex a lot and I have everything installed in my system (the only part that I don't really use is the language pack, but with it installed I don't have to worry about it)

pacman -S texlive-most texlive-lang texlive-bibtexextra texlive-fontsextra 

This should get you XeLaTeX working.

So, along with the packages you previously used, and updating everything (do backups!) you can just run:

pacman -Syyu pandoc nbconvert texlive-most texlive-lang texlive-bibtexextra texlive-fontsextra 

This will update every package installed, update the databases and update the keyring.
Hopefully that will help anyone that ends up here looking to achieve the same.

 

If you have any doubt or it didn't work, don't hesitate in posting or sending me an email. (It will be quicker with an email even if it just says to come to the forum)

No problem, I can totally relate.  I'm in grad school for mechanical and aerospace engineering right now.  Thank you for the quick reply.

Link to comment
  • 5 months later...
  • 2 months later...
On 7/21/2020 at 5:35 PM, BGameiro said:

 

JupyterLab

 

Attention: Only the basic features are supported at this time. More languages and functionalities will be added.

 

About the template

 

This template refers to the JupyterLab running as a docker container.

It runs on an ArchLinux-based Docker.

Support for more features and kernels is based on Arch Packages.

 

About JupyterLab

 

JupyterLab is a web-based interactive development environment for Jupyter notebooks, code, and data.

 

Links

 

Application Name: JupyterLab

Wiki: https://jupyterlab.readthedocs.io/en/stable/

Github Repo: https://github.com/jupyterlab/jupyterlab

Template Repo: https://github.com/BGameiro2000/unraid-ca/tree/master/jupyterlab

 

 

I noticed conda isn't installed on this docker of jupyterlab.  Is there a way to install conda onto this package or should I look for a different docker container?

Link to comment
  • 2 months later...

Hey Thank you for making the jupyter docker.  It worked great for me. 

 

I added a Lisp Kernal and after having to reinitialize pgp keys for pacman and following this ( https://yitzchak.github.io/common-lisp-jupyter/install.html) installation instructions I was able to get to work well.

 

If anyone is getting the error: some package is corrupted (invalid or corrupted package (PGP signature)).

 

I fixed it with this ( https://wiki.archlinux.org/title/Pacman/Package_signing ) :


pacman-key --init
pacman-key --populate
pacman -Sy archlinux-keyring && pacman -Su

 

If anyone is having trouble to get npm to work, such as when trying to activate the jupyterlab-debugger:

 

jupyter-labextension install jupyterlab-debugger-restarts

 

It worked after running this:


npm config rm proxy
npm config rm https-proxy

 

I would like to set this up for remote work with SWAG, I'm going to give it a shot, but maybe the easier way is just setting up a VPN and accessing it that way.  If you have any thoughts, would love to hear them.

 

Either way, Thank you.  Great work!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.