mirror of
https://github.com/fromchat-messenger/web.git
synced 2026-09-22 19:15:08 +03:00
Improve security
This commit is contained in:
@@ -5,8 +5,6 @@ services:
|
|||||||
context: ..
|
context: ..
|
||||||
environment:
|
environment:
|
||||||
PORT: 8300
|
PORT: 8300
|
||||||
ports:
|
|
||||||
- "8300:8300"
|
|
||||||
volumes:
|
volumes:
|
||||||
- "data:/app/data"
|
- "data:/app/data"
|
||||||
develop:
|
develop:
|
||||||
@@ -16,6 +14,8 @@ services:
|
|||||||
target: /app
|
target: /app
|
||||||
- action: rebuild
|
- action: rebuild
|
||||||
path: ../backend/requirements.txt
|
path: ../backend/requirements.txt
|
||||||
|
networks:
|
||||||
|
- main
|
||||||
|
|
||||||
frontend:
|
frontend:
|
||||||
build:
|
build:
|
||||||
@@ -37,7 +37,15 @@ services:
|
|||||||
target: /server/server.js
|
target: /server/server.js
|
||||||
- action: rebuild
|
- action: rebuild
|
||||||
path: package.json
|
path: package.json
|
||||||
|
networks:
|
||||||
|
- main
|
||||||
|
- default
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
data:
|
data:
|
||||||
name: fromchat-data
|
name: fromchat-data
|
||||||
|
|
||||||
|
networks:
|
||||||
|
main:
|
||||||
|
driver: bridge
|
||||||
|
internal: true # isolate from the outside world
|
||||||
@@ -26,13 +26,21 @@ COPY deployment/frontend/ .
|
|||||||
# 3. Put it all together
|
# 3. Put it all together
|
||||||
FROM node:24-slim
|
FROM node:24-slim
|
||||||
|
|
||||||
|
# 3.1. Non-root user
|
||||||
|
RUN useradd -u 1001 app && \
|
||||||
|
mkdir -p /app && \
|
||||||
|
chown -R app /app && \
|
||||||
|
mkdir /server && \
|
||||||
|
chown -R app /server
|
||||||
|
USER app
|
||||||
|
|
||||||
# 3.1. Frontend static files
|
# 3.1. Frontend static files
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=frontend /app/frontend/dist .
|
COPY --from=frontend --chown=app /app/frontend/dist .
|
||||||
|
|
||||||
# 3.2. Static file server
|
# 3.2. Static file server
|
||||||
WORKDIR /server
|
WORKDIR /server
|
||||||
COPY --from=server /server .
|
COPY --from=server --chown=app /server .
|
||||||
|
|
||||||
# 4. Final command
|
# 4. Final command
|
||||||
ENV STATIC_FILE_PATH=/app
|
ENV STATIC_FILE_PATH=/app
|
||||||
|
|||||||
Reference in New Issue
Block a user