jupyterhub / the-littlest-jupyterhub

Simple JupyterHub distribution for 1-100 users on a single server
https://tljh.jupyter.org
BSD 3-Clause "New" or "Revised" License
1.02k stars 338 forks source link

On restart Jupyterhub Container user list is not coming #934

Closed Anup-Zessta closed 1 year ago

Anup-Zessta commented 1 year ago

I configured the container by attaching a named volume to the "/home" directory and created users. Following this, I stopped the container. Upon subsequent container instantiation, the preserved volume facilitated the restoration of user-related data to the "/home" directory. Consequently, the files generated under the admin were successfully retrieved; however, the listing of users within the admin was absent. Is there a method to recover the user account listing? Furthermore, upon manually generating a user through the admin and subsequently logging into that account, the files created in that specific user account were accessible. I am proving my docker-compose file

version: '3'
services:
  tljh-dev:
    build:
      context: .
      dockerfile: integration-tests/Dockerfile
    privileged: true
    ports:
      - "60020:80"
    volumes:
      - "./:/srv/src"
      - data-volume:/home

volumes:
  data-volume:
welcome[bot] commented 1 year ago

Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively. welcome You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:

minrk commented 1 year ago

I'm not sure I quite understand what your goal is. tljh is not meant to be run in docker-compose. It looks like you've gotten some files from our integration tests, which aren't how one would actually deploy TLJH, which assumes an actual VM, not a container. The integration test dockerfile is meant to run our tests, not a tljh deployment.

For tljh to run in a container, you'd need to persist the /opt/tljh directory in a volume (/opt/tljh/state and /opt/tljh/config at the very least, possibly more). This wouldn't be a supported way to use tljh, though.

Anup-Zessta commented 1 year ago

@minrk I have followed the process as mentioned here https://tljh.jupyter.org/en/latest/contributing/dev-setup.html . The only difference is i have created this docker-compose file which will replace docker build and docker run command with docker-compose up --build. As the user are getting created in /home directory, i have mounted this with a named volume to save all the user. The users are getting saved in this volume and on re-run the container it is coming but not displaying in admin.

minrk commented 1 year ago

dev-setup is for working on tljh, not running an actual deployment. Sorry if the docs gave the wrong impression. That config is not meant to nor should it work for running tljh for actual users.

Anup-Zessta commented 1 year ago

Okay, got it. Thank you so much @minrk