refactor(papra): persist data in /opt/papra_data
- Move db, documents, ingestion to /opt/papra_data (survives CLEAN_INSTALL) - Use absolute paths in .env - Preserve AUTH_SECRET across updates (stored in .auth_secret file)
This commit is contained in:
parent
aafa60de06
commit
dcc6ab0437
@ -36,27 +36,33 @@ $STD pnpm --filter "@papra/app-server..." run build
|
|||||||
msg_ok "Set up Papra"
|
msg_ok "Set up Papra"
|
||||||
|
|
||||||
msg_info "Configuring Papra"
|
msg_info "Configuring Papra"
|
||||||
AUTH_SECRET=$(openssl rand -hex 32)
|
DATA_DIR="/opt/papra_data"
|
||||||
|
|
||||||
# Create data directories in server folder (where WorkingDirectory points)
|
# Create persistent data directories (survive updates/CLEAN_INSTALL)
|
||||||
mkdir -p /opt/papra/apps/papra-server/app-data/db
|
mkdir -p "${DATA_DIR}/db"
|
||||||
mkdir -p /opt/papra/apps/papra-server/app-data/documents
|
mkdir -p "${DATA_DIR}/documents"
|
||||||
mkdir -p /opt/papra/apps/papra-server/ingestion
|
mkdir -p "${DATA_DIR}/ingestion"
|
||||||
|
|
||||||
# Link client build to server public dir
|
# Link client build to server public dir
|
||||||
ln -sf /opt/papra/apps/papra-client/dist /opt/papra/apps/papra-server/public
|
ln -sf /opt/papra/apps/papra-client/dist /opt/papra/apps/papra-server/public
|
||||||
|
|
||||||
|
# Generate secret only on first install, preserve on updates
|
||||||
|
if [[ ! -f "${DATA_DIR}/.auth_secret" ]]; then
|
||||||
|
openssl rand -hex 32 > "${DATA_DIR}/.auth_secret"
|
||||||
|
fi
|
||||||
|
AUTH_SECRET=$(cat "${DATA_DIR}/.auth_secret")
|
||||||
|
|
||||||
cat >/opt/papra/apps/papra-server/.env <<EOF
|
cat >/opt/papra/apps/papra-server/.env <<EOF
|
||||||
NODE_ENV=production
|
NODE_ENV=production
|
||||||
SERVER_SERVE_PUBLIC_DIR=true
|
SERVER_SERVE_PUBLIC_DIR=true
|
||||||
PORT=1221
|
PORT=1221
|
||||||
|
|
||||||
# Database Configuration
|
# Database Configuration
|
||||||
DATABASE_URL=file:./app-data/db/db.sqlite
|
DATABASE_URL=file:${DATA_DIR}/db/db.sqlite
|
||||||
|
|
||||||
# Storage Configuration
|
# Storage Configuration
|
||||||
DOCUMENT_STORAGE_FILESYSTEM_ROOT=./app-data/documents
|
DOCUMENT_STORAGE_FILESYSTEM_ROOT=${DATA_DIR}/documents
|
||||||
PAPRA_CONFIG_DIR=./app-data
|
PAPRA_CONFIG_DIR=${DATA_DIR}
|
||||||
|
|
||||||
# Authentication
|
# Authentication
|
||||||
AUTH_SECRET=${AUTH_SECRET}
|
AUTH_SECRET=${AUTH_SECRET}
|
||||||
@ -70,7 +76,7 @@ CLIENT_BASE_URL=http://${LOCAL_IP}:1221
|
|||||||
EMAILS_DRY_RUN=true
|
EMAILS_DRY_RUN=true
|
||||||
|
|
||||||
# Ingestion Folder
|
# Ingestion Folder
|
||||||
INGESTION_FOLDER_ROOT=./ingestion
|
INGESTION_FOLDER_ROOT=${DATA_DIR}/ingestion
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
chown -R root:root /opt/papra
|
chown -R root:root /opt/papra
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user