docker
This commit is contained in:
6
.dockerignore
Normal file
6
.dockerignore
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
node_modules
|
||||||
|
.git
|
||||||
|
data
|
||||||
|
.env
|
||||||
|
*.log
|
||||||
|
.gitignore
|
||||||
7
Dockerfile
Normal file
7
Dockerfile
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
FROM node:20-alpine
|
||||||
|
RUN apk add --no-cache git
|
||||||
|
WORKDIR /app
|
||||||
|
COPY docker-entrypoint.sh /
|
||||||
|
RUN chmod +x /docker-entrypoint.sh
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
CMD ["npm", "start"]
|
||||||
35
docker-compose.yml
Normal file
35
docker-compose.yml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
services:
|
||||||
|
gia-gve-certificates:
|
||||||
|
build: .
|
||||||
|
image: gia-gve-certificates
|
||||||
|
container_name: gia-gve-certificates
|
||||||
|
# ports:
|
||||||
|
# - "3000:3000"
|
||||||
|
networks:
|
||||||
|
- applications
|
||||||
|
volumes:
|
||||||
|
- /docker/data:/app/data
|
||||||
|
environment:
|
||||||
|
- TZ=Asia/Yekaterinburg
|
||||||
|
- GIT_REPO_URL=https://git.dadehard.ru/kalugin66/gia-gve-certificates.git
|
||||||
|
- SESSION_SECRET=change_me_to_a_random_string
|
||||||
|
- LDAP_AUTH_URL=https://ldap.itschool25.ru/api/auth
|
||||||
|
- PORT=3000
|
||||||
|
- USER_1_LOGIN=admin
|
||||||
|
- USER_1_PASSWORD=changeme
|
||||||
|
- USER_1_NAME=Administrator
|
||||||
|
- USER_1_EMAIL=kalugin66@ya.ru
|
||||||
|
- USER_1_ROLE=admin
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "wget", "--spider", "http://localhost:3000"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
networks:
|
||||||
|
applications:
|
||||||
|
external: true
|
||||||
|
# docker-compose up -d --build
|
||||||
|
|
||||||
23
docker-entrypoint.sh
Normal file
23
docker-entrypoint.sh
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -n "$GIT_REPO_URL" ]; then
|
||||||
|
if [ -d /app/.git ]; then
|
||||||
|
cd /app
|
||||||
|
git stash --include-untracked 2>/dev/null || true
|
||||||
|
git pull origin master 2>&1
|
||||||
|
else
|
||||||
|
rm -rf /app
|
||||||
|
git clone "$GIT_REPO_URL" /app
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd /app
|
||||||
|
mkdir -p data
|
||||||
|
|
||||||
|
if [ -z "$(ls node_modules 2>/dev/null)" ]; then
|
||||||
|
echo "Installing dependencies..."
|
||||||
|
npm install --omit=dev
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$@"
|
||||||
8
package-lock.json
generated
8
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "diplom-certificates",
|
"name": "gia-gve-certificates",
|
||||||
"version": "1.1.0",
|
"version": "0.3.1",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "diplom-certificates",
|
"name": "gia-gve-certificates",
|
||||||
"version": "1.1.0",
|
"version": "0.3.1",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bcryptjs": "~2.4.3",
|
"bcryptjs": "~2.4.3",
|
||||||
"connect-sqlite3": "^0.9.16",
|
"connect-sqlite3": "^0.9.16",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "diplom-certificates",
|
"name": "gia-gve-certificates",
|
||||||
"version": "1.1.0",
|
"version": "0.3.1",
|
||||||
"description": "Сервис для формирования справок ГИА и ГВЭ",
|
"description": "Сервис для формирования справок ГИА и ГВЭ",
|
||||||
"main": "server.js",
|
"main": "server.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Reference in New Issue
Block a user