beeta/openresty/Dockerfile
2026-01-05 22:54:27 -05:00

34 lines
No EOL
1.1 KiB
Docker

FROM openresty/openresty:alpine
# Install dependencies needed by opm and thumbnail generation
RUN apk add --no-cache curl perl ffmpeg
# Install lua-resty-http
RUN opm get ledgetech/lua-resty-http
# Install lua-resty-jwt for edge JWT validation
RUN opm get SkyLothar/lua-resty-jwt
# Copy configuration
COPY nginx.conf /usr/local/openresty/nginx/conf/nginx.conf
COPY lua /usr/local/openresty/nginx/lua
# Create uploads directory structure with proper permissions
RUN mkdir -p /app/uploads/avatars /app/uploads/stickers /app/uploads/sticker-submissions && \
chmod -R 755 /app/uploads
# Create nginx temp directories
RUN mkdir -p /var/cache/nginx/client_temp \
/var/cache/nginx/proxy_temp \
/var/cache/nginx/fastcgi_temp \
/var/cache/nginx/uwsgi_temp \
/var/cache/nginx/scgi_temp && \
chmod -R 755 /var/cache/nginx
# Create startup script inline to avoid Windows line ending issues
RUN printf '#!/bin/sh\nmkdir -p /tmp/thumbs\nchmod 777 /tmp/thumbs\nexec /usr/local/openresty/bin/openresty -g "daemon off;"\n' > /start.sh && chmod +x /start.sh
EXPOSE 80 443
# Use startup script to ensure proper permissions on /tmp/thumbs
CMD ["/start.sh"]