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