Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
d0b5531
integration of galaxy-re host first step
martindemko Jul 14, 2025
b2dbf3b
first part of integration
martindemko Jul 14, 2025
e2c280a
another integration step
martindemko Jul 15, 2025
9a96263
adds new tool
martindemko Aug 4, 2025
d8b7c42
another integration step
martindemko Aug 4, 2025
a796ce2
another integration step
martindemko Aug 10, 2025
8fdc28a
another integration step
martindemko Aug 11, 2025
8b3eb8b
updates sanitize_allowlist
martindemko Aug 25, 2025
bdc01a8
sets cron jobs
martindemko Aug 25, 2025
8f9f3ac
attempt to use proftpd with ldap
martindemko Sep 1, 2025
a4bc088
improves LDAP configuration for ProFTPd (must be tested)
martindemko Sep 11, 2025
b5d855a
Merge branch 'main' of github.com:CESNET/usegalaxy into main
martindemko Sep 15, 2025
a14a70e
adds LoadModule mod_ldap.c to proper place
martindemko Sep 15, 2025
449a0db
fixes several small problems
martindemko Sep 17, 2025
494775f
adds testing configuration for GCZ
martindemko Sep 17, 2025
db4446d
fixes conflicts when merging main to clean_RE
martindemko Sep 18, 2025
246dba2
undo the test configuration
martindemko Sep 18, 2025
8f8655d
LDAP proftpd configuration for RE is working, tested on GCZ
martindemko Sep 18, 2025
c77334a
Few changes were needed to make LDAP configuration work
martindemko Sep 18, 2025
7e1ea7a
adjust nginx setting using galaxy prefix
martindemko Oct 2, 2025
347b795
incorporates RE specific TPV configuration
martindemko Oct 3, 2025
8672cc2
adds a way to install tools and integrated_tool config for RE
martindemko Oct 3, 2025
b09002a
Adds banner text about maintenance temporarily
martindemko Oct 9, 2025
095662a
Adds repeatexplorer... as inventory hostname for the time being
martindemko Oct 9, 2025
d407f86
Adds HTML page in case of 502 or 403 for Nginx
martindemko Oct 9, 2025
3631adb
Merge branch 'main' into clean_RE
martindemko Oct 9, 2025
523a8c7
adds repeatexplorer-elixir.cerit-sc.cz as inventory_hostname for the …
martindemko Oct 9, 2025
7c4f4f3
Fix privileged galaxy user for galaxy-re and RE
martindemko Oct 9, 2025
ce24324
Fixes broken and missing things to get playbook working for RE Galaxy
martindemko Oct 9, 2025
e3489f3
Adds more allowed IPs for my home station
martindemko Oct 9, 2025
cd9e7b5
Upgrades RE Galaxy to 25.0
martindemko Oct 9, 2025
be695bd
Fixes extra service names for RE
martindemko Oct 10, 2025
6dc21ff
Fixes ldap deps installation; optimizes RBD configuration and adds RB…
martindemko Oct 10, 2025
43d4d35
Modifies message box and access to the web after upgrade
martindemko Oct 10, 2025
ea95d2d
Fixes case when users cannot run tarean tool
martindemko Oct 12, 2025
ce71c75
Fixes the case when service user could not run test job
martindemko Oct 12, 2025
4511adb
Fixes issue: TypeError: '>' not supported between instances of 'set' …
martindemko Oct 13, 2025
b344718
Changes Nginx warning to something general
martindemko Oct 15, 2025
d63e2fa
remove outdated info, fix links in welcome
martenson Oct 16, 2025
e5dc4c3
removes old pulsar runner
martindemko Oct 20, 2025
fa31722
Temp solution for login-prefix problem
martindemko Oct 20, 2025
d4c687d
fixes few issues with proper tools scheduling
martindemko Oct 21, 2025
7ba3669
Merge branch 'clean_RE' of github.com:CESNET/usegalaxy into clean_RE
martindemko Oct 21, 2025
8fed1a1
fixes conn to smtp server on RE
martindemko Oct 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 120 additions & 0 deletions files/galaxy-re.grid.cesnet.cz/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# usegalaxy

