Hi, I have started my own galaxy. I have registered my email id and also changed in galaxy.yml file. But I am not getting admin menu in the menu bar. Kindly help me to fix this. Thanks in advance.
Did you restart your instance? Galaxy only re-reads config on restart.
Thank you for your reply.
I have restarted many times but I am not getting admin access.
That means you have a typo somewhere, or your Galaxy is not loading the correct config file. Can you please post the exact entry in the galaxy,yml file and confirm that this is the file your Galaxy uses? (should be in the startup log)
The common startup.sh is given below.
#!/bin/sh
set -e
# The caller may do this as well, but since common_startup.sh can be called independently, we need to do it here
. ./scripts/common_startup_functions.sh
SET_VENV=1
for arg in "$@"; do
if [ "$arg" = "--skip-venv" ]; then
SET_VENV=0
skip_venv=1 # for common startup functions
fi
done
DEV_WHEELS=0
FETCH_WHEELS=1
CREATE_VENV=1
REPLACE_PIP=$SET_VENV
COPY_SAMPLE_FILES=1
SKIP_CLIENT_BUILD=${GALAXY_SKIP_CLIENT_BUILD:-0}
for arg in "$@"; do
[ "$arg" = "--skip-eggs" ] && FETCH_WHEELS=0
[ "$arg" = "--skip-wheels" ] && FETCH_WHEELS=0
[ "$arg" = "--dev-wheels" ] && DEV_WHEELS=1
[ "$arg" = "--no-create-venv" ] && CREATE_VENV=0
[ "$arg" = "--no-replace-pip" ] && REPLACE_PIP=0
[ "$arg" = "--replace-pip" ] && REPLACE_PIP=1
[ "$arg" = "--stop-daemon" ] && FETCH_WHEELS=0
[ "$arg" = "--skip-samples" ] && COPY_SAMPLE_FILES=0
[ "$arg" = "--skip-client-build" ] && SKIP_CLIENT_BUILD=1
done
SAMPLES="
config/migrated_tools_conf.xml.sample
config/shed_tool_conf.xml.sample
config/shed_tool_data_table_conf.xml.sample
config/shed_data_manager_conf.xml.sample
lib/tool_shed/scripts/bootstrap_tool_shed/user_info.xml.sample
tool-data/shared/ucsc/builds.txt.sample
tool-data/shared/ucsc/manual_builds.txt.sample
static/welcome.html.sample
"
RMFILES="
lib/pkg_resources.pyc
"
# return true if $1 is in $2 else false
in_dir() {
case $1 in
$2*)
return 0
;;
''|*)
return 1
;;
esac
}
# return true if $1 is in $VIRTUAL_ENV else false
in_venv() {
in_dir "$1" "$VIRTUAL_ENV"
}
# return true if $1 is in $CONDA_PREFIX else false
in_conda_env() {
in_dir "$1" "$CONDA_PREFIX"
}
if [ $COPY_SAMPLE_FILES -eq 1 ]; then
# Create any missing config/location files
for sample in $SAMPLES; do
file=${sample%.sample}
if [ ! -f "$file" -a -f "$sample" ]; then
echo "Initializing $file from $(basename "$sample")"
cp "$sample" "$file"
fi
done
fi
# remove problematic cached files
for rmfile in $RMFILES; do
[ -f "$rmfile" ] && rm -f "$rmfile"
done
# Determine branch (if using git)
if command -v git >/dev/null && [ -d .git ]; then
GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
case $GIT_BRANCH in
release_*|master)
# All branches should now build the client as necessary, turn this
# back into an if? Or is there more we need to do here?
;;
*)
DEV_WHEELS=1
# SKIP_CLIENT_BUILD will default to false, but can be overridden by the command line argument
;;
esac
else
GIT_BRANCH=0
DEV_WHEELS=1
fi
: ${GALAXY_VIRTUAL_ENV:=.venv}
# GALAXY_CONDA_ENV is not set here because we don't want to execute the Galaxy version check if we don't need to
if [ $SET_VENV -eq 1 -a $CREATE_VENV -eq 1 ]; then
if [ ! -d "$GALAXY_VIRTUAL_ENV" ]
then
# Locate `conda` and set $CONDA_EXE (if needed). If `python` is Conda Python and $GALAXY_VIRTUAL_ENV does not
# exist, virtualenv will not be used. setup_python calls this as well but in this case we need it done
# beforehand.
set_conda_exe
if [ -n "$CONDA_EXE" ]; then
echo "Found Conda, virtualenv will not be used."
echo "To use a virtualenv instead, create one with a non-Conda Python 2.7 at $GALAXY_VIRTUAL_ENV"
: ${GALAXY_CONDA_ENV:="_galaxy_$(get_galaxy_major_version)"}
if [ "$CONDA_DEFAULT_ENV" != "$GALAXY_CONDA_ENV" ]; then
if ! check_conda_env "$GALAXY_CONDA_ENV"; then
echo "Creating Conda environment for Galaxy: $GALAXY_CONDA_ENV"
echo "To avoid this, use the --no-create-venv flag or set \$GALAXY_CONDA_ENV to an"
echo "existing environment before starting Galaxy."
$CONDA_EXE create --yes --name "$GALAXY_CONDA_ENV" 'python=2.7' 'pip>=9'
unset __CONDA_INFO
fi
fi
else
# If .venv does not exist, and there is no conda available, attempt to create it.
# Ensure Python is a supported version before creating .venv
echo "Creating Python virtual environment for Galaxy: $GALAXY_VIRTUAL_ENV"
echo "To avoid this, use the --no-create-venv flag or set \$GALAXY_VIRTUAL_ENV to an"
echo "existing environment before starting Galaxy."
python ./scripts/check_python.py || exit 1
if command -v virtualenv >/dev/null; then
virtualenv -p "$(command -v python)" "$GALAXY_VIRTUAL_ENV"
else
vvers=13.1.2
vurl="https://pypi.python.org/packages/source/v/virtualenv/virtualenv-${vvers}.tar.gz"
vsha="aabc8ef18cddbd8a2a9c7f92bc43e2fea54b1147330d65db920ef3ce9812e3dc"
vtmp=$(mktemp -d -t galaxy-virtualenv-XXXXXX)
vsrc="$vtmp/$(basename $vurl)"
# SSL certificates are not checked to prevent problems with messed
# up client cert environments. We verify the download using a known
# good sha256 sum instead.
echo "Fetching $vurl"
if command -v curl >/dev/null; then
curl --insecure -L -o "$vsrc" "$vurl"
elif command -v wget >/dev/null; then
wget --no-check-certificate -O "$vsrc" "$vurl"
else
python -c "import urllib; urllib.urlretrieve('$vurl', '$vsrc')"
fi
echo "Verifying $vsrc checksum is $vsha"
python -c "import hashlib; assert hashlib.sha256(open('$vsrc', 'rb').read()).hexdigest() == '$vsha', '$vsrc: invalid checksum'"
tar zxf "$vsrc" -C "$vtmp"
python "$vtmp/virtualenv-$vvers/virtualenv.py" "$GALAXY_VIRTUAL_ENV"
rm -rf "$vtmp"
fi
fi
fi
fi
# activate virtualenv or conda env, sets $GALAXY_VIRTUAL_ENV and $GALAXY_CONDA_ENV
setup_python
if [ $SET_VENV -eq 1 -a -z "$VIRTUAL_ENV" -a -z "$CONDA_DEFAULT_ENV" ]; then
echo "ERROR: A virtualenv cannot be found. Please create a virtualenv in $GALAXY_VIRTUAL_ENV, or activate one."
exit 1
fi
# this shouldn't happen, but check just in case
if [ -z "$VIRTUAL_ENV" ] && [ "$CONDA_DEFAULT_ENV" = "base" -o "$CONDA_DEFAULT_ENV" = "root" ]; then
echo "ERROR: Conda is in 'base' environment, refusing to continue"
exit 1
fi
: ${GALAXY_WHEELS_INDEX_URL:="https://wheels.galaxyproject.org/simple"}
: ${PYPI_INDEX_URL:="https://pypi.python.org/simple"}
: ${GALAXY_DEV_REQUIREMENTS:="./lib/galaxy/dependencies/dev-requirements.txt"}
if [ $REPLACE_PIP -eq 1 ]; then
pip install 'pip>=8.1'
fi
requirement_args="-r requirements.txt"
if [ $DEV_WHEELS -eq 1 ]; then
requirement_args="$requirement_args -r ${GALAXY_DEV_REQUIREMENTS}"
fi
if [ $FETCH_WHEELS -eq 1 ]; then
pip install $requirement_args --index-url "${GALAXY_WHEELS_INDEX_URL}" --extra-index-url "${PYPI_INDEX_URL}"
GALAXY_CONDITIONAL_DEPENDENCIES=$(PYTHONPATH=lib python -c "from __future__ import print_function; import galaxy.dependencies; print('\n'.join(galaxy.dependencies.optional('$GALAXY_CONFIG_FILE')))")
if [ -n "$GALAXY_CONDITIONAL_DEPENDENCIES" ]; then
if pip list --format=columns | grep "psycopg2[\(\ ]*2.7.3" > /dev/null; then
echo "An older version of psycopg2 (non-binary, version 2.7.3) has been detected. Galaxy now uses psycopg2-binary, which will be installed after removing psycopg2."
pip uninstall -y psycopg2 psycopg2-binary
fi
echo "$GALAXY_CONDITIONAL_DEPENDENCIES" | pip install -r /dev/stdin --index-url "${GALAXY_WHEELS_INDEX_URL}" --extra-index-url "${PYPI_INDEX_URL}"
fi
fi
# Check client build state.
if [ $SKIP_CLIENT_BUILD -eq 0 ]; then
if [ -f static/client_build_hash.txt ]; then
# If git is not used and static/client_build_hash.txt is present, next
# client rebuilds must be done manually by the admin
if [ "$GIT_BRANCH" = "0" ]; then
SKIP_CLIENT_BUILD=1
else
# Check if anything has changed in client/ since the last build
if git diff --quiet $(cat static/client_build_hash.txt) -- client/; then
SKIP_CLIENT_BUILD=1
else
echo "The Galaxy client is out of date and will be built now."
fi
fi
else
echo "The Galaxy client has not yet been built and will be built now."
fi
fi
# Build client if necessary.
if [ $SKIP_CLIENT_BUILD -eq 0 ]; then
# Ensure dependencies are installed
if [ -n "$VIRTUAL_ENV" ]; then
if ! in_venv "$(command -v node)"; then
echo "Installing node into $VIRTUAL_ENV with nodeenv."
nodeenv -n 9.11.1 -p
fi
if ! in_venv "$(command -v yarn)"; then
echo "Installing yarn into $VIRTUAL_ENV with npm."
npm install --global yarn
fi
elif [ -n "$CONDA_DEFAULT_ENV" -a -n "$CONDA_EXE" ]; then
if ! in_conda_env "$(command -v yarn)"; then
echo "Installing yarn into '$CONDA_DEFAULT_ENV' Conda environment with conda."
$CONDA_EXE install --yes --override-channels --channel conda-forge --channel defaults --name $CONDA_DEFAULT_ENV yarn
fi
else
echo "WARNING: Galaxy client build needed but there is no virtualenv enabled. Build may fail."
fi
# Build client
cd client
if yarn install --network-timeout 120000 --check-files; then
if ! yarn run build-production-maps; then
echo "ERROR: Galaxy client build failed. See ./client/README.md for more information, including how to get help."
exit 1
fi
else
echo "ERROR: Galaxy client dependency installation failed. See ./client/README.md for more information, including how to get help."
exit 1
fi
cd -
else
echo "Regenerating static plugin directories."
python ./scripts/plugin_staging.py
fi
The Place were the changes made in the galaxy.yml file given below.
# Administrative users - set this to a comma-separated list of valid
# Galaxy users . These users will have access to the
# Admin section of the server, and will have access to create users,
# groups, roles, libraries, and more. For more information, see:
# # this should be a comma-separated list of valid Galaxy users
admin_users: '<redacted>@gmail.com'
Remove the single quotes and restart – that should solve the problem.
Example: Get Galaxy - Galaxy Community Hub
And remove the # symbol of course
Thank you… It worked
Thank you… I configured admin now
I am experiencing the same problem even after everything is config/galaxy.yml file correctly
Administrative users - set this to a comma-separated list of valid
Galaxy users (email addresses). These users will have access to the
Admin section of the server, and will have access to create users,
groups, roles, libraries, and more. For more information, see:
Galaxy Administration - Galaxy Community Hub
admin_users: xxxxxx@gmail.com
Force everyone to log in (disable anonymous access).
#require_login: false
I even tried to change the port to match the web interface port
Have you restarted Galaxy since making the change to the galaxy.yml file?
Also, for this line, the option is not used unless the hash #
is removed. Make sure not to add a space to the start of the line when doing this This changed or I understood it wrong originally – the line should start with an indent (replace the # with an indent) to preserve yaml formatting. See @marten’s reply below.
Related Q&A setting up as administrator - #5 by MzwaneleN (now closed out)
Yes, I have restarted it through a web portal server. The only fishy part is that my server tech who installed the galaxy on the server says that I can only restart the galaxy instance on the web portal server and not on the compute server. However, when I restart galaxy through the compute server using, “sh run.sh” command. I get “command not available/found”. Any suggestions?
Galaxy needs to be shut down and restarted from inside the /path/to/galaxy
directory, with the galaxy process active for shut-down.
FAQ: https://galaxyproject.org/admin/get-galaxy/#shutting-down-galaxy
I know the hash # is removed for the admin_users line, should I do the same in other lines as well, including this one?
Thanks. Can you kindly share with me the commands for shutting down? I know for restarting is: “sh run.sh”, right? Appreciate the feedback
If you are the only user then the other options do not matter. Just use the defaults.
Maybe the technician who helped you to set up the server can help? If you have distributed Galaxy over several servers, that is a more complicated configuration.
The idea is to:
- start up Galaxy for the first time
- create the web account
- shut down Galaxy
- edit the
admin_users:
option in agalaxy.yml
file (notgalaxy.yml.sample
. https://galaxyproject.org/admin/get-galaxy/#become-an-admin - restart Galaxy
- log into your account to check that all matches up – if true, then the
Admin
masthead menu is available
See the FAQ I posted – it is here again: Get Galaxy - Galaxy Community Hub
Hello. I have run into the same problem. I have checked the galaxy.yml file and it is correct as far as I can make out. No apostrophe’s in sight.
# Administrative users - set this to a comma-separated list of valid
# Galaxy users (email addresses). These users will have access to the
# Admin section of the server, and will have access to create users,
# groups, roles, libraries, and more. For more information, see:
# https://galaxyproject.org/admin/
admin_users: joe.bloggs@gmail.com
# Force everyone to log in (disable anonymous access).
#require_login: false
However, I don’t have the admin option at the top of the screen when logging in as joe.bloggs@gmail.com
This is a fresh install on Ubuntu 20.04LTS and a fresh clone of the latest Galaxy release.
I see the following error in the log file.
SAWarning: Dialect sqlite+pysqlite does not support Decimal objects natively, and SQLAlchemy must convert from floating point - rounding errors and other issues may occur. Please consider storing Decimal numbers as strings or integers on this platform for lossless storage.
Thanks in advance.
T
Keep in mind that it is an indented yaml file. It has to look like this:
galaxy:
<other config options>
admin_users: joe.bloggs@gmail.com