From 9691452a5663d38d2e9da17a8f1be663e890317d Mon Sep 17 00:00:00 2001 From: Badanin Maksim Date: Sat, 17 Feb 2024 17:53:24 +0300 Subject: [PATCH] init --- Dockerfile | 37 +++++++++++++++++++++++++++++++++++++ README.md | 21 +++++++++++++++++++++ docker-compose.yml | 16 ++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..513adcb --- /dev/null +++ b/Dockerfile @@ -0,0 +1,37 @@ +FROM node:21.6.2-bookworm-slim + +RUN apt update && \ + apt install -y git sqlite3 && \ + apt clean && \ + git clone https://github.com/gaois/terminologue /opt/terminologue + +WORKDIR /opt/terminologue/website + +RUN echo '#!/bin/bash \n\ +if [ ! -f ./init_done ]; then \n\ + echo "Preparing configuration..." \n\ + touch ./init_done \n\ + sed -i s~"root@localhost"~$TERMINALOGUE_ADMIN_EMAIL~ siteconfig.json \n\ + sed -i s~"http:\/\/localhost\/"~$TERMINALOGUE_URL~ siteconfig.json \n\ + sed -i s~"..\/data\/"~"\/data\/"~ siteconfig.json \n\ +fi \n\ +if [ ! -f /data/terminologue.sqlite ]; then \n\ + mkdir -p /data \n\ + mv ../data/* /data/ \n\ + echo "Adding new user..." \n\ + node init.js \n\ +fi \n\ +echo "Starting application..." \n\ +node terminologue.js \n' > ./run.sh + +RUN mv ../data/terminologue.template.sqlite ../data/terminologue.sqlite && \ + mv siteconfig.template.json siteconfig.json && \ + sed -i -E s/"var password=.*$"/"var password=process.env.TERMINALOGUE_ADMIN_PASSWORD\;"/ init.js && \ + sed -i -E s/"var email=.*$"/"var email=process.env.TERMINALOGUE_ADMIN_EMAIL\;"/ init.js && \ + sed -i -E s/"\+\". The password is: \"\+password"/""/ init.js && \ + chmod +x ./run.sh && \ + npm install + +EXPOSE 80/tcp + +CMD ./run.sh diff --git a/README.md b/README.md new file mode 100644 index 0000000..98dc73a --- /dev/null +++ b/README.md @@ -0,0 +1,21 @@ +## Установка Terminologue + +За основу взято [https://github.com/gaois/terminologue/tree/master](https://github.com/gaois/terminologue/tree/master) + +Инструкция по установке [https://docs.gaois.ie/en/software/terminologue/installation](https://docs.gaois.ie/en/software/terminologue/installation) + +Обязательные переменные: + +``` +TERMINALOGUE_ADMIN_PASSWORD - Пароль администратора +TERMINALOGUE_ADMIN_EMAIL - Почта/логин администратор +TERMINALOGUE_URL - Адрес страницы в формате: http(s)://x.x.x.x/' +``` + +Запуск: + +``` +git clone https://git.badms.ru/bms/terminologue +cd terminologue +docker compose up -d +``` diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d162698 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + + terminologue: + container_name: terminologue + hostname: terminologue + image: terminologue + build: ./ + environment: + - 'TERMINALOGUE_ADMIN_PASSWORD=' + - 'TERMINALOGUE_ADMIN_EMAIL=' + - 'TERMINALOGUE_URL=' + ports: + - '80:80' + volumes: + - ./data:/data