commit
2b399fa151
12 changed files with 420 additions and 0 deletions
-
20.gitignore
-
14README.md
-
100docker-compose.yml
-
39nginx/nginx-pghs.conf
-
33nginx/nginx-xrad.conf
-
31pghs/Dockerfile
-
12postgres/Dockerfile
-
18postgres/init.sql
-
70setup.sh
-
29xdac/Dockerfile
-
31xrad/Dockerfile
-
23xreports/Dockerfile
@ -0,0 +1,20 @@ |
|||||
|
dist/* |
||||
|
|
||||
|
nginx/www |
||||
|
|
||||
|
xreports/*.deb |
||||
|
|
||||
|
xrad/xrad |
||||
|
xrad/config.json |
||||
|
xrad/xrad.lic |
||||
|
|
||||
|
xdac/*.deb |
||||
|
xdac/config.json |
||||
|
xdac/xdac |
||||
|
xdac/xdac.lic |
||||
|
|
||||
|
pghs/pghs |
||||
|
pghs/pghs.lic |
||||
|
pghs/config.json |
||||
|
|
||||
|
postgres/db/* |
@ -0,0 +1,14 @@ |
|||||
|
# Демонстрационный стенд EDU - XSQUARE-PGHS в Docker |
||||
|
|
||||
|
pghs.xsquare - hostname:8001 |
||||
|
xrad.xsquare - hostname:8002 |
||||
|
|
||||
|
# Установка и запуск (требуется unzip и docker compose) |
||||
|
|
||||
|
```bash |
||||
|
chmod +x start.sh |
||||
|
``` |
||||
|
|
||||
|
```bash |
||||
|
./start.sh |
||||
|
``` |
@ -0,0 +1,100 @@ |
|||||
|
services: |
||||
|
nginx-pghs: |
||||
|
image: nginx:stable |
||||
|
container_name: nginx-pghs |
||||
|
ports: |
||||
|
- "8001:80" |
||||
|
restart: always |
||||
|
volumes: |
||||
|
- ./dist:/dist |
||||
|
- ./nginx/nginx-pghs.conf:/etc/nginx/nginx.conf:ro |
||||
|
- ./nginx/www:/var/www:ro |
||||
|
depends_on: |
||||
|
- postgres |
||||
|
- pghs |
||||
|
|
||||
|
nginx-xrad: |
||||
|
image: nginx:stable |
||||
|
container_name: nginx-xrad |
||||
|
ports: |
||||
|
- "8002:80" |
||||
|
restart: always |
||||
|
volumes: |
||||
|
- ./dist:/dist |
||||
|
- ./nginx/nginx-xrad.conf:/etc/nginx/nginx.conf:ro |
||||
|
- ./nginx/www:/var/www:ro |
||||
|
links: |
||||
|
- xrad:xrad |
||||
|
depends_on: |
||||
|
- postgres |
||||
|
- xrad |
||||
|
|
||||
|
postgres: |
||||
|
build: |
||||
|
context: ./postgres |
||||
|
container_name: postgres |
||||
|
restart: always |
||||
|
environment: |
||||
|
POSTGRES_PASSWORD: postgres |
||||
|
POSTGRES_USER: postgres |
||||
|
expose: |
||||
|
- "5432:5432" |
||||
|
volumes: |
||||
|
- ./dist:/dist |
||||
|
|
||||
|
xdac: |
||||
|
build: |
||||
|
context: ./xdac |
||||
|
container_name: xdac |
||||
|
depends_on: |
||||
|
- postgres |
||||
|
restart: always |
||||
|
expose: |
||||
|
- "8088:8088" |
||||
|
links: |
||||
|
- postgres:postgres |
||||
|
volumes: |
||||
|
- ./dist:/dist |
||||
|
|
||||
|
pghs: |
||||
|
build: |
||||
|
context: ./pghs |
||||
|
container_name: pghs |
||||
|
expose: |
||||
|
- "8888:8888" |
||||
|
depends_on: |
||||
|
- postgres |
||||
|
restart: always |
||||
|
links: |
||||
|
- postgres:postgres |
||||
|
volumes: |
||||
|
- ./dist:/dist |
||||
|
|
||||
|
xrad: |
||||
|
build: |
||||
|
context: ./xrad |
||||
|
container_name: xrad |
||||
|
depends_on: |
||||
|
- postgres |
||||
|
restart: always |
||||
|
expose: |
||||
|
- "8889:8889" |
||||
|
links: |
||||
|
- postgres:postgres |
||||
|
volumes: |
||||
|
- ./dist:/dist |
||||
|
|
||||
|
xreports: |
||||
|
build: |
||||
|
context: ./xreports |
||||
|
container_name: xreports |
||||
|
restart: always |
||||
|
depends_on: |
||||
|
- postgres |
||||
|
expose: |
||||
|
- "8087:8087" |
||||
|
volumes: |
||||
|
- ./dist:/dist |
||||
|
|
||||
|
volumes: |
||||
|
postgres_data: |
@ -0,0 +1,39 @@ |
|||||
|
worker_processes auto; |
||||
|
|
||||
|
events { |
||||
|
worker_connections 1024; |
||||
|
} |
||||
|
|
||||
|
http { |
||||
|
include /etc/nginx/mime.types; |
||||
|
default_type application/octet-stream; |
||||
|
|
||||
|
sendfile on; |
||||
|
keepalive_timeout 65; |
||||
|
|
||||
|
upstream pghs_service { |
||||
|
server pghs:8888; |
||||
|
} |
||||
|
|
||||
|
server { |
||||
|
listen 80; |
||||
|
|
||||
|
location / { |
||||
|
root /var/www/pghs.xsquare; |
||||
|
index index.html; |
||||
|
} |
||||
|
|
||||
|
location /pghs { |
||||
|
proxy_pass http://pghs_service; |
||||
|
proxy_set_header Host $host; |
||||
|
proxy_set_header X-Real-IP $remote_addr; |
||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
||||
|
} |
||||
|
|
||||
|
location /files { |
||||
|
alias /var/www/pghs.xsquare.files.local; |
||||
|
autoindex on; |
||||
|
allow all; |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,33 @@ |
|||||
|
worker_processes auto; |
||||
|
|
||||
|
events { |
||||
|
worker_connections 1024; |
||||
|
} |
||||
|
|
||||
|
http { |
||||
|
include /etc/nginx/mime.types; |
||||
|
default_type application/octet-stream; |
||||
|
|
||||
|
sendfile on; |
||||
|
keepalive_timeout 65; |
||||
|
|
||||
|
upstream xrad_service { |
||||
|
server xrad:8889; |
||||
|
} |
||||
|
|
||||
|
server { |
||||
|
listen 80; |
||||
|
|
||||
|
location / { |
||||
|
root /var/www/xrad.xsquare; |
||||
|
index index.html; |
||||
|
} |
||||
|
|
||||
|
location /ds { |
||||
|
proxy_pass http://xrad_service; |
||||
|
proxy_set_header Host $host; |
||||
|
proxy_set_header X-Real-IP $remote_addr; |
||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,31 @@ |
|||||
|
FROM debian:bookworm AS base |
||||
|
|
||||
|
ENV DEBIAN_FRONTEND=noninteractive |
||||
|
|
||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \ |
||||
|
apache2 \ |
||||
|
postgresql \ |
||||
|
unzip \ |
||||
|
wget \ |
||||
|
locales \ |
||||
|
&& apt-get clean && rm -rf /var/lib/apt/lists/* |
||||
|
|
||||
|
RUN dpkg-reconfigure locales |
||||
|
|
||||
|
FROM base AS installer |
||||
|
|
||||
|
COPY . /home/dist |
||||
|
|
||||
|
RUN mkdir /usr/local/xsquare.pghs |
||||
|
|
||||
|
RUN cp /home/dist/config.json /usr/local/xsquare.pghs/config.json |
||||
|
RUN cp /home/dist/pghs /usr/local/xsquare.pghs/pghs |
||||
|
RUN cp /home/dist/pghs.lic /usr/local/xsquare.pghs/pghs.lic |
||||
|
|
||||
|
RUN sed -i 's/"host": "127.0.0.1"/"host": "postgres"/g' /usr/local/xsquare.pghs/config.json |
||||
|
|
||||
|
RUN chmod +x /usr/local/xsquare.pghs/pghs |
||||
|
|
||||
|
WORKDIR /usr/local/xsquare.pghs |
||||
|
|
||||
|
CMD ["/usr/local/xsquare.pghs/pghs"] |
@ -0,0 +1,12 @@ |
|||||
|
FROM postgres:14 AS base |
||||
|
|
||||
|
RUN apt-get update && apt-get install -y locales-all \ |
||||
|
&& locale-gen ru_RU.UTF-8 \ |
||||
|
&& update-locale LANG=ru_RU.UTF-8 |
||||
|
|
||||
|
ENV LANG=ru_RU.UTF-8 |
||||
|
ENV LC_NUMERIC=ru_RU.UTF-8 |
||||
|
|
||||
|
COPY ./db /docker-entrypoint-initdb.d |
||||
|
|
||||
|
COPY init.sql /docker-entrypoint-initdb.d/ |
@ -0,0 +1,18 @@ |
|||||
|
-- Create users |
||||
|
CREATE USER xrad_user WITH ENCRYPTED PASSWORD 'xrad_user'; |
||||
|
CREATE USER app_user WITH ENCRYPTED PASSWORD 'app_user'; |
||||
|
|
||||
|
-- Grant SUPERUSER privileges |
||||
|
ALTER USER xrad_user WITH SUPERUSER; |
||||
|
ALTER USER app_user WITH SUPERUSER; |
||||
|
|
||||
|
-- Create databases and set owners |
||||
|
CREATE DATABASE xraddb OWNER xrad_user; |
||||
|
CREATE DATABASE appdb OWNER app_user; |
||||
|
|
||||
|
-- Restore the database dumps |
||||
|
\connect xraddb; |
||||
|
\i /docker-entrypoint-initdb.d/xraddb.xsquare.pgsql; |
||||
|
|
||||
|
\connect appdb; |
||||
|
\i /docker-entrypoint-initdb.d/appdb.xsquare.pgsql; |
@ -0,0 +1,70 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
set -e |
||||
|
|
||||
|
DIST_DIR="dist" |
||||
|
ZIP_FILE="$DIST_DIR/xsquare.lcdp.4.11.13.14.8.8_release.zip" |
||||
|
XREPORTS_DEB="xreports/xsquare.xreports_3.3.3.6.deb" |
||||
|
XDAC_DEB="xdac/xsquare.xdac_3.4.1.12.deb" |
||||
|
DOCKER_COMPOSE_CMD="docker compose" |
||||
|
|
||||
|
echo "Готовим..." |
||||
|
mkdir -p $DIST_DIR |
||||
|
|
||||
|
if [ ! -f "$ZIP_FILE" ]; then |
||||
|
echo "Скачиваю $ZIP_FILE..." |
||||
|
wget -q -O $ZIP_FILE https://lcdp.xsquare.ru/files/pghs/xsquare.lcdp.v4/xsquare.lcdp.4.11.13.14.8.8_release.zip |
||||
|
else |
||||
|
echo "$ZIP_FILE уже существует. Пропускаю скачивание." |
||||
|
fi |
||||
|
|
||||
|
if [ ! -f "$XREPORTS_DEB" ]; then |
||||
|
echo "Скачиваю $XREPORTS_DEB..." |
||||
|
wget -q -O $XREPORTS_DEB https://lcdp.xsquare.ru/files/xreports/rpm_dep/3.3.3.6/xsquare.xreports_3.3.3.6.deb |
||||
|
else |
||||
|
echo "$XREPORTS_DEB уже существует. Пропускаю скачивание." |
||||
|
fi |
||||
|
|
||||
|
if [ ! -f "$XDAC_DEB" ]; then |
||||
|
echo "Скачиваю $XDAC_DEB..." |
||||
|
wget -q -O $XDAC_DEB https://lcdp.xsquare.ru/files/xdac/3.4.1.12/xsquare.xdac_3.4.1.12.deb |
||||
|
else |
||||
|
echo "$XDAC_DEB уже существует. Пропускаю скачивание." |
||||
|
fi |
||||
|
|
||||
|
echo "Распаковка..." |
||||
|
unzip -q -o $ZIP_FILE -d $DIST_DIR |
||||
|
|
||||
|
echo "Кладу var/www..." |
||||
|
cp -r dist/xsquare.lcdp.4.11.13.14.8.8_release/var/www nginx/www |
||||
|
|
||||
|
echo "Кладу usr/local/xsquare.pghs..." |
||||
|
cp -r dist/xsquare.lcdp.4.11.13.14.8.8_release/usr/local/xsquare.pghs/* pghs/ |
||||
|
|
||||
|
echo "Кладу usr/local/xsquare.xdac..." |
||||
|
cp -r dist/xsquare.lcdp.4.11.13.14.8.8_release/usr/local/xsquare.xdac/* xdac/ |
||||
|
|
||||
|
echo "Кладу usr/local/xsquare.xrad..." |
||||
|
cp -r dist/xsquare.lcdp.4.11.13.14.8.8_release/usr/local/xsquare.xrad/* xrad/ |
||||
|
|
||||
|
echo "Кладу db..." |
||||
|
cp -r dist/xsquare.lcdp.4.11.13.14.8.8_release/db/* postgres/db/ |
||||
|
|
||||
|
echo "Собираю Docker..." |
||||
|
$DOCKER_COMPOSE_CMD up -d --build |
||||
|
|
||||
|
echo "Жду PostgreSQL..." |
||||
|
POSTGRES_CONTAINER=$($DOCKER_COMPOSE_CMD ps -q postgres) |
||||
|
while ! docker exec $POSTGRES_CONTAINER pg_isready -U postgres > /dev/null 2>&1; do |
||||
|
sleep 2 |
||||
|
done |
||||
|
echo "PostgreSQL готов." |
||||
|
|
||||
|
echo "Настраиваю базу данных..." |
||||
|
docker exec -i $POSTGRES_CONTAINER psql -U xrad_user -d xraddb < $DIST_DIR/xsquare.lcdp.4.11.13.14.8.8_release/db/xraddb.xsquare.pgsql |
||||
|
docker exec -i $POSTGRES_CONTAINER psql -U app_user -d appdb < $DIST_DIR/xsquare.lcdp.4.11.13.14.8.8_release/db/appdb.xsquare.pgsql |
||||
|
|
||||
|
echo "Установка завершена!" |
||||
|
|
||||
|
echo "localhost:8001 - Демо стенд - XSQUARE - EDU v.4.11" |
||||
|
echo "localhost:8002 - xRad Builder" |
@ -0,0 +1,29 @@ |
|||||
|
FROM debian:bookworm AS base |
||||
|
|
||||
|
ENV DEBIAN_FRONTEND=noninteractive |
||||
|
|
||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \ |
||||
|
apache2 \ |
||||
|
postgresql \ |
||||
|
unzip \ |
||||
|
wget \ |
||||
|
locales \ |
||||
|
&& apt-get clean && rm -rf /var/lib/apt/lists/* |
||||
|
|
||||
|
RUN dpkg-reconfigure locales |
||||
|
|
||||
|
FROM base AS installer |
||||
|
|
||||
|
COPY . /home/dist |
||||
|
|
||||
|
RUN dpkg -i /home/dist/xsquare.xdac_3.4.1.12.deb |
||||
|
|
||||
|
RUN cp /home/dist/config.json /usr/local/xsquare.xdac/config.json |
||||
|
RUN cp /home/dist/xdac /usr/local/xsquare.xdac/xdac |
||||
|
RUN cp /home/dist/xdac.lic /usr/local/xsquare.xdac/xdac.lic |
||||
|
|
||||
|
RUN sed -i 's/"domain": "localhost"/"domain": "postgres"/' /usr/local/xsquare.xdac/config.json |
||||
|
|
||||
|
WORKDIR /usr/local/xsquare.xdac |
||||
|
|
||||
|
CMD ["/usr/local/xsquare.xdac/xdac"] |
@ -0,0 +1,31 @@ |
|||||
|
FROM debian:bookworm AS base |
||||
|
|
||||
|
ENV DEBIAN_FRONTEND=noninteractive |
||||
|
|
||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \ |
||||
|
apache2 \ |
||||
|
postgresql \ |
||||
|
unzip \ |
||||
|
wget \ |
||||
|
locales \ |
||||
|
&& apt-get clean && rm -rf /var/lib/apt/lists/* |
||||
|
|
||||
|
RUN dpkg-reconfigure locales |
||||
|
|
||||
|
FROM base AS installer |
||||
|
|
||||
|
COPY . /home/dist |
||||
|
|
||||
|
RUN mkdir /usr/local/xsquare.xrad |
||||
|
|
||||
|
RUN cp /home/dist/config.json /usr/local/xsquare.xrad/config.json |
||||
|
RUN cp /home/dist/xrad /usr/local/xsquare.xrad/xrad |
||||
|
RUN cp /home/dist/xrad.lic /usr/local/xsquare.xrad/xrad.lic |
||||
|
|
||||
|
RUN sed -i 's/"host": "127.0.0.1"/"host": "postgres"/' /usr/local/xsquare.xrad/config.json |
||||
|
|
||||
|
RUN chmod +x /usr/local/xsquare.xrad/xrad |
||||
|
|
||||
|
WORKDIR /usr/local/xsquare.xrad |
||||
|
|
||||
|
CMD ["/usr/local/xsquare.xrad/xrad"] |
@ -0,0 +1,23 @@ |
|||||
|
FROM debian:bookworm AS base |
||||
|
|
||||
|
ENV DEBIAN_FRONTEND=noninteractive |
||||
|
|
||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \ |
||||
|
apache2 \ |
||||
|
postgresql \ |
||||
|
unzip \ |
||||
|
wget \ |
||||
|
locales \ |
||||
|
&& apt-get clean && rm -rf /var/lib/apt/lists/* |
||||
|
|
||||
|
RUN dpkg-reconfigure locales |
||||
|
|
||||
|
FROM base AS installer |
||||
|
|
||||
|
COPY . /home/dist |
||||
|
|
||||
|
RUN dpkg -i /home/dist/xsquare.xreports_3.3.3.6.deb |
||||
|
|
||||
|
WORKDIR /usr/local/xsquare.xreports |
||||
|
|
||||
|
CMD ["/usr/local/xsquare.xreports/xreports"] |
Write
Preview
Loading…
Cancel
Save
Reference in new issue