diff --git a/Dockerfile b/Dockerfile index 7780a25..50eb7f4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -52,7 +52,7 @@ RUN npm ci --production #FROM alpine:3 FROM nvcr.io/nvidia/tritonserver:24.04-py3-min as base -RUN mkdir -p /storage-api +RUN mkdir -p /supabase/storage-api && mkdir -p /supabase/postgres && mkdir -p /supabase/kong && mkdir -p /supabase/gotrue && mkdir -p supabase/postgrest #RUN adduser -D -u 1000 supabase @@ -66,6 +66,16 @@ RUN apt-get update && \ apt-get install -y --no-install-recommends ca-certificates && \ rm -rf /var/lib/apt/lists/* + +RUN apt-get update -y \ + && apt install -y --no-install-recommends curl ca-certificates libpq-dev zlib1g-dev jq gcc libnuma-dev gnupg supervisor \ + && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \ + && apt-get install -y nodejs \ + && npm install -g npm@10.8.2 pm2@5.4.3 \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + + COPY --from=authbuild /go/src/github.com/supabase/auth/auth /usr/local/bin/auth COPY --from=authbuild /go/src/github.com/supabase/auth/migrations /usr/local/etc/auth/migrations/ RUN ln -s /usr/local/bin/auth /usr/local/bin/gotrue @@ -78,12 +88,12 @@ ENV GOTRUE_DB_MIGRATIONS_PATH /usr/local/etc/auth/migrations ARG VERSION ENV VERSION=$VERSION -COPY storage_v1.19.1/migrations migrations +COPY storage_v1.19.1/migrations supabase/storage-api/migrations # Copy production node_modules from the production dependencies stage -COPY --from=production-deps /app/node_modules node_modules +COPY --from=production-deps /app/node_modules supabase/storage-api/node_modules # Copy build artifacts from the build stage -COPY --from=s3build /app/dist dist +COPY --from=s3build /app/dist supabase/storage-api/dist #----------------------------------------------------------------- Postgrest -------------------------------- diff --git a/supervisord.conf b/supervisord.conf new file mode 100644 index 0000000..a490925 --- /dev/null +++ b/supervisord.conf @@ -0,0 +1,36 @@ +[supervisord] +nodaemon=true +logfile=/var/log/supervisord.log +loglevel=info +pidfile=/tmp/supervisord.pid + +[program:postgres] +command=/supabase/postgres/docker-entrypoint.sh postgres -D /etc/postgresql +autorestart=true +stdout_logfile=/var/log/postgres.out.log +stderr_logfile=/var/log/postgres.err.log + +[program:kong] +command=/supabase/kong/start.sh +autorestart=true +stderr_logfile=/var/log/kong.err.log +stdout_logfile=/var/log/kong.out.log + +[program:auth] +command=/supabase/auth/auth +autorestart=true +stderr_logfile=/var/log/auth.err.log +stdout_logfile=/var/log/auth.out.log + +[program:postgrest] +command=/supabase/postgrest/postgrest /app/postgrest/config.conf +autorestart=true +stderr_logfile=/var/log/postgrest.err.log +stdout_logfile=/var/log/postgrest.out.log + +[program:storage-api] +command=/supabase/storage-api/start.sh +autorestart=true +stderr_logfile=/var/log/storage-api.err.log +stdout_logfile=/var/log/storage-api.out.log +