Skip to content

Commit

Permalink
Merge pull request ome#93 from khaledk2/Rocky_Linux_9
Browse files Browse the repository at this point in the history
Support Rocky Linux 9
  • Loading branch information
khaledk2 authored Feb 28, 2024
2 parents ce8501f + c4f030e commit 0ac51d1
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,6 @@ jobs:
uses: docker/build-push-action@v2
with:
context: .
file: deployment/docker/centos/Dockerfile
file: deployment/docker/rockylinux/Dockerfile
push: true
tags: ${{ join(fromJson(steps.gettags.outputs.tags)) }}
3 changes: 3 additions & 0 deletions deployment/docker/rockylinux/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Dockerfile
.git
.gitignore
23 changes: 23 additions & 0 deletions deployment/docker/rockylinux/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#docker build . -t searchengine
# docker build . -f deployment/docker/rockylinux/Dockerfile -t searchengine
FROM rockylinux/rockylinux:9.0
USER root
RUN dnf update -y
RUN dnf groupinstall "Development Tools" -y
RUN dnf install libpq-devel -y
RUN dnf install python3-pip -y
RUN dnf install -y python3-devel.x86_64
RUN dnf clean all && rm -rf /var/cache/yum
RUN mkdir /searchengine
ADD deployment/docker/rockylinux/start_gunicorn_serch_engine.sh /searchengine
ADD deployment/docker/rockylinux/run_app.sh /searchengine
ADD . /searchengine
RUN cd /searchengine
RUN mkdir /etc/searchengine
RUN mkdir /etc/searchengine/chachedata
RUN mkdir /etc/searchengine/logs
WORKDIR /searchengine
RUN pip3 install -r requirements.txt
RUN pip3 install gunicorn
EXPOSE 5577
ENTRYPOINT ["bash", "run_app.sh"]
18 changes: 18 additions & 0 deletions deployment/docker/rockylinux/run_app.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash
echo "$@"

#test if the configuration file exists, if not it will copy it from the app configuration folder
test -f /etc/searchengine/.app_config.yml || cp /searchengine/configurations/app_config.yml /etc/searchengine/.app_config.yml

#Check the script input
if [[ $@ == run_app* ]] ; then
url_perfix=${@/run_app/}
echo using prefix: $url_perfix
bash start_gunicorn_serch_engine.sh $url_perfix
elif [ -z "$@" ] || [ "$@" = "run_app" ]; then
echo "Starting the app"
bash start_gunicorn_serch_engine.sh
else
echo "$@"
python3 manage.py "$@"
fi
26 changes: 26 additions & 0 deletions deployment/docker/rockylinux/start_gunicorn_serch_engine.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/bin/sh
NAME="omero_search_engine"
USER root
APPPATH=/searchengine
SOCKFILE=/etc/searchengine/sock3 #change this to project_dir/sock (new file will be created)
echo "Starting $NAME as `whoami`"
export PATH="$APPPATH:$PATH"
echo "staring the app"
# Create the run directory if it doesn't exist
RUNDIR=$(dirname $SOCKFILE)
echo "$RUNDIR"
test -d $RUNDIR || mkdir -p $RUNDIR
LOGS=/etc/searchengine/logs
LOGSDIR=$(dirname $LOGS)
test -d $LOGSDIR || mkdir -p $LOGSDIR
user=$USER
echo "Start Gunicorn ...."
echo "$HOME"
echo pwd
cd $APPPATH
if [ -z "$@" ]; then
exec gunicorn "omero_search_engine:create_app('production')" -b 0.0.0.0:5577 --timeout 0 --name "$NAME" --bind=unix:$SOCKFILE --log-file=$LOGSDIR/logs/engine_gunilog.log --access-logfile=$LOGSDIR/logs/engine_access.log -error-logfile=$LOGSDIR/logs/engine_logs/engine_error.log --workers 4
else
echo Run with SCRIPT_NAME=$@
SCRIPT_NAME=/"$@"/ exec gunicorn "omero_search_engine:create_app('production')" -b 0.0.0.0:5577 --timeout 0 --name "$NAME" --bind=unix:$SOCKFILE --log-file=$LOGSDIR/logs/engine_gunilog.log --access-logfile=$LOGSDIR/logs/engine_access.log -error-logfile=$LOGSDIR/logs/engine_logs/engine_error.log --workers 4
fi

0 comments on commit 0ac51d1

Please sign in to comment.