- **Migrate Database**: To apply database migrations.
- **Create Superuser**: To create an admin user for the application.
+## Committing from the Host Machine
+
+The DevContainer automatically installs pre-commit hooks during setup. However, these hooks are configured for use inside the container.
+
+If you want to commit changes from your host machine (outside the DevContainer), you need to set up pre-commit on your host. This installs it as a standalone tool.
+
+```bash
+uv tool install pre-commit && pre-commit install
+```
+
+After this, you can commit either from inside the DevContainer or from your host machine.
+
## Let's Get Started!
Follow the steps above to get your development environment up and running. Happy coding!
"dockerComposeFile": "docker-compose.devcontainer.sqlite-tika.yml",
"service": "paperless-development",
"workspaceFolder": "/usr/src/paperless/paperless-ngx",
- "postCreateCommand": "/bin/bash -c 'rm -rf .venv/.* && uv sync --group dev && uv run pre-commit install'",
+ "containerEnv": {
+ "UV_CACHE_DIR": "/usr/src/paperless/paperless-ngx/.uv-cache"
+ },
+ "postCreateCommand": "/bin/bash -c 'rm -rf .venv/.* && uv sync --group dev && uv run pre-commit install'",
"customizations": {
"vscode": {
- "extensions": [
- "mhutchie.git-graph",
- "ms-python.python",
- "ms-vscode.js-debug-nightly",
- "eamodio.gitlens",
- "yzhang.markdown-all-in-one"
- ],
- "settings": {
- "python.defaultInterpreterPath": "/usr/src/paperless/paperless-ngx/.venv/bin/python",
- "python.pythonPath": "/usr/src/paperless/paperless-ngx/.venv/bin/python",
- "python.terminal.activateEnvInCurrentTerminal": true,
- "editor.formatOnPaste": false,
- "editor.formatOnSave": true,
- "editor.formatOnType": true,
- "files.trimTrailingWhitespace": true
- }
+ "extensions": [
+ "mhutchie.git-graph",
+ "ms-python.python",
+ "ms-vscode.js-debug-nightly",
+ "eamodio.gitlens",
+ "yzhang.markdown-all-in-one",
+ "pnpm.pnpm"
+ ],
+ "settings": {
+ "python.defaultInterpreterPath": "/usr/src/paperless/paperless-ngx/.venv/bin/python",
+ "python.pythonPath": "/usr/src/paperless/paperless-ngx/.venv/bin/python",
+ "python.terminal.activateEnvInCurrentTerminal": true,
+ "editor.formatOnPaste": false,
+ "editor.formatOnSave": true,
+ "editor.formatOnType": true,
+ "files.trimTrailingWhitespace": true
+ }
}
- },
- "remoteUser": "paperless"
- }
+ },
+ "remoteUser": "paperless"
+}
{
"label": "Maintenance: Install Frontend Dependencies",
"description": "Install frontend (pnpm) dependencies",
- "type": "pnpm",
- "script": "install",
- "path": "src-ui",
+ "type": "shell",
+ "command": "pnpm install",
"group": "clean",
"problemMatcher": [],
- "detail": "install dependencies from package"
+ "options": {
+ "cwd": "${workspaceFolder}/src-ui"
+ },
+ "presentation": {
+ "echo": true,
+ "reveal": "always",
+ "focus": true,
+ "panel": "shared",
+ "showReuseMessage": false,
+ "clear": true,
+ "revealProblems": "onProblem"
+ }
},
{
"description": "Clean install frontend dependencies and build the frontend for production",