Skip to content

Outstanding tasks for Titirici deployment #1

@ml-evs

Description

@ml-evs
  • SSL certificates, i.e., accessing the page via HTTPS. This is something the IT team will need to provide you with (there are ways around this if they say no). Probably you want to ask for certificates for the main URL and also for the api.titirici-datalab... subdomain. In order to use the certificates, we will also need to make run an nginx container that will serve the apps at those particular chosen domains. This nginx container could also handle the case of giving a splash page when people are not connected to the VPN (or potentially we ask that access is given from outside the VPN anyway).

  • Disk storage: the OS disk of 50 GB will probably run out fairly soon (when factoring in app updates and so on), or at least would need to be closely monitored; running out of disk space can be pretty fatal to a database, and having space to do backups is also important. I would ask again the Imperial IT team whether it is possible to attach a larger disk to this VM to use as storage, or if they have another service that could be used for data on the order of 1 TB.

  • Once disk storage is sorted, we can talk about automated backups, as described here: https://the-datalab.readthedocs.io/en/latest/config/#backups

  • Making yourself an admin: there is an invoke script (in general described here: https://the-data
    lab.readthedocs.io/en/latest/config/#general-server-administration) but the process is something like:

    # get into API container
    docker compose exec api /bin/bash
    # activate Python env then run script
    pipenv shell
    invoke admin.change-user-role 'John Smith' admin

    The same process can be followed for managers, who should be able to see but not edit other people's data (will need to verify this and maybe push an update), where manager replaces admin above.

  • Making new users: they need to go through the process of creating a GitHub account, ideally setting their name, and joining the Titirici group organisation, after which they should be able to make accounts on datalab. In the case that they don't set a name, you will have to manually update it in the database. This can be done in the API container via either Python (as below) or the MongoDB shell itself:

    docker compose exec api /bin/bash
    pipenv shell
    python
    >>> from pydatalab.mongo import get_database
    >>> users_db = get_database().users
    >>> users_db.update_one({"_id": "<user_id>"}, {"$set": "display_name": "John Smith"}})

Hopefully that's everything we talked about @pntoka!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions