Severian commited on
Commit
d326c6f
·
verified ·
1 Parent(s): 800925b

Update Dockerfile

Browse files
Files changed (1) hide show
  1. 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 create user first
13
  RUN apt-get update && apt-get install -y \
14
- sudo \
15
  postgresql \
16
  && rm -rf /var/lib/apt/lists/* \
17
- && useradd -m -u 1000 user \
18
- && usermod -aG sudo user \
19
- && echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \
20
- && mkdir -p /var/run/postgresql \
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
- # Ensure proper permissions\n\
120
- mkdir -p /var/run/postgresql\n\
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
- # Run database migrations\n\
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 && \