docker
commit
82331e5bfe
|
@ -0,0 +1,47 @@
|
|||
# Publishing new version
|
||||
|
||||
```
|
||||
./delete-docker.sh
|
||||
```
|
||||
|
||||
```
|
||||
./build-docker.sh
|
||||
```
|
||||
|
||||
```
|
||||
./build-and-push.sh
|
||||
```
|
||||
|
||||
# On the client side - fetch latest images
|
||||
|
||||
## remote-docker-compose.yml
|
||||
|
||||
Is the docker-compose.yml file that is used to deploy the application on a remote server.
|
||||
|
||||
### Remove the old images
|
||||
|
||||
```
|
||||
docker image rm dockreg.ex.umbach.dev/jnx-admin-dashboard-server dockreg.ex.umbach.dev/jnx-admin-dashboard-proxy dockreg.ex.umbach.dev/jnx-log-manager-server
|
||||
```
|
||||
|
||||
### Pull the new images
|
||||
|
||||
```
|
||||
docker compose up
|
||||
```
|
||||
|
||||
## Script used last time
|
||||
|
||||
delete.sh
|
||||
|
||||
```
|
||||
docker compose down
|
||||
docker image rm dockreg.ex.umbach.dev/jnx-admin-dashboard-server dockreg.ex.umbach.dev/jnx-admin-dashboard-proxy dockreg.ex.umbach.dev/jnx-log-manager-server
|
||||
docker volume rm tet2_admin_dashboard_server_data tet2_log_manager_data
|
||||
```
|
||||
|
||||
build.sh
|
||||
|
||||
```
|
||||
docker compose up
|
||||
```
|
|
@ -0,0 +1,17 @@
|
|||
# only allow to run this script as root
|
||||
if [ "$EUID" -ne 0 ]
|
||||
then echo "Please run as root"
|
||||
exit
|
||||
fi
|
||||
|
||||
original_dir=$(pwd)
|
||||
|
||||
###
|
||||
# Robot-control-manager
|
||||
###
|
||||
|
||||
cd "../robot-control-manager/"
|
||||
|
||||
./build-docker.sh
|
||||
|
||||
cd "$original_dir"
|
|
@ -0,0 +1,17 @@
|
|||
#docker compose down
|
||||
|
||||
# rm images
|
||||
docker image rm jnx-admin-dashboard-proxy
|
||||
docker image rm jnx-admin-dashboard-server
|
||||
|
||||
# build images
|
||||
docker compose build jnx-admin-dashboard-server
|
||||
docker compose build jnx-admin-dashboard-proxy
|
||||
|
||||
# tag images
|
||||
docker image tag jnx-admin-dashboard-server:latest dockreg.ex.umbach.dev/jnx-admin-dashboard-server:latest
|
||||
docker image tag jnx-admin-dashboard-proxy:latest dockreg.ex.umbach.dev/jnx-admin-dashboard-proxy:latest
|
||||
|
||||
# push to self-hosted docker registry
|
||||
docker push dockreg.ex.umbach.dev/jnx-admin-dashboard-server
|
||||
docker push dockreg.ex.umbach.dev/jnx-admin-dashboard-proxy
|
|
@ -0,0 +1,22 @@
|
|||
ORANGE='\033[0;33m' # Orange
|
||||
GREEN='\033[0;32m' # Green
|
||||
NC='\033[0m' # No color (reseting)
|
||||
|
||||
# build backend go build
|
||||
echo -e "${ORANGE}Starting go build${NC}"
|
||||
cd ./admin-dashboard-backend
|
||||
go build main.go
|
||||
cd ..
|
||||
echo -e "${GREEN}Go build finished${NC}"
|
||||
|
||||
# build static web build
|
||||
echo -e "${ORANGE}Starting static web build${NC}"
|
||||
cd ./admin-dashboard-web
|
||||
npm run build
|
||||
cd ..
|
||||
echo -e "${GREEN}Static web build finished${NC}"
|
||||
|
||||
# create docker
|
||||
#echo -e "${ORANGE}Starting docker creation${NC}"
|
||||
#docker compose up
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
#docker compose down
|
||||
|
||||
# rm images
|
||||
docker image rm jnx-admin-dashboard-server dockreg.ex.umbach.dev/jnx-admin-dashboard-server jnx-admin-dashboard-proxy dockreg.ex.umbach.dev/jnx-admin-dashboard-proxy
|
||||
|
||||
#docker volume rm admin-dashboard_server_data
|
||||
#docker volume rm admin-dashboard_server_data
|
|
@ -0,0 +1,95 @@
|
|||
version: "3"
|
||||
|
||||
services:
|
||||
jnx-admin-dashboard-server:
|
||||
container_name: jnx-admin-dashboard-server
|
||||
image: jnx-admin-dashboard-server:latest
|
||||
build:
|
||||
context: .
|
||||
dockerfile: admin-dashboard-backend/Dockerfile
|
||||
depends_on:
|
||||
- mariadb
|
||||
restart: always
|
||||
volumes:
|
||||
- admin_dashboard_server_data:/app
|
||||
# CHANGE HERE - ONLY THE PATH ON YOUR SYSTEM: path_on_your_system:path_on_container
|
||||
- ./admin-dashboard-data:/admin-dashboard-data
|
||||
networks:
|
||||
- jnx-admin-dashboard-network
|
||||
environment:
|
||||
- DOCKER=true
|
||||
- DEBUG=true
|
||||
- COLORIZED_OUTPUT=true
|
||||
- HOST=0.0.0.0
|
||||
- PORT=8080
|
||||
- LOG_MANAGER_SERVER_URL=http://localhost:3000
|
||||
- FOLDER_GROUPTASKS_GROUPS=/admin-dashboard-data/groupTasks/groups/
|
||||
- FOLDER_GROUPTASKS_RUNNINGTASKS=/admin-dashboard-data/groupTasks/runningTasks/
|
||||
- FOLDER_PUBLIC_STATIC=/admin-dashboard-data/public/
|
||||
- LOG_LANGUAGE_GROUPTASKS=./grouptasks_lang_log_messages.json
|
||||
- LOG_LANGUAGE_SYSTEM=./system_lang_log_messages.json
|
||||
- MARIADB_HOSTNAME=mariadb
|
||||
- MARIADB_PORT=3306
|
||||
- MARIADB_USERNAME=admindashboard
|
||||
- MARIADB_PASSWORD=QHXNcxuRRyAdxCxVCmPkEuCsPfCdfLz2
|
||||
- MARIADB_DATABASE_NAME=jnxadmindashboard
|
||||
- INVEX_API_BASE=https://XXXXXX # CHANGE HERE
|
||||
- INVEX_API_TOKEN=XXXXXXXXXXX # CHANGE HERE
|
||||
|
||||
mariadb:
|
||||
container_name: jnx-admin-dashboard-db
|
||||
image: mariadb:latest
|
||||
restart: always
|
||||
networks:
|
||||
- jnx-admin-dashboard-network
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: xvRxvq24XbaFKCiuTbfYmkh4UYdSXbcd
|
||||
MYSQL_DATABASE: jnxadmindashboard
|
||||
MYSQL_USER: admindashboard
|
||||
MYSQL_PASSWORD: QHXNcxuRRyAdxCxVCmPkEuCsPfCdfLz2
|
||||
volumes:
|
||||
- db_data:/var/lib/mysql
|
||||
|
||||
jnx-admin-dashboard-proxy:
|
||||
image: jnx-admin-dashboard-proxy:latest
|
||||
restart: always
|
||||
build:
|
||||
context: .
|
||||
dockerfile: nginx/Dockerfile
|
||||
ports:
|
||||
# CHANGE HOST/PORT IF NEEDED
|
||||
#- "127.0.0.1:80:80"
|
||||
- "80:80"
|
||||
networks:
|
||||
- jnx-admin-dashboard-network
|
||||
depends_on:
|
||||
- jnx-admin-dashboard-server
|
||||
- jnx-log-manager-server
|
||||
|
||||
jnx-log-manager-server:
|
||||
container_name: jnx-log-manager-server
|
||||
image: jnx-log-manager-server:latest
|
||||
restart: always
|
||||
volumes:
|
||||
- log_manager_data:/app
|
||||
# CHANGE HERE - ONLY THE PATH ON YOUR SYSTEM: path_on_your_system:path_on_container
|
||||
- ./log-manager-data:/log-manager-data
|
||||
networks:
|
||||
- jnx-admin-dashboard-network
|
||||
environment:
|
||||
- DOCKER=true
|
||||
- DEBUG=true
|
||||
- COLORIZED_OUTPUT=true
|
||||
- HOST=0.0.0.0
|
||||
- PORT=3000
|
||||
- SSE_SERVER_ENABLED=true
|
||||
- LOG_FOLDER=/log-manager-data/logs/
|
||||
- DAYS_TO_KEEP_LOGS=30
|
||||
|
||||
volumes:
|
||||
db_data:
|
||||
admin_dashboard_server_data:
|
||||
log_manager_data:
|
||||
|
||||
networks:
|
||||
jnx-admin-dashboard-network:
|
|
@ -0,0 +1,5 @@
|
|||
FROM nginx:latest
|
||||
|
||||
COPY ./admin-dashboard-web/build /usr/share/nginx/html
|
||||
|
||||
COPY ./nginx/nginx.conf /etc/nginx/conf.d/default.conf
|
|
@ -0,0 +1,33 @@
|
|||
# nginx/nginx.conf
|
||||
server {
|
||||
listen 80;
|
||||
|
||||
location /api/ { # api server
|
||||
client_max_body_size 0;
|
||||
proxy_http_version 1.0;
|
||||
proxy_pass http://jnx-admin-dashboard-server:8080/;
|
||||
}
|
||||
|
||||
location /ws { # websocket server
|
||||
proxy_read_timeout 10800s;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_pass http://jnx-admin-dashboard-server:8080/ws/;
|
||||
proxy_http_version 1.1;
|
||||
}
|
||||
|
||||
location /lm/ { # log manager server
|
||||
client_max_body_size 0;
|
||||
proxy_http_version 1.0;
|
||||
proxy_set_header Connection ""; # needed for sse
|
||||
proxy_pass http://jnx-log-manager-server:3000/;
|
||||
}
|
||||
|
||||
location / { # frontend
|
||||
root /usr/share/nginx/html;
|
||||
index index.html;
|
||||
|
||||
try_files $uri /index.html;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,89 @@
|
|||
version: "3"
|
||||
|
||||
services:
|
||||
jnx-admin-dashboard-server:
|
||||
image: dockreg.ex.umbach.dev/jnx-admin-dashboard-server:latest
|
||||
container_name: jnx-admin-dashboard-server
|
||||
depends_on:
|
||||
- mariadb
|
||||
restart: always
|
||||
volumes:
|
||||
- admin_dashboard_server_data:/app
|
||||
# CHANGE HERE - ONLY THE PATH ON YOUR SYSTEM: path_on_your_system:path_on_container
|
||||
- ./admin-dashboard-data:/admin-dashboard-data
|
||||
networks:
|
||||
- jnx-admin-dashboard-network
|
||||
environment:
|
||||
- DOCKER=true
|
||||
- DEBUG=false
|
||||
- COLORIZED_OUTPUT=true
|
||||
- HOST=0.0.0.0 # DO NOT CHANGE THIS
|
||||
- PORT=8080 # DO NOT CHANGE THIS
|
||||
- LOG_MANAGER_SERVER_URL=http://jnx-log-manager-server:3000
|
||||
- FOLDER_GROUPTASKS_GROUPS=/admin-dashboard-data/groupTasks/groups/
|
||||
- FOLDER_GROUPTASKS_RUNNINGTASKS=/admin-dashboard-data/groupTasks/runningTasks/
|
||||
- FOLDER_PUBLIC_STATIC=/admin-dashboard-data/public/
|
||||
- LOG_LANGUAGE_GROUPTASKS=./grouptasks_lang_log_messages.json
|
||||
- LOG_LANGUAGE_SYSTEM=./system_lang_log_messages.json
|
||||
- MARIADB_HOSTNAME=mariadb
|
||||
- MARIADB_PORT=3306
|
||||
- MARIADB_USERNAME=admindashboard
|
||||
- MARIADB_PASSWORD=QHXNcxuRRyAdxCxVCmPkEuCsPfCdfLz2
|
||||
- MARIADB_DATABASE_NAME=jnxadmindashboard
|
||||
- INVEX_API_BASE=https://XXXXXX # CHANGE HERE
|
||||
- INVEX_API_TOKEN=XXXXXXXXXXX # CHANGE HERE
|
||||
|
||||
mariadb:
|
||||
container_name: jnx-admin-dashboard-db
|
||||
image: mariadb:latest
|
||||
restart: always
|
||||
networks:
|
||||
- jnx-admin-dashboard-network
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: xvRxvq24XbaFKCiuTbfYmkh4UYdSXbcd
|
||||
MYSQL_DATABASE: jnxadmindashboard
|
||||
MYSQL_USER: admindashboard
|
||||
MYSQL_PASSWORD: QHXNcxuRRyAdxCxVCmPkEuCsPfCdfLz2
|
||||
volumes:
|
||||
- db_data:/var/lib/mysql
|
||||
|
||||
jnx-admin-dashboard-proxy:
|
||||
image: dockreg.ex.umbach.dev/jnx-admin-dashboard-proxy:latest
|
||||
restart: always
|
||||
ports:
|
||||
# CHANGE HOST/PORT IF NEEDED
|
||||
#- "127.0.0.1:80:80"
|
||||
- "80:80"
|
||||
networks:
|
||||
- jnx-admin-dashboard-network
|
||||
depends_on:
|
||||
- jnx-admin-dashboard-server
|
||||
- jnx-log-manager-server
|
||||
|
||||
jnx-log-manager-server:
|
||||
container_name: jnx-log-manager-server
|
||||
image: dockreg.ex.umbach.dev/jnx-log-manager-server:latest
|
||||
restart: always
|
||||
volumes:
|
||||
- log_manager_data:/app
|
||||
# CHANGE HERE - ONLY THE PATH ON YOUR SYSTEM: path_on_your_system:path_on_container
|
||||
- ./log-manager-data:/log-manager-data
|
||||
networks:
|
||||
- jnx-admin-dashboard-network
|
||||
environment:
|
||||
- DOCKER=true
|
||||
- DEBUG=false
|
||||
- COLORIZED_OUTPUT=true
|
||||
- HOST=0.0.0.0
|
||||
- PORT=3000
|
||||
- SSE_SERVER_ENABLED=true
|
||||
- LOG_FOLDER=/log-manager-data/
|
||||
- DAYS_TO_KEEP_LOGS=30
|
||||
|
||||
volumes:
|
||||
db_data:
|
||||
admin_dashboard_server_data:
|
||||
log_manager_data:
|
||||
|
||||
networks:
|
||||
jnx-admin-dashboard-network:
|
Loading…
Reference in New Issue