Update Dockerfile
Browse files- Dockerfile +16 -6
Dockerfile
CHANGED
|
@@ -1,13 +1,13 @@
|
|
| 1 |
-
#
|
| 2 |
FROM postgres:15
|
| 3 |
|
| 4 |
-
#
|
| 5 |
-
ARG WEBHOOK_URL=https
|
| 6 |
ARG WEBDAV_URL="https://cfr2.n8n.us.kg/"
|
| 7 |
ARG WEBDAV_USER="your_username"
|
| 8 |
ARG WEBDAV_PASSWORD="your_password"
|
| 9 |
|
| 10 |
-
#
|
| 11 |
ARG POSTGRES_USER=n8n
|
| 12 |
ARG POSTGRES_PASSWORD=n8n
|
| 13 |
ARG POSTGRES_DB=n8n
|
|
@@ -15,7 +15,7 @@ ARG WORKDIR=/app
|
|
| 15 |
ARG DB_IMPORT=yes
|
| 16 |
ARG NODEJS_VER=20
|
| 17 |
|
| 18 |
-
#
|
| 19 |
ENV POSTGRES_USER=${POSTGRES_USER} \
|
| 20 |
POSTGRES_PASSWORD=${POSTGRES_PASSWORD} \
|
| 21 |
POSTGRES_DB=${POSTGRES_DB} \
|
|
@@ -41,9 +41,11 @@ ENV POSTGRES_USER=${POSTGRES_USER} \
|
|
| 41 |
WORKDIR=${WORKDIR} \
|
| 42 |
PATH="$WORKDIR/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH"
|
| 43 |
|
|
|
|
| 44 |
COPY requirements.txt ${WORKDIR}/requirements.txt
|
| 45 |
COPY package.txt ${WORKDIR}/package.txt
|
| 46 |
|
|
|
|
| 47 |
RUN apt-get update && apt-get install -y \
|
| 48 |
curl unzip gnupg build-essential sudo vim git procps lsof net-tools \
|
| 49 |
ca-certificates openssl tzdata python3 python3-venv python3-pip gosu \
|
|
@@ -58,20 +60,28 @@ RUN apt-get update && apt-get install -y \
|
|
| 58 |
$VIRTUAL_ENV/bin/pip install -r ${WORKDIR}/requirements.txt && \
|
| 59 |
npm install -g $(cat ${WORKDIR}/package.txt)
|
| 60 |
|
|
|
|
| 61 |
WORKDIR ${WORKDIR}
|
|
|
|
|
|
|
| 62 |
COPY run.sh ${WORKDIR}/run.sh
|
| 63 |
COPY import-db.sh ${WORKDIR}/import-db.sh
|
| 64 |
COPY backup.sh ${WORKDIR}/backup.sh
|
| 65 |
|
|
|
|
| 66 |
RUN chmod +x ${WORKDIR}/run.sh ${WORKDIR}/import-db.sh ${WORKDIR}/backup.sh
|
| 67 |
|
|
|
|
| 68 |
USER root
|
| 69 |
RUN usermod -u 1000 postgres && groupmod -g 1000 postgres && \
|
| 70 |
chown -R postgres:postgres /var/lib/postgresql /var/run/postgresql ${WORKDIR} && \
|
| 71 |
mkdir -p ${WORKDIR}/backups && chmod -R 775 ${WORKDIR}/backups
|
| 72 |
|
|
|
|
| 73 |
USER postgres
|
| 74 |
|
|
|
|
| 75 |
EXPOSE 7860
|
| 76 |
|
| 77 |
-
|
|
|
|
|
|
| 1 |
+
# Use PostgreSQL as the base image
|
| 2 |
FROM postgres:15
|
| 3 |
|
| 4 |
+
# Main variables, ensure they match your actual values, which can be set in HF settings
|
| 5 |
+
ARG WEBHOOK_URL=https://azlabs-aiflow.hf.space/
|
| 6 |
ARG WEBDAV_URL="https://cfr2.n8n.us.kg/"
|
| 7 |
ARG WEBDAV_USER="your_username"
|
| 8 |
ARG WEBDAV_PASSWORD="your_password"
|
| 9 |
|
| 10 |
+
# General variables, use default values, which can be set in HF settings
|
| 11 |
ARG POSTGRES_USER=n8n
|
| 12 |
ARG POSTGRES_PASSWORD=n8n
|
| 13 |
ARG POSTGRES_DB=n8n
|
|
|
|
| 15 |
ARG DB_IMPORT=yes
|
| 16 |
ARG NODEJS_VER=20
|
| 17 |
|
| 18 |
+
# Set environment variables, use default values
|
| 19 |
ENV POSTGRES_USER=${POSTGRES_USER} \
|
| 20 |
POSTGRES_PASSWORD=${POSTGRES_PASSWORD} \
|
| 21 |
POSTGRES_DB=${POSTGRES_DB} \
|
|
|
|
| 41 |
WORKDIR=${WORKDIR} \
|
| 42 |
PATH="$WORKDIR/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH"
|
| 43 |
|
| 44 |
+
# Copy files
|
| 45 |
COPY requirements.txt ${WORKDIR}/requirements.txt
|
| 46 |
COPY package.txt ${WORKDIR}/package.txt
|
| 47 |
|
| 48 |
+
# Install dependencies
|
| 49 |
RUN apt-get update && apt-get install -y \
|
| 50 |
curl unzip gnupg build-essential sudo vim git procps lsof net-tools \
|
| 51 |
ca-certificates openssl tzdata python3 python3-venv python3-pip gosu \
|
|
|
|
| 60 |
$VIRTUAL_ENV/bin/pip install -r ${WORKDIR}/requirements.txt && \
|
| 61 |
npm install -g $(cat ${WORKDIR}/package.txt)
|
| 62 |
|
| 63 |
+
# Set working directory
|
| 64 |
WORKDIR ${WORKDIR}
|
| 65 |
+
|
| 66 |
+
# Copy scripts
|
| 67 |
COPY run.sh ${WORKDIR}/run.sh
|
| 68 |
COPY import-db.sh ${WORKDIR}/import-db.sh
|
| 69 |
COPY backup.sh ${WORKDIR}/backup.sh
|
| 70 |
|
| 71 |
+
# Make scripts executable
|
| 72 |
RUN chmod +x ${WORKDIR}/run.sh ${WORKDIR}/import-db.sh ${WORKDIR}/backup.sh
|
| 73 |
|
| 74 |
+
# Set user and permissions
|
| 75 |
USER root
|
| 76 |
RUN usermod -u 1000 postgres && groupmod -g 1000 postgres && \
|
| 77 |
chown -R postgres:postgres /var/lib/postgresql /var/run/postgresql ${WORKDIR} && \
|
| 78 |
mkdir -p ${WORKDIR}/backups && chmod -R 775 ${WORKDIR}/backups
|
| 79 |
|
| 80 |
+
# Switch to postgres user
|
| 81 |
USER postgres
|
| 82 |
|
| 83 |
+
# Expose port
|
| 84 |
EXPOSE 7860
|
| 85 |
|
| 86 |
+
# Run command
|
| 87 |
+
CMD./run.sh
|