Docspell-joex, verified and packaged by Elestio
361
Docspell is a personal document organizer. Or sometimes called a "Document Management System" (DMS). You'll need a scanner to convert your papers into files.
Deploy a fully managed docspell on elest.io if you want automated backups, reverse proxy with SSL termination, firewall, automated OS & Software updates, and a team of Linux experts and open source enthusiasts to ensure your services are always safe, and functional.
You can deploy it easily with the following command:
git clone https://github.com/elestio-examples/docspell.git
Copy the .env file from tests folder to the project directory
cp ./tests/.env ./.env
Edit the .env file with your own values.
Create data folders with correct permissions
mkdir -p ./pgdata
chown -R 1000:1000 ./pgdata
Run the project with the following command
docker-compose up -d
./scripts/postInstall.sh
You can access the Web UI at: http://your-domain:9880
Here are some example snippets to help you get started creating a container.
version: '3.8'
services:
restserver:
image: elestio4test/docspell-restserver:${SOFTWARE_VERSION_TAG}
restart: always
ports:
- "172.17.0.1:9880:7880"
environment:
- TZ=Europe/Berlin
- DOCSPELL_SERVER_INTERNAL__URL=http://restserver:7880
- DOCSPELL_SERVER_ADMIN__ENDPOINT_SECRET=${ADMIN__ENDPOINT_SECRET}
- DOCSPELL_SERVER_AUTH_SERVER__SECRET=
- DOCSPELL_SERVER_BACKEND_JDBC_PASSWORD=dbpass
- DOCSPELL_SERVER_BACKEND_JDBC_URL=jdbc:postgresql://db:5432/dbname
- DOCSPELL_SERVER_BACKEND_JDBC_USER=dbuser
- DOCSPELL_SERVER_BIND_ADDRESS=0.0.0.0
- DOCSPELL_SERVER_FULL__TEXT__SEARCH_ENABLED=true
- DOCSPELL_SERVER_FULL__TEXT__SEARCH_SOLR_URL=http://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=${DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER}
- DOCSPELL_SERVER_BACKEND_SIGNUP_MODE=open
- DOCSPELL_SERVER_BACKEND_SIGNUP_NEW__INVITE__PASSWORD=
- DOCSPELL_SERVER_BACKEND_ADDONS_ENABLED=false
depends_on:
- solr
- db
joex:
image: elestio4test/docspell-joex:${SOFTWARE_VERSION_TAG}
restart: always
environment:
- TZ=Europe/Berlin
- DOCSPELL_JOEX_APP__ID=joex1
- DOCSPELL_JOEX_PERIODIC__SCHEDULER_NAME=joex1
- DOCSPELL_JOEX_SCHEDULER_NAME=joex1
- DOCSPELL_JOEX_BASE__URL=http://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://solr:8983/solr/docspell
- DOCSPELL_JOEX_JDBC_PASSWORD=dbpass
- DOCSPELL_JOEX_JDBC_URL=jdbc:postgresql://db:5432/dbname
- DOCSPELL_JOEX_JDBC_USER=dbuser
- DOCSPELL_JOEX_ADDONS_EXECUTOR__CONFIG_RUNNER=docker,trivial
ports:
- "172.17.0.1:9878:7878"
depends_on:
- solr
- db
consumedir:
image: elestio4test/docspell-dsc:${SOFTWARE_VERSION_TAG}
command:
- dsc
- "-d"
- "http://docspell-restserver:7880"
- "watch"
- "--delete"
- "-ir"
- "--not-matches"
- "**/.*"
- "--header"
- "Docspell-Integration:${DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER}"
- "/opt/docs"
restart: always
volumes:
- ./docs:/opt/docs
depends_on:
- restserver
db:
image: postgres:14
restart: always
volumes:
- ./docspell-postgres_data:/var/lib/postgresql/data/
environment:
- POSTGRES_USER=dbuser
- POSTGRES_PASSWORD=dbpass
- POSTGRES_DB=dbname
solr:
image: solr:9
restart: always
volumes:
- ./docspell-solr_data:/var/solr
command:
- solr-precreate
- docspell
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8983/solr/docspell/admin/ping"]
interval: 1m
timeout: 10s
retries: 2
start_period: 30s
| Variable | Value (example) |
|---|---|
| SOFTWARE_VERSION_TAG | latest |
| ADMIN_EMAIL | [email protected] |
| ADMIN_PASSWORD | your-password |
| ANYMAIL | True |
| DEFAULT_FROM_EMAIL | your_domain |
| EMAIL_HOST | your_domain |
| EMAIL_PORT | 25 |
| EMAIL_USE_TLS | False |
| EMAIL_USE_SSL | False |
| ADMIN__ENDPOINT_SECRET | your-secret |
| DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER | your-secret |
The Elestio Docspell Docker image sends the container logs to stdout. To view the logs, you can use the following command:
docker-compose logs -f
To stop the stack you can use the following command:
docker-compose down
To make backup and restore operations easier, we are using folder volume mounts. You can simply stop your stack with docker-compose down, then backup all the files and subfolders in the folder near the docker-compose.yml file.
Creating a ZIP Archive For example, if you want to create a ZIP archive, navigate to the folder where you have your docker-compose.yml file and use this command:
zip -r myarchive.zip .
Restoring from ZIP Archive To restore from a ZIP archive, unzip the archive into the original folder using the following command:
unzip myarchive.zip -d /path/to/original/folder
Starting Your Stack Once your backup is complete, you can start your stack again with the following command:
docker-compose up -d
That's it! With these simple steps, you can easily backup and restore your data volumes using Docker Compose.
Content type
Image
Digest
sha256:f08b7a6cf…
Size
1010.2 MB
Last updated
almost 3 years ago
docker pull elestio4test/docspell-joex