FROM semibit/render-farm:slim USER root # EXPOSE 7860 3000 8083 RUN mkdir /app || true RUN chown 1000 /app COPY --chown=1000 . /app # copy project fonts into system font directory and rebuild cache RUN mkdir -p /usr/share/fonts/truetype/project && \ cp -r /app/public/assets/fonts/* /usr/share/fonts/truetype/project/ || true && \ fc-cache -fv 2>/dev/null || true # ensure fonts are available before fc-cache runs in the earlier layer RUN mkdir -p /app/public/assets/fonts # Ensure writable directories RUN mkdir -p /app/public /app/out /app/frames /app/uploads || true RUN chmod -R 777 /app/public /app/out /app/uploads /app/frames || true RUN chmod 777 /app/index.html || true RUN mkdir -p /tmp/client_body /tmp/proxy_temp /tmp/fastcgi_temp /tmp/uwsgi_temp /tmp/scgi_temp && chmod -R 777 /tmp || true RUN chmod -R 777 /var || true RUN chmod -R 777 /app/node_modules/.cache || true # Build app WORKDIR /app COPY --chown=1000 start.sh /app/start.sh RUN chmod +x /app/start.sh CMD ["sh", "/app/start.sh"]