[Unit] Description=Paperless webserver After=network.target Wants=network.target Requires=redis.service #Requires=paperless-webserver.socket [Service] User=paperless Group=paperless WorkingDirectory=/opt/paperless/src Environment=GRANIAN_HOST=:: Environment=GRANIAN_PORT=8000 Environment=GRANIAN_WORKERS=1 ExecStart=/bin/sh -c '\ # Host: GRANIAN_HOST -> PAPERLESS_BIND_ADDR -> default \ [ -n "$PAPERLESS_BIND_ADDR" ] && export GRANIAN_HOST=$PAPERLESS_BIND_ADDR; \ # Port: GRANIAN_PORT -> PAPERLESS_PORT -> default \ [ -n "$PAPERLESS_PORT" ] && export GRANIAN_PORT=$PAPERLESS_PORT; \ # Workers: GRANIAN_WORKERS -> PAPERLESS_WEBSERVER_WORKERS -> default \ [ -n "$PAPERLESS_WEBSERVER_WORKERS" ] && export GRANIAN_WORKERS=$PAPERLESS_WEBSERVER_WORKERS; \ # URL path prefix: only set if PAPERLESS_FORCE_SCRIPT_NAME exists \ [ -n "$PAPERLESS_FORCE_SCRIPT_NAME" ] && export GRANIAN_URL_PATH_PREFIX=$PAPERLESS_FORCE_SCRIPT_NAME; \ exec granian --interface asginl --ws "paperless.asgi:application"' [Install] WantedBy=multi-user.target