Files
docker-monero-node/docker-compose.yaml
lza_menace 3f67ff0eb2 ez fix
2025-04-11 08:24:37 -07:00

154 lines
4.0 KiB
YAML

volumes:
grafana:
prometheus:
tor:
x-log-config: &log-config
logging:
driver: json-file
options:
max-size: "50m"
max-file: "20"
networks:
tor_net:
ipam:
driver: default
config:
- subnet: "172.31.255.0/24"
services:
prometheus:
image: prom/prometheus:${PROM_TAG:-v2.36.0}
command:
- --config.file=/etc/prometheus/config.yaml
- --storage.tsdb.path=/prometheus
- --storage.tsdb.retention.time=${PROM_RETENTION:-360d}
container_name: monerod_prometheus
restart: unless-stopped
depends_on:
exporter:
condition: service_started
# ports:
# - 127.0.0.1:9090:9090
volumes:
- prometheus:/prometheus
- ./files/prometheus/config.yaml:/etc/prometheus/config.yaml:ro
networks:
- tor_net
<<: *log-config
grafana:
user: "1000"
command:
- -config=/etc/grafana/grafana.ini
container_name: monerod_grafana
restart: unless-stopped
image: grafana/grafana:${GRAFANA_TAG:-10.1.4}
ports:
- 127.0.0.1:${GRAF_PORT:-3000}:3000
volumes:
- grafana:/var/lib/grafana
- ./files/grafana/grafana.ini:/etc/grafana/grafana.ini:ro
- ./files/grafana/provisioning:/etc/grafana/provisioning:ro
- ./files/grafana/dashboards:/var/lib/grafana/dashboards:ro
environment:
HOSTNAME: grafana
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: "info"
GF_AUTH_ANONYMOUS_ENABLED: "${GF_AUTH_ANONYMOUS_ENABLED:-true}"
GF_AUTH_BASIC_ENABLED: "${GF_AUTH_BASIC_ENABLED:-false}"
GF_AUTH_DISABLE_LOGIN_FORM: "${GF_AUTH_DISABLE_LOGIN_FORM:-true}"
GF_SECURITY_ADMIN_PASSWORD: "${GF_SECURITY_ADMIN_PASSWORD:-}"
GF_SECURITY_ADMIN_USER: "${GF_SECURITY_ADMIN_USER:-}"
networks:
- tor_net
<<: *log-config
exporter:
container_name: monerod_exporter
image: lalanza808/exporter:1.0.0
build:
context: .
dockerfile: dockerfiles/exporter
restart: unless-stopped
depends_on:
monerod:
condition: service_started
# ports:
# - 127.0.0.1:9000:9000
command:
- --monero-addr=http://monerod:${UNRESTRICTED_PORT:-18083}
networks:
- tor_net
<<: *log-config
nodemapper:
container_name: monerod_nodemapper
image: lalanza808/nodemapper:1.0.4
restart: unless-stopped
build:
context: .
dockerfile: dockerfiles/nodemapper
depends_on:
monerod:
condition: service_started
environment:
NODE_HOST: monerod
NODE_PORT: 18083
# ports:
# - 127.0.0.1:${MAPPER_PORT:-5000}:5000
networks:
- tor_net
<<: *log-config
tor:
container_name: monerod_tor
image: lalanza808/tor:1.0.0
build:
context: .
dockerfile: dockerfiles/tor
restart: unless-stopped
# ports:
# - 127.0.0.1:9050:9050
volumes:
- tor:/var/lib/tor/monerod
networks:
tor_net:
ipv4_address: 172.31.255.250
<<: *log-config
i2p:
container_name: monerod_i2p
image: lalanza808/i2p:1.0.0
build:
context: .
dockerfile: dockerfiles/i2p
restart: unless-stopped
# ports:
# - 127.0.0.1:4447:4447
# - 127.0.0.1:4444:4444
networks:
tor_net:
ipv4_address: 172.31.255.251
<<: *log-config
monerod:
container_name: monerod
image: lalanza808/monero:v0.18.4.0
build:
context: .
dockerfile: dockerfiles/monero
restart: unless-stopped
volumes:
- ${DATA_DIR:-./data}:/data
- tor:/var/lib/tor/monerod:ro
ports:
- ${P2P_PORT:-18080}:18080 # p2p
- ${RESTRICTED_PORT:-18081}:18081 # restricted rpc
- 127.0.0.1:${ZMQ_PORT:-18082}:18082 # zmq
- 127.0.0.1:${UNRESTRICTED_PORT:-18083}:18083 # unrestricted rpc
networks:
- tor_net
command:
- /entrypoint.sh
<<: *log-config