aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--opencanary/Dockerfile.stable.arm7l23
-rw-r--r--opensearch/docker-compose.yml81
2 files changed, 104 insertions, 0 deletions
diff --git a/opencanary/Dockerfile.stable.arm7l b/opencanary/Dockerfile.stable.arm7l
new file mode 100644
index 0000000..c374bf9
--- /dev/null
+++ b/opencanary/Dockerfile.stable.arm7l
@@ -0,0 +1,23 @@
+FROM python:3.10-buster
+
+# Download cache lists and install minimal versions
+RUN apt-get update && apt-get -yq install --no-install-recommends \
+ # Required linux dependencies
+ sudo vim build-essential libssl-dev libffi-dev python-dev libpcap-dev && \
+ # Remove cache lists and clean up anything not needed to minimize image size
+ apt-get autoremove -yq && apt-get clean && rm -rf /var/lib/apt/lists/*
+
+RUN wget https://static.rust-lang.org/dist/rust-1.87.0-armv7-unknown-linux-gnueabihf.tar.xz && \
+ tar -xvf rust-1.87.0-armv7-unknown-linux-gnueabihf.tar.xz && \
+ cd rust-1.87.0-armv7-unknown-linux-gnueabihf && \
+ ./install.sh
+
+# Install required pip dependencies
+RUN pip install opencanary
+RUN pip install scapy pcapy-ng
+
+# Set the default application we are running
+ENTRYPOINT [ "opencanaryd" ]
+
+# Set the default arguments to be used for the entrypoint
+CMD [ "--dev", "--uid=nobody", "--gid=nogroup" ]
diff --git a/opensearch/docker-compose.yml b/opensearch/docker-compose.yml
new file mode 100644
index 0000000..f291e3c
--- /dev/null
+++ b/opensearch/docker-compose.yml
@@ -0,0 +1,81 @@
+version: "3.9"
+services:
+ opensearch-node1: # This is also the hostname of the container within the Docker network (i.e. https://opensearch-node1/)
+ image: opensearchproject/opensearch:2.12.0
+ container_name: opensearch-node1
+ logging:
+ driver: "json-file"
+ options:
+ max-size: "250m"
+ environment:
+ # - cluster.name=opensearch-cluster # Name the cluster
+ # - node.name=opensearch-node1 # Name the node that will run in this container
+ # - discovery.seed_hosts=opensearch-node1,opensearch-node2 # Nodes to look for when discovering the cluster
+ # - cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2 # Nodes eligibile to serve as cluster manager
+ # - bootstrap.memory_lock=true # Disable JVM heap memory swapping
+ - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" # Set min and max JVM heap sizes to at least 50% of system RAM
+ - OPENSEARCH_INITIAL_ADMIN_PASSWORD=${OPENSEARCH_INITIAL_ADMIN_PASSWORD} # Sets the demo admin user password when using demo configuration (for OpenSearch 2.12 and later)
+ - discovery.type=single-node
+ ulimits:
+ nofile: 65536
+ volumes:
+ - opensearch-data1:/usr/share/opensearch/data # Creates volume called opensearch-data1 and mounts it to the container
+ ports:
+ - 127.0.0.1:9200:9200 # REST API
+ - 172.17.0.1:9200:9200 # REST API
+ - 127.0.0.1:9600:9600 # Performance Analyzer
+ - 172.17.0.1:9600:9600 # Performance Analyzer
+ networks:
+ - opensearch-net # All of the containers will join the same Docker bridge network
+ # opensearch-node2:
+ # image: opensearchproject/opensearch:2.12.0 # This should be the same image used for opensearch-node1 to avoid issues
+ # container_name: opensearch-node2
+ # deploy:
+ # resources:
+ # limits:
+ # memory: 4096M
+ # logging:
+ # driver: "json-file"
+ # options:
+ # max-size: "250m"
+ # environment:
+ # - cluster.name=opensearch-cluster
+ # - node.name=opensearch-node2
+ # - discovery.seed_hosts=opensearch-node1,opensearch-node2
+ # - cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2
+ # - bootstrap.memory_lock=true
+ # - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
+ # - OPENSEARCH_INITIAL_ADMIN_PASSWORD=${OPENSEARCH_INITIAL_ADMIN_PASSWORD}
+ # ulimits:
+ # nofile: 65536
+ # volumes:
+ # - opensearch-data2:/usr/share/opensearch/data
+ # networks:
+ # - opensearch-net
+ opensearch-dashboards:
+ image: opensearchproject/opensearch-dashboards:2.12.0 # Make sure the version of opensearch-dashboards matches the version of opensearch installed on other nodes
+ container_name: opensearch-dashboards
+ deploy:
+ resources:
+ limits:
+ memory: 2048M
+ logging:
+ driver: "json-file"
+ options:
+ max-size: "250m"
+ ports:
+ - 127.0.0.1:5601:5601 # Map host port 5601 to container port 5601
+ - 172.17.0.1:5601:5601 # Map host port 5601 to container port 5601
+ expose:
+ - "5601" # Expose port 5601 for web access to OpenSearch Dashboards
+ environment:
+ OPENSEARCH_HOSTS: '["https://opensearch-node1:9200","https://opensearch-node2:9200"]' # Define the OpenSearch nodes that OpenSearch Dashboards will query
+ env_file:
+ - .env
+ networks:
+ - opensearch-net
+volumes:
+ opensearch-data1:
+ opensearch-data2:
+networks:
+ opensearch-net: