Wifiv2 / Dockerfile
Mbonea's picture
Quarantine blocking MariaDB table artifacts on startup
cce64c9
Raw
History Blame Contribute Delete
1.28 kB
FROM node:20-bookworm-slim
# Install MariaDB
RUN apt-get update && apt-get install -y --no-install-recommends \
mariadb-server \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Install Node dependencies
COPY package*.json ./
RUN npm ci --omit=dev
# Copy app source
COPY . .
# Make entrypoint executable
RUN chmod +x /app/entrypoint.sh
# ─── KEY FIX: create ALL writable dirs while still root ───
RUN mkdir -p /data/wifiplatform/mysql \
/data/wifiplatform/storage/payment \
/run/mysqld \
/var/log/mysql \
&& chown -R 1000:1000 \
/data/wifiplatform/mysql \
/data/wifiplatform/storage \
/run/mysqld \
/var/log/mysql \
/etc/mysql/mariadb.conf.d \
/var/lib/mysql # ← also hand over the default dir
# ─── Tell MariaDB to use the new datadir ───
RUN echo '[mysqld]\n\
datadir = /data/wifiplatform/mysql\n\
socket = /run/mysqld/mysqld.sock\n\
port = 3306\n' > /etc/mysql/mariadb.conf.d/99-custom.cnf \
&& chown 1000:1000 /etc/mysql/mariadb.conf.d/99-custom.cnf
USER 1000
EXPOSE 7860
ENV PORT=7860 \
DB_HOST=localhost \
DB_PORT=3306 \
DB_NAME=wifiplatform
ENTRYPOINT ["/app/entrypoint.sh"]