Sign inSign up

swissmakers/elasticsearch-ingest

By swissmakers

Updated over 2 years ago

Elasticsearch with pre-included ingest-attachment plugin

Image
Security
Integration & delivery
Monitoring & observability
0

1.1K

swissmakers/elasticsearch-ingest repository overview

Elasticsearch Container with Ingest-Attachment Plugin

Overview:

Swissmakers GmbH introduces a specialized Elasticsearch container that comes with the Ingest-Attachment Plugin already included, designed for direct integration with Nextcloud's full-text search capabilities. This container is based on the original versions of Elasticsearch provided by Elastic and simplifies the process of text extraction and indexing from various document formats. This capability is essential for enabling advanced search functionalities within Nextcloud environments. The direct inclusion of this plugin makes document processing more straightforward, aiming to improve search performance. As an official partner of Elasticsearch, our efforts are dedicated to providing solutions that enhance user experience through seamless technology integration.

Key Features:

  • Pre-Included Ingest-Attachment Plugin: Streamlines the process of indexing documents by automatically extracting text from PDFs, Office documents, and other supported file types.
  • Official Elasticsearch Base: Built on the official Elasticsearch containers, ensuring compatibility and performance.
  • Versions Available: The image is offered in two main versions, aligning with Elasticsearch's release cycle: v7.17.18 for legacy support and v8.12.2 for the latest features and improvements.
  • Easy to Deploy: Designed for straightforward deployment, enabling quick integration into existing infrastructures.

Getting Started:

To use this container, you can pull the image from our Docker repository and run it with Podman or Docker. Ensure you have Podman or Docker installed on your system before proceeding.

  1. Pull the Image:

    For Elasticsearch v8.12.2:

    podman pull swissmakers/elasticsearch-ingest:v8.12.2
    

    For Elasticsearch v7.17.18:

    podman pull swissmakers/elasticsearch-ingest:v7.17.18
    
  2. Run the Container:

    Here's a basic command to start the Elasticsearch container with the integrated Ingest-Attachment Plugin: (testing only)

    podman run -d --name elasticsearch-ingest -p 9200:9200 -p 9300:9300  -e "cluster.name=single-node-cluster" -e "discovery.type=single-node" -e "node.name=es01" -e "ES_JAVA_OPTS=-Xms2g -Xmx2g" swissmakers/elasticsearch-ingest:v7.17.18
    

    Replace v7.17.18 with v8.12.2 as needed depending on the version you wish to deploy.

Configuration for Nextcloud Integration:

To integrate this Elasticsearch container with Nextcloud for full-text search, follow these steps:

  1. Install and Enable the Full Text Search Apps in Nextcloud:

    • Full text search - Elasticsearch Platform
    • Full text search
    • Full text search - Files
  2. Configure Elasticsearch in Nextcloud: Navigate to your Nextcloud's admin settings, find the Full Text Search section, and configure it to connect to your Elasticsearch container. You will need to specify the Elasticsearch host, which will be localhost:9200 if running on the same machine.

Creating a Systemd Service for Elasticsearch Container:

To ensure your Elasticsearch container runs as a service and starts automatically at boot, you can create a Systemd service:

  1. Create a new Systemd service file:

    sudo vim /etc/systemd/system/elasticsearch-ingest.service
    
  2. Add the following content, adjusting path: (/opt/elasticsearch-ingest) and versions as necessary:

    [Unit]
    Description=Elasticsearch Ingest Container
    After=network.target
    
    [Service]
    Type=simple
    TimeoutStartSec=30s
    ExecStartPre=-/usr/bin/podman rm "elasticsearch-ingest"
    
    ExecStart=/usr/bin/podman run --name elasticsearch-ingest -p 9200:9200 -p 9300:9300 -e "cluster.name=single-node-cluster" -e "discovery.type=single-node" -e "node.name=es01" -e "ES_JAVA_OPTS=-Xms2g -Xmx2g" -v /opt/elasticsearch-ingest:/usr/share/elasticsearch/data:z docker.io/swissmakers/elasticsearch-ingest:v7.17.18
    
    ExecReload=-/usr/bin/podman stop "elasticsearch-ingest"
    ExecReload=-/usr/bin/podman rm "elasticsearch-ingest"
    ExecStop=-/usr/bin/podman stop "elasticsearch-ingest"
    Restart=always
    RestartSec=30
    
    [Install]
    WantedBy=multi-user.target
    
  3. Reload Systemd, enable, and start the service:

    sudo systemctl daemon-reload
    sudo systemctl enable elasticsearch-ingest.service --now
    sudo systemctl status elasticsearch-ingest.service
    

This setup ensures your Elasticsearch container with the Ingest-Attachment Plugin is ready to enhance your Nextcloud with powerful full-text search capabilities. For detailed configuration options and advanced setups, refer to the Elasticsearch and Nextcloud documentation.

Tag summary

Content type

Image

Digest

sha256:b44ba9ed2

Size

653.8 MB

Last updated

over 2 years ago

docker pull swissmakers/elasticsearch-ingest:v8.12.2