main
Badanin Maksim 2 years ago
commit 9691452a56

@ -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

@ -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
```

@ -0,0 +1,16 @@
version: '3'
services:
terminologue:
container_name: terminologue
hostname: terminologue
image: terminologue
build: ./
environment:
- 'TERMINALOGUE_ADMIN_PASSWORD=<password>'
- 'TERMINALOGUE_ADMIN_EMAIL=<email>'
- 'TERMINALOGUE_URL=<url>'
ports:
- '80:80'
volumes:
- ./data:/data
Loading…
Cancel
Save