# docspell





| Création    | Portainer                         |
| ----------- | --------------------------------- |
| Mise-à-jour | Watchtower                        |
| Ports       | 8486                              |
| Liens       | [Docspell](https://docspell.org/) |



```yaml
version: '3.9'
services:
  docspell-db:
    image: postgres
    container_name: Docspell-DB
    hostname: docspell-db
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "pg_isready", "-q", "-d", "docspell", "-U", "docspelluser"]
      timeout: 45s
      interval: 10s
      retries: 10
    user: 1026:100
    volumes:
      - /volume1/docker/docspell/db:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=docspell
      - POSTGRES_USER=docspelluser
      - POSTGRES_PASSWORD=docspellpass
    restart: always

  docspell-solr:
    image: solr
    command:
      - solr-precreate
      - docspell
    container_name: Docspell-SOLR
    hostname: docspell-solr
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8983/solr/docspell/admin/ping"]
      interval: 45s
      timeout: 10s
      retries: 2
      start_period: 30s
    user: 1026:100
    volumes:
      - /volume1/docker/docspell/solr:/var/solr
    restart: always

  restserver:
    image: docspell/restserver:latest
    container_name: Docspell-RESTSERVER
    hostname: docspell-restserver
    security_opt:
      - no-new-privileges:true
    user: 1026:100
    ports:
      - 8486:7880
    environment:
      - TZ=Europe/Paris
      - DOCSPELL_SERVER_INTERNAL__URL=http://docspell-restserver:7880
      - DOCSPELL_SERVER_ADMIN__ENDPOINT_SECRET=superdupersecretyeah
      - DOCSPELL_SERVER_AUTH_SERVER__SECRET=evenmoresuperdupersecret
      - DOCSPELL_SERVER_BACKEND_JDBC_PASSWORD=docspellpass
      - DOCSPELL_SERVER_BACKEND_JDBC_URL=jdbc:postgresql://docspell-db:5432/docspell
      - DOCSPELL_SERVER_BACKEND_JDBC_USER=docspelluser
      - DOCSPELL_SERVER_BIND_ADDRESS=0.0.0.0
      - DOCSPELL_SERVER_FULL__TEXT__SEARCH_ENABLED=true
      - DOCSPELL_SERVER_FULL__TEXT__SEARCH_SOLR_URL=http://docspell-solr:8983/solr/docspell
      - DOCSPELL_SERVER_INTEGRATION__ENDPOINT_ENABLED=true
      - DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_ENABLED=true
      - DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER__VALUE=superduperpassword123
      - DOCSPELL_SERVER_BACKEND_SIGNUP_MODE=open
      - DOCSPELL_SERVER_BACKEND_SIGNUP_NEW__INVITE__PASSWORD=
      - DOCSPELL_SERVER_BACKEND_ADDONS_ENABLED=false
    restart: always
    depends_on:
      docspell-db:
        condition: service_started
      docspell-solr:
        condition: service_healthy
  joex:
    image: docspell/joex:latest
    container_name: Docspell-JOEX
    hostname: docspell-joex
    security_opt:
      - no-new-privileges:true
    user: 1026:100
    environment:
      - TZ=Europe/Paris
      - DOCSPELL_JOEX_APP__ID=joex1
      - DOCSPELL_JOEX_PERIODIC__SCHEDULER_NAME=joex1
      - DOCSPELL_JOEX_SCHEDULER_NAME=joex1
      - DOCSPELL_JOEX_BASE__URL=http://docspell-joex:7878
      - DOCSPELL_JOEX_BIND_ADDRESS=0.0.0.0
      - DOCSPELL_JOEX_FULL__TEXT__SEARCH_ENABLED=true
      - DOCSPELL_JOEX_FULL__TEXT__SEARCH_SOLR_URL=http://docspell-solr:8983/solr/docspell
      - DOCSPELL_JOEX_JDBC_PASSWORD=docspellpass
      - DOCSPELL_JOEX_JDBC_URL=jdbc:postgresql://docspell-db:5432/docspell
      - DOCSPELL_JOEX_JDBC_USER=docspelluser
      - DOCSPELL_JOEX_ADDONS_EXECUTOR__CONFIG_RUNNER=docker,trivial
      - DOCSPELL_JOEX_CONVERT_HTML__CONVERTER=weasyprint
    restart: always
    depends_on:
      docspell-db:
        condition: service_started
      docspell-solr:
        condition: service_healthy

networks:
  default:
    driver: bridge
    ipam:
      config:
        - subnet: 172.16.58.0/24
```

