From aa775c69f32848a742b1dbb72d38d06630110ee0 Mon Sep 17 00:00:00 2001 From: GeorgeWebberley Date: Sat, 31 Jan 2026 20:06:35 +0100 Subject: [PATCH] created docker compose and woodpecker --- .env.example | 1 + .gitignore | 1 + .woodpecker.yaml | 19 +++++++++++++++++ docker-compose.yaml | 50 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 .woodpecker.yaml create mode 100644 docker-compose.yaml diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..71142c6 --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +POSTGRES_PASSWORD=postgresPassword \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2eea525 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.env \ No newline at end of file diff --git a/.woodpecker.yaml b/.woodpecker.yaml new file mode 100644 index 0000000..4b97846 --- /dev/null +++ b/.woodpecker.yaml @@ -0,0 +1,19 @@ +variables: + - &app_name "paperless-ngx" + +when: + event: [push] + branch: main + +steps: + deploy: + image: docker:28-cli + privileged: true + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /home/george:/home/george + environment: + APP_NAME: *app_name + commands: + - cp -r . /home/george/$APP_NAME/ + - docker compose -p $APP_NAME -f /home/george/$APP_NAME/docker-compose.yaml up -d --pull always --force-recreate \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..d9297b4 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,50 @@ +services: + db: + image: docker.io/library/postgres:16-alpine + restart: always + volumes: + - ./pgdata:/var/lib/postgresql/data + environment: + POSTGRES_DB: paperless + POSTGRES_USER: paperless + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + networks: + - web_traffic + + broker: + image: docker.io/library/redis:7-alpine + restart: always + networks: + - web_traffic + + webserver: + image: ghcr.io/paperless-ngx/paperless-ngx:latest + container_name: paperless-ngx + restart: always + depends_on: + - db + - broker + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8000"] + interval: 30s + timeout: 10s + retries: 5 + volumes: + - ./data:/usr/src/paperless/data + - ./media:/usr/src/paperless/media + - ./export:/usr/src/paperless/export + - ./consume:/usr/src/paperless/consume + environment: + PAPERLESS_REDIS: redis://broker:6379 + PAPERLESS_DBHOST: db + PAPERLESS_DBUSER: paperless + PAPERLESS_DBPASS: ${POSTGRES_PASSWORD} + PAPERLESS_URL: https://your-paperless-domain.com + PAPERLESS_TIME_ZONE: UTC + PAPERLESS_OCR_LANGUAGE: eng + networks: + - web_traffic + +networks: + web_traffic: + external: true \ No newline at end of file