init
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,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…
Reference in New Issue