0 0 timeline_lookup object [[1, 170], [2, 169], [8, 167], [9, 166]] suggested_topics object [{'id': 3721, 'title': 'Authentication for an app behind reverse proxy', 'fancy_title': 'Authentication for an app behind reverse proxy', 'slug': 'authentication-for-an-app-behind-reverse-proxy', 'posts_count': 4, 'reply_count': 2, 'highest_post_number': 4, 'image_url': None, 'created_at': '2022-05-20T10:29:42.937Z', 'last_posted_at': '2022-06-11T21:47:20.718Z', 'bumped': True, 'bumped_at': '2022-06-11T21:47:20.718Z', 'archetype': 'regular', 'unseen': False, 'pinned': False, 'unpinned': None, 'visible': True, 'closed': False, 'archived': False, 'bookmarked': None, 'liked': None, 'tags': ['panel'], 'tags_descriptions': {}, 'like_count': 3, 'views': 259, 'category_id': 5, 'featured_link': None, 'has_accepted_answer': True, 'posters': [{'extras': None, 'description': 'Original Poster, Accepted Answer', 'user': {'id': 872, 'username': 'Theom2', 'name': '', 'avatar_template': '/letter_avatar_proxy/v4/letter/t/a88e57/{size}.png'}}, {'extras': 'latest', 'description': 'Most Recent Poster', 'user': {'id': 921, 'username': 'Andre', 'name': 'ANDREW', 'avatar_template': '/letter_avatar_proxy/v4/letter/a/6de8d8/{size}.png'}}]}, {'id': 4354, 'title': "PyScript: Can't find a pure Python 3 wheel for 'orm==0.2.0.dev1'", 'fancy_title': 'PyScript: Can’t find a pure Python 3 wheel for ‘orm==0.2.0.dev1’', 'slug': 'pyscript-cant-find-a-pure-python-3-wheel-for-orm-0-2-0-dev1', 'posts_count': 11, 'reply_count': 6, 'highest_post_number': 11, 'image_url': None, 'created_at': '2022-10-06T18:12:42.868Z', 'last_posted_at': '2022-10-07T02:37:41.053Z', 'bumped': True, 'bumped_at': '2022-10-07T02:37:41.053Z', 'archetype': 'regular', 'unseen': False, 'pinned': False, 'unpinned': None, 'visible': True, 'closed': False, 'archived': False, 'bookmarked': None, 'liked': None, 'tags': [], 'tags_descriptions': {}, 'like_count': 17, 'views': 926, 'category_id': 5, 'featured_link': None, 'has_accepted_answer': False, 'posters': [{'extras': 'latest', 'description': 'Original Poster, Most Recent Poster', 'user': {'id': 786, 'username': 'seanlaw', 'name': 'Sean M. Law', 'avatar_template': '/user_avatar/discourse.holoviz.org/seanlaw/{size}/4087_2.png'}}, {'extras': None, 'description': 'Frequent Poster', 'user': {'id': 2, 'username': 'philippjfr', 'name': 'Philipp Rudiger', 'avatar_template': '/user_avatar/discourse.holoviz.org/philippjfr/{size}/7_2.png'}}, {'extras': None, 'description': 'Frequent Poster', 'user': {'id': 9, 'username': 'Marc', 'name': 'Marc Skov Madsen', 'avatar_template': '/user_avatar/discourse.holoviz.org/marc/{size}/24_2.png'}}]}, {'id': 4552, 'title': 'What would it take to implement Open Telemetry in the frontend?', 'fancy_title': 'What would it take to implement Open Telemetry in the frontend?', 'slug': 'what-would-it-take-to-implement-open-telemetry-in-the-frontend', 'posts_count': 3, 'reply_count': 1, 'highest_post_number': 3, 'image_url': None, 'created_at': '2022-11-12T09:48:27.816Z', 'last_posted_at': '2022-11-12T17:34:39.869Z', 'bumped': True, 'bumped_at': '2022-11-12T17:34:39.869Z', 'archetype': 'regular', 'unseen': False, 'pinned': False, 'unpinned': None, 'visible': True, 'closed': False, 'archived': False, 'bookmarked': None, 'liked': None, 'tags': [], 'tags_descriptions': {}, 'like_count': 1, 'views': 137, 'category_id': 5, 'featured_link': None, 'has_accepted_answer': False, 'posters': [{'extras': 'latest', 'description': 'Original Poster, Most Recent Poster', 'user': {'id': 1163, 'username': 'Midnighter', 'name': 'Moritz E. Beber', 'avatar_template': '/user_avatar/discourse.holoviz.org/midnighter/{size}/4272_2.png'}}, {'extras': None, 'description': 'Frequent Poster', 'user': {'id': 9, 'username': 'Marc', 'name': 'Marc Skov Madsen', 'avatar_template': '/user_avatar/discourse.holoviz.org/marc/{size}/24_2.png'}}]}, {'id': 3767, 'title': 'Problems deploying a panel app on AWS EC2', 'fancy_title': 'Problems deploying a panel app on AWS EC2', 'slug': 'problems-deploying-a-panel-app-on-aws-ec2', 'posts_count': 4, 'reply_count': 1, 'highest_post_number': 4, 'image_url': None, 'created_at': '2022-06-01T10:14:02.332Z', 'last_posted_at': '2022-06-16T14:33:40.221Z', 'bumped': True, 'bumped_at': '2022-06-16T14:33:40.221Z', 'archetype': 'regular', 'unseen': False, 'pinned': False, 'unpinned': None, 'visible': True, 'closed': False, 'archived': False, 'bookmarked': None, 'liked': None, 'tags': [], 'tags_descriptions': {}, 'like_count': 5, 'views': 307, 'category_id': 5, 'featured_link': None, 'has_accepted_answer': True, 'posters': [{'extras': None, 'description': 'Original Poster, Accepted Answer', 'user': {'id': 902, 'username': 'legout', 'name': 'Legout', 'avatar_template': '/user_avatar/discourse.holoviz.org/legout/{size}/3418_2.png'}}, {'extras': None, 'description': 'Frequent Poster', 'user': {'id': 9, 'username': 'Marc', 'name': 'Marc Skov Madsen', 'avatar_template': '/user_avatar/discourse.holoviz.org/marc/{size}/24_2.png'}}, {'extras': 'latest', 'description': 'Most Recent Poster', 'user': {'id': 555, 'username': 'alon-sht', 'name': 'Alon', 'avatar_template': '/user_avatar/discourse.holoviz.org/alon-sht/{size}/2132_2.png'}}]}, {'id': 4204, 'title': 'Access to _script of ReactiveHTML', 'fancy_title': 'Access to _script of ReactiveHTML', 'slug': 'access-to-script-of-reactivehtml', 'posts_count': 3, 'reply_count': 0, 'highest_post_number': 3, 'image_url': None, 'created_at': '2022-09-02T18:41:41.792Z', 'last_posted_at': '2022-09-06T06:50:50.185Z', 'bumped': True, 'bumped_at': '2022-09-06T06:50:50.185Z', 'archetype': 'regular', 'unseen': False, 'pinned': False, 'unpinned': None, 'visible': True, 'closed': False, 'archived': False, 'bookmarked': None, 'liked': None, 'tags': ['reactivehtml'], 'tags_descriptions': {}, 'like_count': 1, 'views': 210, 'category_id': 5, 'featured_link': None, 'has_accepted_answer': True, 'posters': [{'extras': 'latest', 'description': 'Original Poster, Most Recent Poster', 'user': {'id': 981, 'username': 'FBT', 'name': 'Bilge Tutak', 'avatar_template': '/user_avatar/discourse.holoviz.org/fbt/{size}/3654_2.png'}}, {'extras': None, 'description': 'Frequent Poster, Accepted Answer', 'user': {'id': 9, 'username': 'Marc', 'name': 'Marc Skov Madsen', 'avatar_template': '/user_avatar/discourse.holoviz.org/marc/{size}/24_2.png'}}]}] tags object ['panel'] id int64 nan title object JupyterHub + Panel fancy_title object JupyterHub + Panel posts_count int64 nan created_at object 2022-09-22T19:27:47. views int64 nan reply_count int64 nan like_count int64 nan last_posted_at object 2022-09-26T14:41:09. visible bool nan closed bool nan archived bool nan has_summary bool nan archetype object regular slug object jupyterhub-panel category_id int64 nan word_count int64 nan deleted_at object user_id int64 nan featured_link object pinned_globally bool nan pinned_at object pinned_until object image_url object slow_mode_seconds int64 nan draft object draft_key object topic_4288 draft_sequence object unpinned object pinned bool nan current_post_number int64 nan highest_post_number int64 nan deleted_by object actions_summary object [{'id': 4, 'count': 0, 'hidden': False, 'can_act': False}, {'id': 8, 'count': 0, 'hidden': False, 'can_act': False}, {'id': 7, 'count': 0, 'hidden': False, 'can_act': False}] chunk_size int64 nan bookmarked bool nan bookmarks object [] topic_timer object message_bus_last_id int64 nan participant_count int64 nan show_read_indicator bool nan thumbnails object slow_mode_enabled_until object post_stream.posts object [{'id': 12049, 'name': 'Yordan Radev', 'username': 'StuckDuckF', 'avatar_template': '/user_avatar/discourse.holoviz.org/stuckduckf/{size}/4347_2.png', 'created_at': '2022-09-22T19:27:47.715Z', 'cooked': '

I have a Docker Image with a LDAP authenticated JupyterHub that spawns a JupyterLab instance remotely. I am trying to use app.show( port=8012 , websocket_origin="arkham" , threaded=True ) where arkham is the name of the machine hosting. I currently use docker run -p 8011:8000 -p 8012:8001 -v /home/cmss/USE/R/:/home/USER/ testhub hoping that when I run my .show( ... ) line it would be available because I expose the 8012 port to 8001. I get blocked and am curious to know why? Has anyone managed to get such a setup working?

', 'post_number': 1, 'post_type': 1, 'updated_at': '2022-09-22T19:27:47.715Z', 'reply_count': 0, 'reply_to_post_number': None, 'quote_count': 0, 'incoming_link_count': 59, 'reads': 16, 'readers_count': 15, 'score': 293.2, 'yours': False, 'topic_id': 4288, 'topic_slug': 'jupyterhub-panel', 'display_username': 'Yordan Radev', 'primary_group_name': None, 'flair_name': None, 'flair_url': None, 'flair_bg_color': None, 'flair_color': None, 'version': 1, 'can_edit': False, 'can_delete': False, 'can_recover': False, 'can_wiki': False, 'read': True, 'user_title': '', 'bookmarked': False, 'actions_summary': [], 'moderator': False, 'admin': False, 'staff': False, 'user_id': 986, 'hidden': False, 'trust_level': 2, 'deleted_at': None, 'user_deleted': False, 'edit_reason': None, 'can_view_edit_history': True, 'wiki': False, 'can_accept_answer': False, 'can_unaccept_answer': False, 'accepted_answer': False}, {'id': 12056, 'name': 'Marc Skov Madsen', 'username': 'Marc', 'avatar_template': '/user_avatar/discourse.holoviz.org/marc/{size}/24_2.png', 'created_at': '2022-09-23T15:46:20.203Z', 'cooked': '

Hi @StuckDuckF

\n

I use another solution which I believe is better. The solution is the jupyter-server-proxy. With that installed each user can start web servers including the Panel/ Bokeh web server at arbitrary ports and access the applications in their browser.

\n

In my jupyterhub i can run panel serve hello_world.ipynb in a terminal and it shows up at .../user/<my-user-name>/proxy/5006/hello_world.

\n

\n

You should be able to use --port to set the port you want. You should also be able to use .show inside your notebook or script and it works similarly.

\n

If you want to “install” Panel applications on your jupyter hub, you can do that via the jupyter-panel-proxy. Then you will get an icon you can click in the Jupyter Hub launcher for each Panel application.

\n

The jupyter-server-proxy and the jupyter-panel-proxy is installed when you launch panel 0.13.1 on binder. We also run the code-server there :slight_smile: Try it out.

\n

image

\n

You can see how panel binder is configured here.

\n

The combination of JupyterHub and Panel is awesome.

', 'post_number': 2, 'post_type': 1, 'updated_at': '2022-09-23T15:56:01.481Z', 'reply_count': 1, 'reply_to_post_number': None, 'quote_count': 0, 'incoming_link_count': 7, 'reads': 15, 'readers_count': 14, 'score': 73.0, 'yours': False, 'topic_id': 4288, 'topic_slug': 'jupyterhub-panel', 'display_username': 'Marc Skov Madsen', 'primary_group_name': None, 'flair_name': None, 'flair_url': None, 'flair_bg_color': None, 'flair_color': None, 'version': 2, 'can_edit': False, 'can_delete': False, 'can_recover': False, 'can_wiki': False, 'link_counts': [{'url': 'https://mybinder.org/v2/gh/holoviz/panel/v0.13.1?urlpath=lab/tree/examples', 'internal': False, 'reflection': False, 'title': 'Binder', 'clicks': 9}, {'url': 'https://github.com/holoviz/panel/tree/master/binder', 'internal': False, 'reflection': False, 'title': 'panel/binder at master · holoviz/panel · GitHub', 'clicks': 5}, {'url': 'https://github.com/jupyterhub/jupyter-server-proxy', 'internal': False, 'reflection': False, 'title': 'GitHub - jupyterhub/jupyter-server-proxy: Jupyter notebook server extension to proxy web services.', 'clicks': 4}, {'url': 'https://github.com/holoviz/jupyter-panel-proxy', 'internal': False, 'reflection': False, 'title': 'GitHub - holoviz/jupyter-panel-proxy: Jupyter Server Proxy for Panel', 'clicks': 2}, {'url': 'https://discourse.holoviz.org/uploads/default/original/2X/0/0f8c4bf48085b1514073443d11991850039aa390.png', 'internal': True, 'reflection': False, 'clicks': 0}], 'read': True, 'user_title': None, 'bookmarked': False, 'actions_summary': [{'id': 2, 'count': 2}], 'moderator': True, 'admin': False, 'staff': True, 'user_id': 9, 'hidden': False, 'trust_level': 4, 'deleted_at': None, 'user_deleted': False, 'edit_reason': None, 'can_view_edit_history': True, 'wiki': False, 'can_accept_answer': False, 'can_unaccept_answer': False, 'accepted_answer': False}, {'id': 12057, 'name': 'Yordan Radev', 'username': 'StuckDuckF', 'avatar_template': '/user_avatar/discourse.holoviz.org/stuckduckf/{size}/4347_2.png', 'created_at': '2022-09-23T16:46:15.944Z', 'cooked': '

Is jupter-server-proxy Docker compatible? I am trying to allow for users have access to their homes on a network and currentl;y I have a working JupyterHub that spawns JupterLab that works as intended but I am not sure how to configure my Dockerfile to use jupter-server-proxy to solve my problem. Is there an example I can follow (if not I will document how I solve this and put it on the docs)?

\n

PS The binder apps spaner does not work as it throws a lot of errors pertaining css
\nGET https://notebooks.gesis.org/binder/jupyter/user/holoviz-panel-ynnhp8ei/panel/components/panel.template.fast.list/FastListTemplate/css/fast_bokeh_slickgrid.css net::ERR_ABORTED 404 CanvasDraw:67 GET https://notebooks.gesis.o

', 'post_number': 3, 'post_type': 1, 'updated_at': '2022-09-23T16:50:10.681Z', 'reply_count': 1, 'reply_to_post_number': 2, 'quote_count': 0, 'incoming_link_count': 0, 'reads': 15, 'readers_count': 14, 'score': 53.0, 'yours': False, 'topic_id': 4288, 'topic_slug': 'jupyterhub-panel', 'display_username': 'Yordan Radev', 'primary_group_name': None, 'flair_name': None, 'flair_url': None, 'flair_bg_color': None, 'flair_color': None, 'version': 2, 'can_edit': False, 'can_delete': False, 'can_recover': False, 'can_wiki': False, 'link_counts': [{'url': 'https://github.com/jupyterhub/jupyter-server-proxy', 'internal': False, 'reflection': False, 'title': 'GitHub - jupyterhub/jupyter-server-proxy: Jupyter notebook server extension to proxy web services.', 'clicks': 1}], 'read': True, 'user_title': '', 'reply_to_user': {'username': 'Marc', 'name': 'Marc Skov Madsen', 'avatar_template': '/user_avatar/discourse.holoviz.org/marc/{size}/24_2.png'}, 'bookmarked': False, 'actions_summary': [{'id': 2, 'count': 1}], 'moderator': False, 'admin': False, 'staff': False, 'user_id': 986, 'hidden': False, 'trust_level': 2, 'deleted_at': None, 'user_deleted': False, 'edit_reason': None, 'can_view_edit_history': True, 'wiki': False, 'can_accept_answer': False, 'can_unaccept_answer': False, 'accepted_answer': False}, {'id': 12058, 'name': 'Marc Skov Madsen', 'username': 'Marc', 'avatar_template': '/user_avatar/discourse.holoviz.org/marc/{size}/24_2.png', 'created_at': '2022-09-23T17:54:15.749Z', 'cooked': '

The jupyter-server-proxy is a python package. You should not need to do more than pip install or conda install it together with the other python packages you install in your base python environment.

\n

As you can see it takes the port issues out of the equation. It just makes apps running inside the docker container available on the same port as everything else but at specific url with a proxy/<port>/... postfix.

', 'post_number': 4, 'post_type': 1, 'updated_at': '2022-09-23T17:55:20.951Z', 'reply_count': 1, 'reply_to_post_number': 3, 'quote_count': 0, 'incoming_link_count': 0, 'reads': 14, 'readers_count': 13, 'score': 22.8, 'yours': False, 'topic_id': 4288, 'topic_slug': 'jupyterhub-panel', 'display_username': 'Marc Skov Madsen', 'primary_group_name': None, 'flair_name': None, 'flair_url': None, 'flair_bg_color': None, 'flair_color': None, 'version': 1, 'can_edit': False, 'can_delete': False, 'can_recover': False, 'can_wiki': False, 'read': True, 'user_title': None, 'reply_to_user': {'username': 'StuckDuckF', 'name': 'Yordan Radev', 'avatar_template': '/user_avatar/discourse.holoviz.org/stuckduckf/{size}/4347_2.png'}, 'bookmarked': False, 'actions_summary': [{'id': 2, 'count': 1}], 'moderator': True, 'admin': False, 'staff': True, 'user_id': 9, 'hidden': False, 'trust_level': 4, 'deleted_at': None, 'user_deleted': False, 'edit_reason': None, 'can_view_edit_history': True, 'wiki': False, 'can_accept_answer': False, 'can_unaccept_answer': False, 'accepted_answer': False}, {'id': 12059, 'name': 'Yordan Radev', 'username': 'StuckDuckF', 'avatar_template': '/user_avatar/discourse.holoviz.org/stuckduckf/{size}/4347_2.png', 'created_at': '2022-09-23T18:50:18.006Z', 'cooked': '

Great I am trying right now but keep getting an error about where my files are. Any tips on how to make sure that the files in the same directory as the notebooks are available for loading using xarray? I am currently reading up on Static Directories option in panel serve.

', 'post_number': 5, 'post_type': 1, 'updated_at': '2022-09-23T18:50:18.006Z', 'reply_count': 0, 'reply_to_post_number': 4, 'quote_count': 0, 'incoming_link_count': 0, 'reads': 14, 'readers_count': 13, 'score': 47.8, 'yours': False, 'topic_id': 4288, 'topic_slug': 'jupyterhub-panel', 'display_username': 'Yordan Radev', 'primary_group_name': None, 'flair_name': None, 'flair_url': None, 'flair_bg_color': None, 'flair_color': None, 'version': 1, 'can_edit': False, 'can_delete': False, 'can_recover': False, 'can_wiki': False, 'read': True, 'user_title': '', 'reply_to_user': {'username': 'Marc', 'name': 'Marc Skov Madsen', 'avatar_template': '/user_avatar/discourse.holoviz.org/marc/{size}/24_2.png'}, 'bookmarked': False, 'actions_summary': [{'id': 2, 'count': 1}], 'moderator': False, 'admin': False, 'staff': False, 'user_id': 986, 'hidden': False, 'trust_level': 2, 'deleted_at': None, 'user_deleted': False, 'edit_reason': None, 'can_view_edit_history': True, 'wiki': False, 'can_accept_answer': False, 'can_unaccept_answer': False, 'accepted_answer': False}, {'id': 12060, 'name': 'Marc Skov Madsen', 'username': 'Marc', 'avatar_template': '/user_avatar/discourse.holoviz.org/marc/{size}/24_2.png', 'created_at': '2022-09-23T19:58:49.092Z', 'cooked': '

Try to make the question more specific with a minimal, reproducible example. Thanks.

', 'post_number': 6, 'post_type': 1, 'updated_at': '2022-09-23T19:58:49.092Z', 'reply_count': 1, 'reply_to_post_number': None, 'quote_count': 0, 'incoming_link_count': 0, 'reads': 14, 'readers_count': 13, 'score': 22.8, 'yours': False, 'topic_id': 4288, 'topic_slug': 'jupyterhub-panel', 'display_username': 'Marc Skov Madsen', 'primary_group_name': None, 'flair_name': None, 'flair_url': None, 'flair_bg_color': None, 'flair_color': None, 'version': 1, 'can_edit': False, 'can_delete': False, 'can_recover': False, 'can_wiki': False, 'read': True, 'user_title': None, 'bookmarked': False, 'actions_summary': [{'id': 2, 'count': 1}], 'moderator': True, 'admin': False, 'staff': True, 'user_id': 9, 'hidden': False, 'trust_level': 4, 'deleted_at': None, 'user_deleted': False, 'edit_reason': None, 'can_view_edit_history': True, 'wiki': False, 'can_accept_answer': False, 'can_unaccept_answer': False, 'accepted_answer': False}, {'id': 12061, 'name': 'Yordan Radev', 'username': 'StuckDuckF', 'avatar_template': '/user_avatar/discourse.holoviz.org/stuckduckf/{size}/4347_2.png', 'created_at': '2022-09-23T20:12:45.942Z', 'cooked': '

I have a directory with the following structure :

\n\n
FROM ubuntu:bionic\nRUN apt-get update && \\\n    apt-get install -y apt-utils wget && \\\n    apt-get clean -y\n\nRUN mkdir -p /opt/conda && \\\n    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /opt/conda/miniconda.sh && \\\n    bash /opt/conda/miniconda.sh -b -u -p /opt/conda\n\nENV PATH=$PATH:/opt/conda/condabin:/opt/conda/bin\nCOPY environment.yml /environment.yml\nCOPY requirements.txt /requirements.txt\nRUN . activate\nRUN conda install -y -c conda-forge mamba\nRUN mamba install -y -c conda-forge --file /environment.yml\nRUN python -m pip install --upgrade pip\nRUN python -m pip install -r /requirements.txt\nRUN conda clean -a -y\nENV BOKEH_ALLOW_WS_ORIGIN "*"\nEXPOSE 8000\nCOPY entrypoint.sh /entrypoint.sh\nCMD ["/entrypoint.sh"]\n
\n\n
#!/bin/bash\n\npanel serve --autoreload --address 0.0.0.0 --port 8000 --allow-websocket-origin="*" --static-dirs apps=./usr/src/app/apps/  /usr/src/app/apps/*.ipynb\n\ntail -f /dev/null\n
\n\n
fstd2nc\n
\n\n
notebook\ncartopy\nhvplot\nxarray\ngeoviews\nnetCDF4\nh5netcdf\nscipy\npydap\nzarr\nfsspec\ncftime\nrasterio\ncfgrib\npooch\ndask\nbottleneck\nnumbagg\nflox\njupyter-server-proxy\n
\n

and I run it with

\n

docker run -p 8066:8000 -v /PATH_TO_NOTEBOOKS/apps:/usr/src/app/apps yp2

\n

My problem is I see the multi app page but when I click on App 1 I get no errors but the app only partially renders. I tried changing the file_list in the notebook because I kept getting an error to try and match the structure of the panel server.

\n

', 'post_number': 7, 'post_type': 1, 'updated_at': '2022-09-23T20:13:56.072Z', 'reply_count': 1, 'reply_to_post_number': 6, 'quote_count': 0, 'incoming_link_count': 3, 'reads': 14, 'readers_count': 13, 'score': 67.8, 'yours': False, 'topic_id': 4288, 'topic_slug': 'jupyterhub-panel', 'display_username': 'Yordan Radev', 'primary_group_name': None, 'flair_name': None, 'flair_url': None, 'flair_bg_color': None, 'flair_color': None, 'version': 1, 'can_edit': False, 'can_delete': False, 'can_recover': False, 'can_wiki': False, 'link_counts': [{'url': 'https://discourse.holoviz.org/uploads/default/original/2X/b/b14777c6c14c2a8665f4eb80debdfcdfb0857434.png', 'internal': True, 'reflection': False, 'clicks': 0}], 'read': True, 'user_title': '', 'reply_to_user': {'username': 'Marc', 'name': 'Marc Skov Madsen', 'avatar_template': '/user_avatar/discourse.holoviz.org/marc/{size}/24_2.png'}, 'bookmarked': False, 'actions_summary': [{'id': 2, 'count': 1}], 'moderator': False, 'admin': False, 'staff': False, 'user_id': 986, 'hidden': False, 'trust_level': 2, 'deleted_at': None, 'user_deleted': False, 'edit_reason': None, 'can_view_edit_history': True, 'wiki': False, 'can_accept_answer': False, 'can_unaccept_answer': False, 'accepted_answer': False}, {'id': 12066, 'name': 'Marc Skov Madsen', 'username': 'Marc', 'avatar_template': '/user_avatar/discourse.holoviz.org/marc/{size}/24_2.png', 'created_at': '2022-09-25T13:32:15.145Z', 'cooked': '

If there is no error in the server logs then they might be in the browser console logs.

\n

Are there any errors in the browser console logs? How to Open the Browser Console on Chrome, Safari, Firefox, and Edge - Appuals.com

', 'post_number': 8, 'post_type': 1, 'updated_at': '2022-09-25T13:32:15.145Z', 'reply_count': 1, 'reply_to_post_number': 7, 'quote_count': 0, 'incoming_link_count': 0, 'reads': 10, 'readers_count': 9, 'score': 7.0, 'yours': False, 'topic_id': 4288, 'topic_slug': 'jupyterhub-panel', 'display_username': 'Marc Skov Madsen', 'primary_group_name': None, 'flair_name': None, 'flair_url': None, 'flair_bg_color': None, 'flair_color': None, 'version': 1, 'can_edit': False, 'can_delete': False, 'can_recover': False, 'can_wiki': False, 'link_counts': [{'url': 'https://appuals.com/open-browser-console/', 'internal': False, 'reflection': False, 'clicks': 2}], 'read': True, 'user_title': None, 'reply_to_user': {'username': 'StuckDuckF', 'name': 'Yordan Radev', 'avatar_template': '/user_avatar/discourse.holoviz.org/stuckduckf/{size}/4347_2.png'}, 'bookmarked': False, 'actions_summary': [], 'moderator': True, 'admin': False, 'staff': True, 'user_id': 9, 'hidden': False, 'trust_level': 4, 'deleted_at': None, 'user_deleted': False, 'edit_reason': None, 'can_view_edit_history': True, 'wiki': False, 'can_accept_answer': False, 'can_unaccept_answer': False, 'accepted_answer': False}, {'id': 12082, 'name': 'Yordan Radev', 'username': 'StuckDuckF', 'avatar_template': '/user_avatar/discourse.holoviz.org/stuckduckf/{size}/4347_2.png', 'created_at': '2022-09-26T14:41:09.122Z', 'cooked': '

Part of the problem is I do not get any meaningful errors. As you can see the browser console is clear and the terminal log simply shows some warnings but no error.

\n

Here is a Google Drive Folder of the entire app (including static files) which you can build and run using Docker.
\ndocker run -p 8066:8000 -v /PATH_TO_APPS/apps:/usr/src/app/apps yp2

\n


\n

', 'post_number': 9, 'post_type': 1, 'updated_at': '2022-09-26T14:41:09.122Z', 'reply_count': 0, 'reply_to_post_number': 8, 'quote_count': 0, 'incoming_link_count': 1, 'reads': 8, 'readers_count': 7, 'score': 6.6, 'yours': False, 'topic_id': 4288, 'topic_slug': 'jupyterhub-panel', 'display_username': 'Yordan Radev', 'primary_group_name': None, 'flair_name': None, 'flair_url': None, 'flair_bg_color': None, 'flair_color': None, 'version': 1, 'can_edit': False, 'can_delete': False, 'can_recover': False, 'can_wiki': False, 'link_counts': [{'url': 'https://drive.google.com/file/d/1Y16DDBuG3L3i0KcPq13qyhgjyzwXDCgo/view?usp=sharing', 'internal': False, 'reflection': False, 'title': 'Downloads.zip - Google Drive', 'clicks': 2}, {'url': 'https://discourse.holoviz.org/uploads/default/original/2X/c/cbe0904c0335b0bf07a2794529f47a8155d0d0c7.png', 'internal': True, 'reflection': False, 'clicks': 0}, {'url': 'https://discourse.holoviz.org/uploads/default/original/2X/3/3bee7dac5be801efeb1f341e2b94e727ca59958b.png', 'internal': True, 'reflection': False, 'clicks': 0}], 'read': True, 'user_title': '', 'reply_to_user': {'username': 'Marc', 'name': 'Marc Skov Madsen', 'avatar_template': '/user_avatar/discourse.holoviz.org/marc/{size}/24_2.png'}, 'bookmarked': False, 'actions_summary': [], 'moderator': False, 'admin': False, 'staff': False, 'user_id': 986, 'hidden': False, 'trust_level': 2, 'deleted_at': None, 'user_deleted': False, 'edit_reason': None, 'can_view_edit_history': True, 'wiki': False, 'can_accept_answer': False, 'can_unaccept_answer': False, 'accepted_answer': False}] post_stream.stream object [12049, 12056, 12057, 12058, 12059, 12060, 12061, 12066, 12082] details.can_edit bool nan details.notification_level int64 nan details.participants object [{'id': 986, 'username': 'StuckDuckF', 'name': 'Yordan Radev', 'avatar_template': '/user_avatar/discourse.holoviz.org/stuckduckf/{size}/4347_2.png', 'post_count': 5, 'primary_group_name': None, 'flair_name': None, 'flair_url': None, 'flair_color': None, 'flair_bg_color': None, 'trust_level': 2}, {'id': 9, 'username': 'Marc', 'name': 'Marc Skov Madsen', 'avatar_template': '/user_avatar/discourse.holoviz.org/marc/{size}/24_2.png', 'post_count': 4, 'primary_group_name': None, 'flair_name': None, 'flair_url': None, 'flair_color': None, 'flair_bg_color': None, 'moderator': True, 'trust_level': 4}] details.created_by.id int64 nan details.created_by.username object StuckDuckF details.created_by.name object Yordan Radev details.created_by.avatar_template object /user_avatar/discour details.last_poster.id int64 nan details.last_poster.username object StuckDuckF details.last_poster.name object Yordan Radev details.last_poster.avatar_template object /user_avatar/discour details.links object [{'url': 'https://mybinder.org/v2/gh/holoviz/panel/v0.13.1?urlpath=lab/tree/examples', 'title': 'Binder', 'internal': False, 'attachment': False, 'reflection': False, 'clicks': 9, 'user_id': 9, 'domain': 'mybinder.org', 'root_domain': 'mybinder.org'}, {'url': 'https://github.com/jupyterhub/jupyter-server-proxy', 'title': 'GitHub - jupyterhub/jupyter-server-proxy: Jupyter notebook server extension to proxy web services.', 'internal': False, 'attachment': False, 'reflection': False, 'clicks': 5, 'user_id': 9, 'domain': 'github.com', 'root_domain': 'github.com'}, {'url': 'https://github.com/holoviz/panel/tree/master/binder', 'title': 'panel/binder at master · holoviz/panel · GitHub', 'internal': False, 'attachment': False, 'reflection': False, 'clicks': 5, 'user_id': 9, 'domain': 'github.com', 'root_domain': 'github.com'}, {'url': 'https://appuals.com/open-browser-console/', 'title': None, 'internal': False, 'attachment': False, 'reflection': False, 'clicks': 2, 'user_id': 9, 'domain': 'appuals.com', 'root_domain': 'appuals.com'}, {'url': 'https://drive.google.com/file/d/1Y16DDBuG3L3i0KcPq13qyhgjyzwXDCgo/view?usp=sharing', 'title': 'Downloads.zip - Google Drive', 'internal': False, 'attachment': False, 'reflection': False, 'clicks': 2, 'user_id': 986, 'domain': 'drive.google.com', 'root_domain': 'google.com'}, {'url': 'https://github.com/holoviz/jupyter-panel-proxy', 'title': 'GitHub - holoviz/jupyter-panel-proxy: Jupyter Server Proxy for Panel', 'internal': False, 'attachment': False, 'reflection': False, 'clicks': 2, 'user_id': 9, 'domain': 'github.com', 'root_domain': 'github.com'}]