Fix Docker: add nginx volume, simplify entrypoint
This commit is contained in:
+11
-15
@@ -1,7 +1,7 @@
|
||||
# Stage 1: Build frontend
|
||||
FROM node:20-alpine AS builder
|
||||
|
||||
WORKDIR /app
|
||||
WORKDIR /build
|
||||
|
||||
COPY package*.json ./
|
||||
RUN npm ci
|
||||
@@ -14,24 +14,20 @@ FROM node:20-alpine
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Install MariaDB and nginx
|
||||
RUN apk add --no-cache mariadb mariadb-client mariadb-server-utils nginx
|
||||
# Install dependencies
|
||||
RUN apk add --no-cache mariadb mariadb-client mariadb-server-utils nginx bash
|
||||
|
||||
# Initialize MariaDB data directory
|
||||
RUN mkdir -p /run/mysqld /var/lib/mysql && \
|
||||
chown -R mysql:mysql /run/mysqld /var/lib/mysql
|
||||
# Initialize directories
|
||||
RUN mkdir -p /run/mysqld /var/lib/mysql && chown -R mysql:mysql /run/mysqld /var/lib/mysql
|
||||
|
||||
# Copy MariaDB config
|
||||
RUN sed -i 's/\[mysqld\]/[mysqld]\ncharacter-set-server=utf8mb4\ncollation-server=utf8mb4_unicode_ci/' /etc/my.cnf.d/mariadb.cnf || true
|
||||
|
||||
# Copy built frontend
|
||||
COPY --from=builder /app/dist /usr/share/nginx/html
|
||||
# Copy built frontend to nginx
|
||||
COPY --from=builder /build/dist /usr/share/nginx/html
|
||||
|
||||
# Copy server files
|
||||
COPY server/package*.json server/
|
||||
RUN cd server && npm ci
|
||||
COPY server/package*.json ./server/
|
||||
RUN cd ./server && npm ci
|
||||
|
||||
COPY server/ server/
|
||||
COPY server/ ./server/
|
||||
|
||||
# Copy nginx config
|
||||
COPY nginx.conf /etc/nginx/http.d/default.conf
|
||||
@@ -39,7 +35,7 @@ COPY nginx.conf /etc/nginx/http.d/default.conf
|
||||
# Create directories
|
||||
RUN mkdir -p /run/nginx /run/mysqld /var/lib/mysql
|
||||
|
||||
# Copy entrypoint script
|
||||
# Copy entrypoint
|
||||
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
||||
RUN chmod +x /docker-entrypoint.sh
|
||||
|
||||
|
||||
Reference in New Issue
Block a user