Skip to content

Latest commit

 

History

History
66 lines (44 loc) · 4.64 KB

Use-the-Data-team-server.md

File metadata and controls

66 lines (44 loc) · 4.64 KB

How to use the Data team server

Contents

What is the Data team server?

The Data team server is a remote machine that we use to host various tools and services. It is a virtual machine (VM) running on an on-premise server within the Cook County building.

A sample of the types of things we use the server for include:

  • Run RStudio and JupyterLab instances with more compute than we have on our laptops
  • Schedule cron jobs to perform ETL tasks
  • Run web apps using Docker

These examples are intended to give you a high-level overview of the types of tools we host on the server. For more detail on the tools that are available on the server, see: What lives on the server?

Who controls the server?

The server is owned and maintained collectively by the Data team staff, but only a small group of Senior Data Scientists have superuser permissions (these users are sudoers in Linux terminology). If you need access to superuser permissions (to run commands that require sudo, for example), contact a Senior Data Scientist.

The hardware that the server runs on is controlled by the CCAO's internal IT. If you need hardware debugging/upgrades or a hard reboot, contact the IT Admins.

What lives on the server?

The following is a list of tools and services that live on the server as of summer 2023:

Path Description Repo Run By
/home/<username> Home directories for each member of the data team
/home/shiny-server/services Home directory for various apps that run on the server
/home/shiny-server/services/service-spark-iasworld Service that extracts data from the iasWorld platform and loads it into AWS S3 service-spark-iasworld cron
/home/shiny-server/services/service-socrata-ingress-agent Service that extracts data from AWS Athena and loads it into the Socrata data portal service-socrata-ingress-agent systemd
/opt/aws/amazon-cloudwatch-agent/etc Service to grab local Socrata logs and move them to AWS CloudWatch service-socrata-ingress-agent systemd
/home/shiny-server/services/service-watchtower Service that keeps Docker images up to date on the server service-watchtower docker
/home/shiny-server/services/service-nginx Service that directs web traffic to other services service-nginx docker
/home/shiny-server/services/service-shiny-proxy Service that runs other services using Docker service-shiny-proxy docker
/home/shiny-server/services/service-jupyterhub JupyterHub instance for running notebooks service-jupyterhub systemd
/home/shiny-server/services/api-res-avm REST API for getting predicted values from our residential model api-res-avm docker
/var/spool/cron/crontabs/shiny-server Cron job configuration cron
/etc/systemd/system/ systemd service configurations systemd

If you add a new tool or service to the server, add it to this list and bump the date listed above.

How do I access the server?

Ask a Senior Data Scientist to create a user account for you on the server if you don't have one already.

Once you have a user account, you can connect the server via SSH:

This will prompt you to enter the password that was created for your account.

Once you've logged in for the first time, you can change your password by running the passwd command; you can also configure your account to log in using an SSH key instead of a password if you prefer.

How do I add or remove users from the server?

See this document for details.