break out compose and docker files for compile vs no-compile options

testing-process-exporter
lza_menace 4 years ago
parent 74d800614d
commit 7d31fda77d

@ -0,0 +1,25 @@
.PHONY: format help
# Help system from https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
.DEFAULT_GOAL := help
help:
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
up: ## Build and run the required containers by fetching binaries
docker-compose -f docker-compose.nocompile.yaml up -d
up-full: ## Build and run the required containers by compiling source
docker-compose -f docker-compose.compile.yaml up -d
down: ## Stop the containers
docker-compose -f docker-compose.nocompile.yaml up -d
down-full: ## Stop the containers
docker-compose -f docker-compose.compile.yaml up -d
logs: ## Get logs from the containers
docker-compose -f docker-compose.nocompile.yaml up -d
logs-full: ## Get logs from the containers
docker-compose -f docker-compose.compile.yaml up -d

@ -42,8 +42,8 @@ services:
exporter: exporter:
container_name: exporter container_name: exporter
build: build:
context: . context: dockerfiles
dockerfile: Dockerfile-monerod_exporter dockerfile: monerod_exporter
restart: unless-stopped restart: unless-stopped
environment: environment:
DAEMON_HOST: http://monerod:18083 DAEMON_HOST: http://monerod:18083
@ -53,8 +53,8 @@ services:
monerod: monerod:
container_name: monerod container_name: monerod
build: build:
context: . context: dockerfiles
dockerfile: Dockerfile-monero dockerfile: monero_compile
args: args:
threads: ${THREADS:-1} threads: ${THREADS:-1}
volumes: volumes:

@ -0,0 +1,68 @@
version: '3'
volumes:
grafana:
prometheus:
services:
prometheus:
image: prom/prometheus:v2.18.0
container_name: prometheus
restart: unless-stopped
command:
- --config.file=/etc/prometheus/prometheus.yml
- --storage.tsdb.path=/prometheus
- --web.console.libraries=/usr/share/prometheus/console_libraries
- --web.console.templates=/usr/share/prometheus/consoles
- --web.enable-admin-api
volumes:
- prometheus:/prometheus
- ./files/prometheus:/etc/prometheus
ports:
- 9090:9090
grafana:
image: grafana/grafana:6.5.0
container_name: grafana
restart: unless-stopped
ports:
- 3000:3000
environment:
HOSTNAME: grafana
GF_SECURITY_ADMIN_USER: admin
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_PASSWORD}
GF_SERVER_ROOT_URL: ${GRAFANA_URL}
GF_ANALYTICS_REPORTING_ENABLED: "false"
GF_ANALYTICS_CHECK_FOR_UPDATES: "false"
GF_USERS_ALLOW_SIGN_UP: "false"
GF_USERS_ALLOW_ORG_CREATE: "false"
GF_LOG_LEVEL: "debug"
volumes:
- ./files/grafana/dashboards.yaml:/etc/grafana/provisioning/dashboards/default.yaml:ro
- ./files/grafana/prometheus.yaml:/etc/grafana/provisioning/datasources/prometheus.yaml:ro
- ./files/grafana/daemon_metrics.json:/var/lib/grafana/dashboards/daemon_metrics.json:ro
- grafana:/var/lib/grafana
exporter:
container_name: exporter
build:
context: dockerfiles
dockerfile: monerod_exporter
restart: unless-stopped
environment:
DAEMON_HOST: http://monerod:18083
PORT: 8080
ports:
- 8080:8080
monerod:
container_name: monerod
build:
context: dockerfiles
dockerfile: monero_nocompile
args:
threads: ${THREADS:-1}
volumes:
- ${DATA_DIR:-./data}:/data
ports:
- 18080:18080 # p2p
- 18081:18081 # restricted rpc
- 18082:18082 # zmq
- 18083:18083 # unrestricted rpc
command:
monerod --data-dir=/data --p2p-bind-ip=0.0.0.0 --p2p-bind-port=18080 --rpc-restricted-bind-port=18081 --zmq-rpc-bind-ip=0.0.0.0 --zmq-rpc-bind-port=18082 --rpc-bind-ip=0.0.0.0 --rpc-bind-port=18083 --non-interactive --confirm-external-bind --public-node --log-level=0

@ -23,12 +23,6 @@ COPY --from=og /opt/monero/build/Linux/_no_branch_/release/bin/monerod /bin/mone
COPY --from=og /opt/monero/build/Linux/_no_branch_/release/bin/monero-wallet-cli /bin/monero-wallet-cli COPY --from=og /opt/monero/build/Linux/_no_branch_/release/bin/monero-wallet-cli /bin/monero-wallet-cli
COPY --from=og /opt/monero/build/Linux/_no_branch_/release/bin/monero-wallet-rpc /bin/monero-wallet-rpc COPY --from=og /opt/monero/build/Linux/_no_branch_/release/bin/monero-wallet-rpc /bin/monero-wallet-rpc
RUN adduser --system --group --disabled-password monero && \
mkdir -p /data && \
chown -R monero:monero /data
USER monero
EXPOSE 18080 EXPOSE 18080
EXPOSE 18081 EXPOSE 18081
EXPOSE 18082 EXPOSE 18082

@ -0,0 +1,39 @@
FROM ubuntu:19.10
ENV MONERO_HASH 2335716555ff0428da0f206a491d9c57b7ae2221d1cfbbb3bf43960d3a2a4dfe
ENV MONERO_DL_URL https://github.com/monero-project/monero/releases/download/v0.17.0.1/monero-linux-x64-v0.17.0.1.tar.bz2
ENV MONERO_DL_FILE monero.tar.bz2
ENV MONERO_SUMS_FILE sha256sums
WORKDIR /opt/monero
# Update system and install dependencies
# Download Monero binaries from Github
# Confirm hashes match
# Install daemon binary
# Clean up
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y tar wget \
&& wget -qO ${MONERO_DL_FILE} ${MONERO_DL_URL} \
&& echo "${MONERO_HASH} ${MONERO_DL_FILE}" > ${MONERO_SUMS_FILE} \
&& sha256sum -c ${MONERO_SUMS_FILE}; \
if [ "$?" -eq 0 ]; \
then \
echo -e "[+] Hashes match - proceeding with container build"; \
else \
echo -e "[!] Hashes do not match - exiting"; \
exit 5; \
fi \
&& mkdir ./tmp \
&& tar xjf ${MONERO_DL_FILE} -C ./tmp --strip 1 \
&& mv ./tmp/* /usr/local/bin/ \
&& rm -rf ./tmp ${MONERO_SUMS_FILE} ${MONERO_DL_FILE}
WORKDIR /data
EXPOSE 18080
EXPOSE 18081
EXPOSE 18082
EXPOSE 18083
Loading…
Cancel
Save