Simple galaxy installation steps.

On fresh install of ubuntu:
```
sudo apt-get update
sudo apt-get upgrade -y
sudo apt update
sudo apt upgrade -y
sudo apt install -y software-properties-common
sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo apt install -y ansible
```

Clone the repo and instal required galaxy roles.
```
git clone https://github.com/CESNET/usegalaxy.git
cd usegalaxy
ansible-galaxy install -p roles -r requirements.yml
```
Note that the roles are already present in this repo.

After the instalation, you should configure your [inventory file](https://training.galaxyproject.org/training-material/topics/admin/tutorials/ansible/tutorial.html#inventory-file) ([hosts](https://github.com/CESNET/usegalaxy/blob/main/hosts)) and set up a vault:
```
openssl rand -base64 24 > .vault-password.txt
ansible-vault create group_vars/secret.yml
```
The second command opens an editor wherein you should define variables eg.:
```
vault_id_secret: "a-long-random-value"
rabbitmq_users_password:
mqadmin: "a-long-random-value"
galaxy: "a-long-random-value"
galaxy_gpu: "a-long-random-value"
```
The value should be a long random value, which can be obtained by command `openssl rand -base64 24`, though you should avoid having a `/` or `\` in your password as galaxy will interpret this as a path.

Make sure you have these ports enabled on your machine:
```
80(HTTP)
443(HTTPS)
4369(TCP)
5671(TCP)
15672(TCP)
25672(TCP)
```

Once everything have been installed and configured, the ansible playbook can be run as follows:
```
ansible-playbook galaxy.yml
```

## Usegalaxy tools

Install ephemeris for tool management:
```
virtualenv -p python3 ~/ephemeris_venv
. ~/ephemeris_venv/bin/activate
pip install ephemeris
```
To obtain the list of tools from the [usegalaxy.eu](https://usegalaxy.eu) use:
```
get-tool-list -g "https://usegalaxy.eu" -o "eu_tool_list.yaml"
```
and then to install them:
```
shed-tools install -g https://your-galaxy -a <api-key> -t eu_tool_list.yaml
```
The api key can be found in the User -> Preferences -> Manage API Key in Galaxy menu.

...

Later we should use this [role](https://github.com/galaxyproject/ansible-galaxy-tools) to automate this, but there are too many tools to be installed and it is very inpractical for testing purposes.

## Debian 11

### TUS

On ubuntu < 22.04 and Debian < 12 the GLIBC version is incompatible with the ```galaxyproject.tusd``` GLIBC, therfore playbook ends in error.
- in `roles/galaxyproject.tusd/defaults/main.yml` you have to set the `tusd_version:` to 'v1.8.0' (tested, possibly higher)

### Ansible

On Debian 11 the default version of `ansible` is 2.10.08 which fails to extract binaries for TUSd.
- workaround:
- because of Puppet, we need to create dedicated sources.list file for ansible
- `sudo vim /etc/apt/sources.list.d/ansible_ubuntu_focal_main.list` add this line : `deb http://ppa.launchpad.net/ansible/ansible/ubuntu focal main`
- then `sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367`
- followed by `sudo apt-get update` and `sudo apt-get install ansible -y`
- Note that you might need to `sudo apt remove ansible` `sudo apt autoremove` before you try to install ansible.

### Nginx Upload Module

Our playbook makes use of `nginx-upload-module`, which is not included by default in any nginx-* distribution from `apt`.
This is a simple recipe for installing nginx with the upload-module.

```
sudo apt remove *nginx* -y &&
sudo apt autoremove -y &&

wget http://nginx.org/download/nginx-1.24.0.tar.gz &&
tar -xzf nginx-1.24.0.tar.gz &&
cd nginx-1.24.0/ &&
git clone https://github.com/hongzhidao/nginx-upload-module.git &&
sudo apt-get install -y libpcre3 libpcre3-dev libssl-dev zlib1g-dev &&
./configure --user=nginx --group=nginx --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-compat --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_sub_module --add-module=nginx-upload-module &&
make && make install
```

Note that you might need to `sudo systemctl unmask nginx.service` and remove the `galaxy` and `redirect-ssl` from `/etc/nginx/sites-available and `/etc/nginx/sites-enabled` before running the playbook again.

### Other issues


Use `sudo apt install python3-docker` before running the `usegalaxy.rabbitmqserver` role.

For influxdb apt key error: https://www.influxdata.com/blog/linux-package-signing-key-rotation/

For proftpd add "LoadModule mod_tls.c" to roles/galaxyproject.proftpd/templates/tls.conf.j2 just before the TLSEngine
128 changes: 128 additions & 0 deletions files/galaxy-re.grid.cesnet.cz/all_tools.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# DEMON: This file is a copy from usegalaxy.cz, it wasn't adjusted to the needs of RE yet
name: Tools
type: generic
id: all_tools
items:
- sections:
- upload_file
- get_data
- data_source_tools
- send_data
- collection_operations
- expression_tools
- id: general_text_label
text: General Text Tools
type: label
- sections:
- text_manipulation
- filter_and_sort
- join__subtract_and_group
- convert
- convert_formats
- builtin_converters
- id: genomic_manip_label
text: Genomic File Manipulation
type: label
- sections:
- fasta_fastq
- fastq_quality_control
- quality_control
- sam_bam
- bed
- vcf_bcf
- nanopore
- lift_over
- extract_features
- operate_on_genomic_intervals
- fetch_sequences___alignments
- chromosome_conformation
- id: genomics_analysis_label
text: Genomics Analysis
type: label
- sections:
- assembly
- annotation
- mapping
- variant_calling
- rna_analysis
- multiple_alignments
- hgv
- evolution
- regional_variation
- biodiversity_data_exploration
- genome_diversity
- rna_seq
- peak_calling
- genome_editing
- epigenetics
- phylogenetics
- phenotype_association
- single_cell
- hca_single_cell
- hca-single_cell
- single-cell
- id: stats_viz
text: Statistics and Visualization
type: label
- sections:
- statistics
- machine_learning
- plots
- interactive_tools
- graph_display_data
- id: genomics_toolkits_label
text: Genomics Toolkits
type: label
- sections:
- mothur
- qiime
- qiime_2
- picard
- deeptools
- emboss
- ncbi_blast
- mimodd
- scanpy
- hicexplorer
- gemini
- motif_tools
- gatk_tools
- rad_seq
- sanger_sequencing
- dna_metabarcoding
- apollo
- id: domain_tools_label
text: Domain Tools
type: label
- sections:
- virology
- metagenomic_analysis
- proteomics
- metabolomics
- muon_spectroscopy
- chemicaltoolbox
- astronomy
- imaging
- climate_analysis
- gis_data_handling
- spatial_omics
- ecoregionalization
- graphclust
- species_abundance
- data_and_metadata_management
- obo_ontology_manipulation
- ontology
- compute_indicators_for_satellite_remote_sensing
- compute_indicators_for_turnover_boulders_fields
- animal_detection_on_acoustic_recordings
# - id: other_tools_label
# text: Other Tools
# type: label
- sections:
- other_tools
# - id: testing_tools_label
# text: Testing Tools
# type: label
- sections:
- local_tools
- test_tools
1 change: 1 addition & 0 deletions files/galaxy-re.grid.cesnet.cz/pulsar.pub
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPJ4pNj4pZBfm/hGSD04ZkuxtCbageNxwSD6EAZ+wyjQ galaxyelixir@galaxy-re.grid.cesnet.cz
Loading