mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	moved to alpine:3.7 removed RUN layers to save image space, removed
redundant mkdir commands
This commit is contained in:
		
							
								
								
									
										67
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										67
									
								
								Dockerfile
									
									
									
									
									
								
							| @@ -1,54 +1,41 @@ | ||||
| FROM alpine:latest | ||||
|  | ||||
| FROM alpine:3.7 | ||||
| WORKDIR /usr/src/paperless | ||||
| COPY requirements.txt /usr/src/paperless/ | ||||
| # Copy application | ||||
| COPY src/ /usr/src/paperless/src/ | ||||
| COPY data/ /usr/src/paperless/data/ | ||||
| COPY media/ /usr/src/paperless/media/ | ||||
| # Set export directory | ||||
| ENV PAPERLESS_EXPORT_DIR /export | ||||
| # Set consumption directory | ||||
| ENV PAPERLESS_CONSUMPTION_DIR /consume | ||||
| COPY scripts/docker-entrypoint.sh /sbin/docker-entrypoint.sh | ||||
| # Install dependencies | ||||
| RUN apk --no-cache --update add \ | ||||
|         python3 gnupg libmagic bash \ | ||||
|         sudo tesseract-ocr imagemagick ghostscript unpaper && \ | ||||
|     apk --no-cache add --virtual .build-dependencies \ | ||||
|         python3-dev gcc musl-dev zlib-dev jpeg-dev | ||||
|  | ||||
|         python3-dev gcc musl-dev zlib-dev jpeg-dev && \ | ||||
| ## Install python dependencies | ||||
| RUN python3 -m ensurepip && \ | ||||
|     python3 -m ensurepip && \ | ||||
|     rm -r /usr/lib/python*/ensurepip && \ | ||||
|     mkdir -p /usr/src/paperless | ||||
| WORKDIR /usr/src/paperless | ||||
| COPY requirements.txt /usr/src/paperless/ | ||||
| RUN pip3 install --no-cache-dir -r requirements.txt | ||||
|  | ||||
| # Copy application | ||||
| RUN mkdir -p /usr/src/paperless/src | ||||
| RUN mkdir -p /usr/src/paperless/data | ||||
| RUN mkdir -p /usr/src/paperless/media | ||||
| COPY src/ /usr/src/paperless/src/ | ||||
| COPY data/ /usr/src/paperless/data/ | ||||
| COPY media/ /usr/src/paperless/media/ | ||||
|  | ||||
| # Set consumption directory | ||||
| ENV PAPERLESS_CONSUMPTION_DIR /consume | ||||
| RUN mkdir -p $PAPERLESS_CONSUMPTION_DIR | ||||
|  | ||||
|     mkdir -p /usr/src/paperless && \ | ||||
|     pip3 install --no-cache-dir -r requirements.txt && \ | ||||
| # Remove build dependencies | ||||
|     apk del .build-dependencies && \ | ||||
| # Create the consumption directory | ||||
|     mkdir -p $PAPERLESS_CONSUMPTION_DIR && \ | ||||
| # Migrate database | ||||
| WORKDIR /usr/src/paperless/src | ||||
| RUN ./manage.py migrate | ||||
|  | ||||
|     ./src/manage.py migrate && \ | ||||
| # Create user | ||||
| RUN addgroup -g 1000 paperless \ | ||||
|     && adduser -D -u 1000 -G paperless -h /usr/src/paperless paperless \ | ||||
|     && chown -Rh paperless:paperless /usr/src/paperless | ||||
|  | ||||
| # Set export directory | ||||
| ENV PAPERLESS_EXPORT_DIR /export | ||||
| RUN mkdir -p $PAPERLESS_EXPORT_DIR | ||||
|  | ||||
|     addgroup -g 1000 paperless && \ | ||||
|     adduser -D -u 1000 -G paperless -h /usr/src/paperless paperless && \ | ||||
|     chown -Rh paperless:paperless /usr/src/paperless && \ | ||||
|     mkdir -p $PAPERLESS_EXPORT_DIR && \ | ||||
| # Setup entrypoint | ||||
| COPY scripts/docker-entrypoint.sh /sbin/docker-entrypoint.sh | ||||
| RUN chmod 755 /sbin/docker-entrypoint.sh | ||||
|  | ||||
|     chmod 755 /sbin/docker-entrypoint.sh | ||||
| WORKDIR /usr/src/paperless/src | ||||
| # Mount volumes | ||||
| VOLUME ["/usr/src/paperless/data", "/usr/src/paperless/media", "/consume", "/export"] | ||||
|  | ||||
| ENTRYPOINT ["/sbin/docker-entrypoint.sh"] | ||||
|  | ||||
| # Remove build dependencies | ||||
| RUN apk del .build-dependencies | ||||
| CMD ["--help"] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Guy Addadi
					Guy Addadi