https://github.com/dudecalledbro/document-pi
Ansible playbooks to automate the deployment of Paperless-ngx
https://github.com/dudecalledbro/document-pi
ansible automation docker-compose paperless-ngx
Last synced: 6 months ago
JSON representation
Ansible playbooks to automate the deployment of Paperless-ngx
- Host: GitHub
- URL: https://github.com/dudecalledbro/document-pi
- Owner: DudeCalledBro
- License: mit
- Created: 2025-03-26T15:17:30.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-03-26T15:18:37.000Z (6 months ago)
- Last Synced: 2025-03-26T16:29:17.269Z (6 months ago)
- Topics: ansible, automation, docker-compose, paperless-ngx
- Language: YAML
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Document Pi
[](https://github.com/DudeCalledBro/document-pi/actions/workflows/ci.yml)
This repository contains the Ansible code for deploying Paperless-ngx using Docker.
## Prerequisites
- Ensure you have Ansible installed (e.g. `pip3 install ansible`)
- Ensure Docker is installed on the proxy server (you may want to checkout my [ansible-docker-role](https://github.com/DudeCalledBro/ansible-role-docker))
- **Optional**: Set up a reverse proxy for your Paperless-ngx instance (you may want to checkout my [traefik-deployment](https://github.com/DudeCalledBro/traefik-ansible))## Installation
1. Copy the example.hosts.yml file to hosts.yml. You also have to setup a variables file for your configuration. Therefore you have to copy example.config.yml to config.yml.
2. Configure the setup (config.yml), such as the Traefik reverse proxy.
```yaml
# Define the paperless compose override
paperless_docker_override:
services:
broker:
networks:
- paperless
db:
networks:
- paperless
webserver:
labels:
- traefik.enable=true
- traefik.http.routers.paperless.rule=Host(`documents.local`)
- traefik.http.routers.paperless.entrypoints=websecure
- traefik.http.routers.paperless.tls=true
- traefik.http.services.paperless.loadBalancer.server.port=8000
- traefik.docker.network=traefik
networks:
- paperless
- traefik
# Custom networking in your docker compose override
networks:
paperless:
name: paperless
traefik:
name: traefik
```3. Run the Ansible playbook to deploy Jellyfin
```bash
ansible-playbook main.yml
```> You may have to enter a password to SSH into the target system, so you need to add `-k` after the `ansible-playbook` command.
## License
Copyright © 2025 Niclas Spreng
Licensed under the [MIT license](LICENSE).