Huxley Server Project

The Huxley server is a personal project of mine. I LOVE tinkering with Linux and for a long time have wanted to set up my own server. As I have a couple older laptops laying around, I finally decided to convert one into a Linux server. I decided to go with Ubuntu Server 22.04 LTS. As the laptop I have is by no means powerful, 8GB RAM and 4CPUs (Intel i5), it is mainly used as a personal home-based stroage device and of course, a personal gaming server.


While this server is not powerful enough for bioinformatic computing, I aim to use this server to learn more about system administration.


Here is a list of things I want to add into/tinker with on the Huxley server:

  • • SLURM scheduling manager with SLURM accounting
  • • Python Environments (penv) set up for commonly used Python versions
  • • Conda and Mamba installation and creation of distinct environments with some basic bioinformatics tools:
    • • Next-Generation Sequencing QC: FastQC, FastP, MultiQC, etc.
    • • Read Alignment: BWA, Bowtie2
    • • Variant Calling: GATK, FreeBayes
    • • Transcriptomics: STAR, HISAT2, Salmon
    • • Metagenomics: MetaPhlAn, Kraken2
    • • Phylogenetics: IQ-TREE, RAxML
  • • Automated regular updates and maintenance schedules
  • • Setting up a LAMP/LEMP stack for web hosting
  • • Implementing user authentication and permissions
  • • Monitoring and logging with tools like Nagios, Prometheus, or Grafana
  • • Setting up a backup and recovery strategy
  • • Configuring a firewall and ensuring network security
  • • Setting up a virtual private network (VPN)
  • • Docker and container orchestration with Kubernetes
  • • Automated deployment with Ansible or Puppet
  • • Virtualization with KVM or VirtualBox


Huxley Valheim Dedicated Server:


Setting up the Valheim server on Huxley involved leveraging several tools and packages to ensure efficient management and status monitoring. The server was set up using a Flask application, which is a lightweight WSGI web application framework in Python. The server status is monitored using systemd, a system and service manager for Linux operating systems. The Flask application uses subprocess to execute system commands and gather server status information. For secure communication, SSL certificates were generated using OpenSSL, ensuring encrypted data transfer. The status information is displayed on a GitHub page, utilizing HTML and CSS for the front-end design. Additionally, JavaScript was employed to fetch and display the server status dynamically, ensuring real-time updates. This setup not only provides an efficient gaming experience but also integrates modern web technologies for robust monitoring and management. Here is a link to the tutorial I followed for the initial Valheim dedicated server setup.


While someone off-network cannot see the server status and additional server information below, it is a fun way for my wife and I to see how our Huxley server and Valheim server are running.

Huxley Server Status

Huxley Server:

Valheim Server:

Additional Information