Update Dockerfile
Browse files- Dockerfile +8 -18
Dockerfile
CHANGED
|
@@ -9,17 +9,14 @@ ENV POETRY_VERSION=1.8.4 \
|
|
| 9 |
POETRY_CACHE_DIR=/tmp/poetry_cache \
|
| 10 |
PYTHONDONTWRITEBYTECODE=1
|
| 11 |
|
| 12 |
-
# Install system dependencies and
|
| 13 |
RUN apt-get update && apt-get install -y \
|
| 14 |
-
sudo \
|
| 15 |
postgresql \
|
| 16 |
&& rm -rf /var/lib/apt/lists/* \
|
| 17 |
-
&&
|
| 18 |
-
&&
|
| 19 |
-
&&
|
| 20 |
-
&&
|
| 21 |
-
&& chown postgres:postgres /var/run/postgresql \
|
| 22 |
-
&& chmod 2777 /var/run/postgresql
|
| 23 |
|
| 24 |
# Create directories and set permissions
|
| 25 |
RUN mkdir -p /app/api /app/web /data/storage /var/lib/postgresql/data && \
|
|
@@ -116,13 +113,8 @@ EXPOSE 7860 3000
|
|
| 116 |
RUN echo '#!/bin/bash\n\
|
| 117 |
echo "===== Application Startup at $(date "+%Y-%m-%d %H:%M:%S") ====="\n\
|
| 118 |
\n\
|
| 119 |
-
#
|
| 120 |
-
|
| 121 |
-
chown postgres:postgres /var/run/postgresql\n\
|
| 122 |
-
chmod 2777 /var/run/postgresql\n\
|
| 123 |
-
\n\
|
| 124 |
-
# Start PostgreSQL as postgres user\n\
|
| 125 |
-
su postgres -c "/usr/lib/postgresql/15/bin/pg_ctl -D /var/lib/postgresql/data start"\n\
|
| 126 |
\n\
|
| 127 |
max_tries=30\n\
|
| 128 |
count=0\n\
|
|
@@ -144,10 +136,9 @@ PGPASSWORD=$DB_PASSWORD psql -h localhost -U postgres -c "GRANT ALL PRIVILEGES O
|
|
| 144 |
\n\
|
| 145 |
echo "Database connection successful"\n\
|
| 146 |
\n\
|
| 147 |
-
#
|
| 148 |
cd /app/api && poetry run python -m flask db upgrade\n\
|
| 149 |
\n\
|
| 150 |
-
# Start API server\n\
|
| 151 |
cd /app/api && poetry run python -m gunicorn app:app \
|
| 152 |
--bind ${DIFY_BIND_ADDRESS:-0.0.0.0}:${DIFY_PORT:-7860} \
|
| 153 |
--worker-class gevent \
|
|
@@ -155,7 +146,6 @@ cd /app/api && poetry run python -m gunicorn app:app \
|
|
| 155 |
--timeout 300 \
|
| 156 |
--preload &\n\
|
| 157 |
\n\
|
| 158 |
-
# Start web server\n\
|
| 159 |
cd /app/web && node server.js &\n\
|
| 160 |
\n\
|
| 161 |
wait' > /app/entrypoint.sh && \
|
|
|
|
| 9 |
POETRY_CACHE_DIR=/tmp/poetry_cache \
|
| 10 |
PYTHONDONTWRITEBYTECODE=1
|
| 11 |
|
| 12 |
+
# Install system dependencies and set up directories
|
| 13 |
RUN apt-get update && apt-get install -y \
|
|
|
|
| 14 |
postgresql \
|
| 15 |
&& rm -rf /var/lib/apt/lists/* \
|
| 16 |
+
&& mkdir -p /var/run/postgresql /var/lib/postgresql/data \
|
| 17 |
+
&& chown postgres:postgres /var/run/postgresql /var/lib/postgresql/data \
|
| 18 |
+
&& chmod 2777 /var/run/postgresql \
|
| 19 |
+
&& chmod 700 /var/lib/postgresql/data
|
|
|
|
|
|
|
| 20 |
|
| 21 |
# Create directories and set permissions
|
| 22 |
RUN mkdir -p /app/api /app/web /data/storage /var/lib/postgresql/data && \
|
|
|
|
| 113 |
RUN echo '#!/bin/bash\n\
|
| 114 |
echo "===== Application Startup at $(date "+%Y-%m-%d %H:%M:%S") ====="\n\
|
| 115 |
\n\
|
| 116 |
+
# Start PostgreSQL directly as postgres user\n\
|
| 117 |
+
su postgres -c "/usr/lib/postgresql/15/bin/pg_ctl -D /var/lib/postgresql/data -l /var/log/postgresql/postgresql.log start"\n\
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 118 |
\n\
|
| 119 |
max_tries=30\n\
|
| 120 |
count=0\n\
|
|
|
|
| 136 |
\n\
|
| 137 |
echo "Database connection successful"\n\
|
| 138 |
\n\
|
| 139 |
+
# Start application services\n\
|
| 140 |
cd /app/api && poetry run python -m flask db upgrade\n\
|
| 141 |
\n\
|
|
|
|
| 142 |
cd /app/api && poetry run python -m gunicorn app:app \
|
| 143 |
--bind ${DIFY_BIND_ADDRESS:-0.0.0.0}:${DIFY_PORT:-7860} \
|
| 144 |
--worker-class gevent \
|
|
|
|
| 146 |
--timeout 300 \
|
| 147 |
--preload &\n\
|
| 148 |
\n\
|
|
|
|
| 149 |
cd /app/web && node server.js &\n\
|
| 150 |
\n\
|
| 151 |
wait' > /app/entrypoint.sh && \
|