A collection of scripts and configs for the John Hartman Lab Server at UAB

Bryan Roessler e64b5270f5 Update server README 1 day ago
config bff68aa4e1 Add manual to skel 1 week ago
docs 7b0a7ac290 Demonstrate X Forwarding and clean up server README 1 day ago
scripts 2adc5f5797 Update custom scripts 1 week ago
theme 5e80dc91b1 Deploy with stow 1 month ago
.gitignore 5409b6d482 Initial commit 8 months ago
LICENSE 5e80dc91b1 Deploy with stow 1 month ago
README.md e64b5270f5 Update server README 1 day ago

README.md

Hartman Lab Server Manual

First-time login

  1. Ensure an admin has enabled your user account and provided you a username.
  2. Login via ssh: ssh username@hartmanlab.genetics.uab.edu (default password is your username)
  3. You will be prompted to create a new password and then logged out.
  4. Login again using your new password: ssh username@hartmanlab.genetics.uab.edu
  5. Change the default samba password (default password is also your username): smbpasswd
  6. Optional: Generate a public-private keypair on your client and copy it to the server for faster and more secure logins.

    ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_4096
    ssh-copy-id -i ~/.ssh/id_rsa_4096.pub username@hartmanlab.genetics.uab.edu
    

    Notes

    • Read the motd helper at ssh login for ongoing server status
    • To change your user password: passwd
    • To change your samba password: smbpasswd

    ssh remote login

    Connect to the server remotely using the command line.

    ssh X forwarding

    Launch graphical programs locally on a client that execute on the server.

    x_forwarding

    • Linux/OSX
    • Enable X forwarding during ssh login: ssh -X username@hartmanlab.genetics.uab.edu
    • Windows
    • Install Xming and enable X11 forwarding in the PuTTY options.

    sftp remote filesharing

    Browse and manage files stored on the server.

    • Access sftp via most file managers using a sftp:// address.

    Example: sftp://username@hartmanlab.genetics.uab.edu/home/username

    sftp

    Filezilla

    samba remote filesharing

    Another method to browse and manage files stored on the server.

    The server provides two samba shares:

    1. Shared data array (/mnt/data): \\username\\data
    2. User home directory (/home/username): \\username\\username

    The default samba credentials are the same as your server username and password until changed with smbpasswd.

    samba

    x2goclient remote desktop

    Launch a graphical remote desktop session using the X2Go x2goclient available for Linux/OSX/Windows from the X2Go website or by installing the x2goclient package.

    x2go_desktop

    X2Go sessions can be paused or suspended from the X2Go client window. Multiple sessions can be created on the client, making it possible to select alternate quality settings based on location and bandwidth.

    x2goclient configuration

    • Session tab
    • Session name: Hartman Lab Server
    • Host: hartmanlab.genetics.uab.edu
    • Login: username
    • SSH port: 22
    • Session type: MATE (provides the best experience with X2Go)

    x2go_server

    • Connection tab
    • Set the connection speed to LAN when connecting from within the UAB network and WAN when outside of the UAB network
    • Compression settings should be left unchanged or set to adaptive.
    • Input/output tab
    • If automatic window resizing is not working properly (common on HiDPI monitors), set the desired startup window resolution size manually. For full screen sessions, this should match your client display. In case of scaling issues, play with the DPI setting, 96 is a sane starting value.
    • If there are any issues with keyboard mapping (ex. the arrow keys are not working), select Configure Keyboard and leave the default selected settings.
    • Media tab
    • Disable sound support. This will prevent pulseaudio from spamming the server logs.
    • Shared folders tab
    • Select folders on the client to be shared with the server during a session. Browse to the chosen folder, add it to the share, and select automount.
    • These folders will then appear on the server under /media/disk/<share_name>. x2go_server

    Note: Some programs do not continue to run at full speed when an X2Go session is paused. In these cases, the program should be run via ssh in a tmux or screen session.

    Robot computer remote desktop access

    • Currently unavailable (TODO network cable unplugged?)

    • In an X2Go session go to Applications>Internet>Remote Viewer>Connection Address and enter vnc://192.168.16.101.

    remote_viewer

    Webcam robot monitoring

    • In an X2Go session, via a web browser at http://localhost:9999
    • Locally via a web browser via an SSH tunnel: ssh -f username@hartmanlab.genetics.uab.edu -L 9999:localhost:9999 -N

    robot_camera

    RStudio Server

    • In an X2Go session, via a web browser at http://localhost:8787
    • Locally via a web browser via an SSH tunnel: ssh -f username@hartmanlab.genetics.uab.edu -L 8787:localhost:8787 -N

    rstudio_server rstudio_server2

    Other available software

    Backing up your data

    /mnt/data is snapshotted daily to /mnt/backup/data-backup. In case of inadvertent data loss, users can recover lost files from a previous snapshot, organized by date.

    rsync is also recommended for periodically backing up user files to a local client.

    • Copy a user's $HOME directory locally to /home-backup from a client: rsync -azH --delete username@hartmanlab.genetics.uab.edu:/home/username/ home-backup/
    • Copy a shared directory locally to the current directory from a client: rsync -azh username@hartmanlab.genetics.uab.edu:/mnt/data/scans/20250723_roessler_project .

    Backups can be initiated from the server using other pre-installed backup tools (rsnapshot, borgbackup, ...).

    Troubleshooting

    Read the motd at ssh login for server status and updates: cat /etc/motd. Notify an admin of any issues.

    • Can't login via ssh
    • Make sure that you are using the correct username and caps lock is off.
    • Three consecutive failed logins from an off-campus computer will ban the IP for one hour.
    • Request an administrator to run: sudo script-user-unban <ip_address> to unban your IP address
    • Request an administrator to run: sudo script-user-reset-password <username> to reset your login password
    • Can't login via X2Go
    • Login via ssh and reset corrupt X2Go sessions: script-user-reset-x2go
    • X2Go desktop is corrupted (desktop not similar to screenshot)
    • Login via ssh and reset your desktop: script-user-reset-desktop
    • File permissions issues
    • Use ls -al or add permissions columns to your file manager to double-check the file permissions.
    • /mnt/data uses shared group permissions, usually:
    • Group: smbgrp
    • User: username that created/owns the file (or smbgrp)
    • Permissions: 2775
    • To change: chown -R username:smbgrp <dir> && chmod 2775 <dir>
    • If you do not have sufficient privileges to alter shared file permissions, ask an admin to fix or make a copy.

    Resources

    Platform

    • AlmaLinux 9.6 w/ Linux 6.1 LTS Hyperscale SIG kernel
    • Intel Xeon X99 E5-2650v4 12-core CPU
    • 96GB DDR4 RAM
    • 4TB PCIe 3.0 NVMe SSD: /, /home
    • 20TB btrfs raid1 array: /mnt/data
    • 20TB btrfs raid1 backup array: /mnt/backup

    Administrators

    See additional documentation in docs/README.md.