diff --git a/Config Domain Name and port use.txt b/Config Domain Name and port use.txt index d9b5189..309fe83 100644 --- a/Config Domain Name and port use.txt +++ b/Config Domain Name and port use.txt @@ -1,9 +1,9 @@ -Gitea : git.c2a-systeme.fr -> 8000, 2200 -Gitlab : gitlab.c2a-systeme.fr -> 8001, 2201 -Jenkins : jenkins.c2a-systeme.fr -> 8002 -Portainer : portainer.c2a-systeme.fr -> 8003 -API Prod : api.c2a-systeme.fr -> 8004 -API Dev : dev.api.c2a-systeme.fr -> 8005 -MongoDB : XXX -> 27017 +Gitea : git.c2a-systeme.fr -> 8000, 2200 +Gitlab : gitlab.c2a-systeme.fr -> 8001, 2201 +Jenkins : jenkins.c2a-systeme.fr -> 8002 +Portainer : portainer.c2a-systeme.fr -> 8003 +API Prod : api.c2a-systeme.fr -> 8004 +API Dev : dev.api.c2a-systeme.fr -> 8005 +MongoDB : XXX -> 27017 Web Platform : www.c2a-systeme.fr -> Nginx Web App Constat : reports.c2a-systeme.fr -> Nginx diff --git a/docker/add-alias.sh b/docker/add-alias.sh index e19226a..4ebb125 100755 --- a/docker/add-alias.sh +++ b/docker/add-alias.sh @@ -1,16 +1,8 @@ echo " # Alias C2A -alias letsencrypt='/opt/letsencrypt/letsencrypt-auto' -alias sdkmanager='/root/tools/bin/sdkmanager --sdk_root=/opt/android-sdk' -alias process='ps -ef | grep python3' -alias pull-dev=' git --git-dir=/home/C2A/C2A-API-DEV/C2A-Api/.git --work-tree=/home/C2A/C2A-API-DEV/C2A-Api/ pull' -alias start-dev='nohup python3 /home/C2A/C2A-API-DEV/C2A-Api/c2a_handler_dev.py dev&> /home/C2A/C2A-API-DEV/c2a.dev.log&' -alias stop-dev='pgrep -f \"c2a_handler_dev.py dev\" | xargs kill' -alias update-dev='stop-dev; pull-dev; start-dev' +alias restart-api='docker restart c2a-api-prod' +alias restart-api-dev='docker restart c2a-api-dev' -alias pull-prod=' git --git-dir=/home/C2A/C2A-API-PROD/C2A-Api/.git --work-tree=/home/C2A/C2A-API-PROD/C2A-Api/ pull' -alias start-prod='nohup python3 /home/C2A/C2A-API-PROD/C2A-Api/c2a_handler_dev.py prod&> /home/C2A/C2A-API-PROD/c2a.prod.log&' -alias stop-prod='pgrep -f \"c2a_handler_dev.py prod\" | xargs kill' -alias update-prod='stop-prod; pull-prod; start-prod' +export PATH=$PATH:/root/.bin " > /root/.bashrc \ No newline at end of file diff --git a/docker/c2a-api.dockerfile b/docker/c2a-api.dockerfile new file mode 100644 index 0000000..6387382 --- /dev/null +++ b/docker/c2a-api.dockerfile @@ -0,0 +1,11 @@ +FROM python:3.7.3-slim + +ENV ENV dev + +COPY docker/script/start.sh /root/start.sh + +RUN apt-get update; apt-get install -y git + +EXPOSE 5000 + +ENTRYPOINT /root/start.sh diff --git a/docker/script/start-api-dev.sh b/docker/script/start-api-dev.sh new file mode 100644 index 0000000..e13acd3 --- /dev/null +++ b/docker/script/start-api-dev.sh @@ -0,0 +1,9 @@ +docker stop c2a-api-dev; docker rm c2a-api-dev; +docker run --detach \ + --name c2a-api-dev \ + --publish 8005:5000 \ + --env ENV='dev' \ + --volume /root/.ssh:/root/.ssh \ + --volume /api/dev:/app \ + --restart unless-stopped \ + c2a/api diff --git a/docker/script/start-api-prod.sh b/docker/script/start-api-prod.sh new file mode 100644 index 0000000..bf086ed --- /dev/null +++ b/docker/script/start-api-prod.sh @@ -0,0 +1,9 @@ +docker stop c2a-api-prod; docker rm c2a-api-prod; +docker run --detach \ + --name c2a-api-prod \ + --publish 8004:5000 \ + --env ENV='prod' \ + --volume /root/.ssh:/root/.ssh \ + --volume /api/prod:/app \ + --restart unless-stopped \ + c2a/api diff --git a/docker/script/start.sh b/docker/script/start.sh new file mode 100644 index 0000000..0a60b09 --- /dev/null +++ b/docker/script/start.sh @@ -0,0 +1,3 @@ +git -C /app pull +pip3 install -r /app/requirements.txt +python3 /app/c2a_handler_dev.py ${ENV} diff --git a/install.sh b/install.sh index 12a019b..0b7731d 100755 --- a/install.sh +++ b/install.sh @@ -22,6 +22,17 @@ apt-get install -y docker-ce docker-ce-cli containerd.io # Add Alias in bash ./docker/add-alias.sh +# Generate Docker Image for api + +docker build -f docker/c2a-api.dockerfile -t c2a/api . + +# Copy script to launch APIs +# Need to clone in /app/dev for dev and /app/prod for prod + +mkdir /root/.bin +cp docker/script/start-api-dev.sh /root/.bin +cp docker/script/start-api-prod.sh /root/.bin + # Install let's encrypt git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt