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

Bryan Roessler 7edd947486 Update server README hace 2 semanas
config bff68aa4e1 Add manual to skel hace 3 semanas
docs 7b0a7ac290 Demonstrate X Forwarding and clean up server README hace 2 semanas
scripts 2adc5f5797 Update custom scripts hace 3 semanas
theme 5e80dc91b1 Deploy with stow hace 2 meses
.gitignore 5409b6d482 Initial commit hace 9 meses
LICENSE 5e80dc91b1 Deploy with stow hace 2 meses
README.md 7edd947486 Update server README hace 2 semanas

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 ssh login message 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.

    • File manager
    • Enter the sftp:// address into your file manager's url bar, such as: 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 (unless modified with smbpasswd).

    samba

    x2goclient remote desktop

    Launch a persistent remote desktop session for graphical applications using x2goclient (Linux/Windows/OSX).

    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

    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 and rolling backups are kept for six months.

    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 also be initiated from the server using a variety of pre-installed backup tools (rsnapshot, borgbackup, ...).

    Troubleshooting

    Read the ssh login message 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.
    • Program runs slowly in paused X2Go session
    • Run program via ssh in a tmux or screen session instead.

    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.