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 && \
|