1257 lines
43 KiB
YAML
1257 lines
43 KiB
YAML
#version: "3.9"
|
|
|
|
networks:
|
|
dockernet:
|
|
external: true
|
|
name: dockernet
|
|
|
|
# dockernet_stun:
|
|
# external: true
|
|
# name: dockernet_stun
|
|
|
|
services:
|
|
pihole:
|
|
# user: 1000:1000
|
|
container_name: pihole
|
|
# dns_opt:
|
|
# - ndots:15
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
hostname: dns-dcr.lua.net
|
|
build:
|
|
context: ./docker-pi-hole/src
|
|
# image: pihole/pihole:nightly
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.200
|
|
ipv6_address: 2001:db8:15::200
|
|
environment:
|
|
TZ: 'America/Araguaina'
|
|
FTLCONF_webserver_api_password: '34641747'
|
|
FTLCONF_dns_upstreams: '8.8.8.8;8.8.4.4;1.1.1.1;189.38.95.95;208.67.220.220'
|
|
FTLCONF_webserver_port: '80'
|
|
VIRTUAL_HOST: 'dns-cloud.doninet.net'
|
|
FTLCONF_dns_dnssec: 'true'
|
|
volumes:
|
|
- './docker/pi-hole/etc-pihole/:/etc/pihole/'
|
|
- './docker/pi-hole/etc-dnsmasq.d/:/etc/dnsmasq.d/'
|
|
- '/var/run/docker.sock:/tmp/docker.sock:ro'
|
|
dns:
|
|
- 8.8.8.8
|
|
- 8.8.4.4
|
|
- 208.67.222.222
|
|
- 1.1.1.1
|
|
restart: unless-stopped
|
|
cap_add:
|
|
- NET_ADMIN
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_slow_start_after_idle=0
|
|
- net.ipv4.tcp_no_metrics_save=1
|
|
|
|
zabbix-server:
|
|
#user: 1000:1000
|
|
image: zabbix/zabbix-server-mysql:alpine-latest
|
|
container_name: zabbix-server
|
|
restart: always
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- ./docker/zabbix:/etc/zabbix
|
|
environment:
|
|
- DB_SERVER_HOST=10.15.0.42
|
|
- MYSQL_USER=root
|
|
- MYSQL_PASSWORD=34641747
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.66
|
|
ipv6_address: 2001:db8:15::66
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_slow_start_after_idle=0
|
|
- net.ipv4.tcp_no_metrics_save=1
|
|
|
|
# docker-compose para frontend do zabbix server 4.0 (mysql) em php, utilizando como base nginx. Da mesma forma, utiliza macvlan para se conectar à rede.
|
|
|
|
zabbix-web-nginx-mysql:
|
|
#user: 1000:1000
|
|
image: zabbix/zabbix-web-nginx-mysql:alpine-latest
|
|
restart: always
|
|
container_name: zabbix-web
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /etc/timezone:/etc/timezone:ro
|
|
environment:
|
|
- DB_SERVER_HOST=10.15.0.42
|
|
- MYSQL_USER=root
|
|
- MYSQL_PASSWORD=34641747
|
|
- VIRTUAL_HOST=zabbix.doninet.net
|
|
- VIRTUAL_PORT=8080
|
|
- ZBX_SERVER_HOST=10.15.0.66
|
|
- PHP_TZ=America/Araguaina
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.215
|
|
ipv6_address: 2001:db8:15::215
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_slow_start_after_idle=0
|
|
- net.ipv4.tcp_no_metrics_save=1
|
|
|
|
mariadb:
|
|
#user: 1000:1000
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '1'
|
|
memory: 3G
|
|
reservations:
|
|
cpus: '0.5'
|
|
memory: 1G
|
|
image: mariadb:latest
|
|
container_name: mariadb
|
|
restart: 'always'
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.42
|
|
ipv6_address: 2001:db8:15::42
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: 34641747
|
|
# command: ['--innodb_read_only_compressed=OFF --innodb_buffer_pool_size=1G --innodb_log_file_size=256M --max_connections=500 --query_cache_size=128M']
|
|
command: [
|
|
'--innodb_read_only_compressed=OFF',
|
|
'--innodb_buffer_pool_size=2G',
|
|
'--innodb_log_file_size=256M',
|
|
'--max_connections=500',
|
|
'--query_cache_size=128M',
|
|
'--innodb_flush_log_at_trx_commit=2',
|
|
'--innodb_flush_method=O_DIRECT',
|
|
'--innodb_io_capacity=1000',
|
|
'--innodb_io_capacity_max=2000'
|
|
]
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- ./docker/database:/var/lib/mysql
|
|
- ./docker/mariadb/mariadb.conf.d/:/etc/mysql/mariadb.conf.d
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.core.somaxconn=2048
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_max_syn_backlog=65536
|
|
|
|
advx:
|
|
container_name: advx
|
|
build: ./advx
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.124
|
|
environment:
|
|
- DATABASE_URL=postgresql://advx:102030Rod@postgres:5432/advx
|
|
- PUPPETEER_PRODUCT=firefox
|
|
- DATABASE_HOST=postgres
|
|
- DATABASE_PORT=5432
|
|
- DATABASE_USER=advx
|
|
- LETSENCRYPT_HOST=advx.martinsevieira.adv.br
|
|
- FRONTEND_URL=https://advx.martinsevieira.adv.br
|
|
- PUBLIC_URL=https://advx.martinsevieira.adv.br/public
|
|
- BACKEND_URL=https://advx.martinsevieira.adv.br/api
|
|
- CORS_ORIGIN=https://advx.martinsevieira.adv.br
|
|
- DATABASE_PASSWORD=102030Rod
|
|
- JWT_SECRET=c05fb5a5ca9c920fc1eb25f264f376c0c45f1eabe081b499e0a5802f605c876b3a971eb33fa04f0032ecfd3d5f118f49309bda919d196ef7382d36c1759cdaccb352744432ae997bf8237f946efaa668a8337e0d4a9945c4b642ab3f40a3173294ec6a8a81d5b456dfe0c1b2f7732d20ac62b5d68be271cdea80fc630ee6f804217312e1265462fff6fd053bdc07317387c9cb50f052a183e0da72e67cfa0ac8e63a3b7a5441efcbbaa982c9db020d56becde8a0c24b15187c49f1639f88b106fb2ed23a38b538aaf6c7e0f6069bf7a3b837e81541867caa9c2fef9c828a58a2f92e91de0a3f522f8059f1c2c2834686ff2a17c003a1406d3ae1ff0ef6be404c
|
|
- REDIS_HOST=redis
|
|
- REDIS_PORT=6379
|
|
- VITE_NEXTCLOUD_URL=https://cloud.martinsevieira.adv.br/remote.php/dav/files/rodrigo/CLIENTES
|
|
- VITE_NEXTCLOUD_USER=rodrigo
|
|
- VITE_NEXTCLOUD_PASS=34641747
|
|
- VITE_TINYMCE_API_KEY=z89f562l976zmlvh8e1ybq89lvosje16hclpx56kor9kajit
|
|
- VITE_DATAJUD_API_KEY=cDZHYzlZa0JadVREZDJCendQbXY6SkJlTzNjLV9TRENyQk1RdnFKZGRQdw==
|
|
- DATAJUD_API_KEY=cDZHYzlZa0JadVREZDJCendQbXY6SkJlTzNjLV9TRENyQk1RdnFKZGRQdw==
|
|
- VITE_API_URL=https://advx.martinsevieira.adv.br/api
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
volumes:
|
|
- ./adv/storage:/usr/src/app/storage
|
|
- ./adv/uploads:/usr/src/app/public/uploads
|
|
- ./adv/public/uploads:/usr/src/app/public/uploads
|
|
- ./adv/logs:/usr/src/app/logs
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_slow_start_after_idle=0
|
|
- net.ipv4.tcp_no_metrics_save=1
|
|
|
|
gitea:
|
|
image: gitea/gitea:latest
|
|
container_name: gitea
|
|
environment:
|
|
- USER_UID=1000
|
|
- USER_GID=1000
|
|
- GITEA_HOSTNAME=git.doninet.net
|
|
- GITEA_WEB_PORT=80
|
|
- GITEA_SSH_PORT=22
|
|
- GITEA_database_DB_TYPE=mysql
|
|
- GITEA__database__HOST=10.15.0.42:3306
|
|
- GITEA__database__NAME=gitea
|
|
- GITEA__database__USER=root
|
|
- GITEA__database__PASSWD=34641747
|
|
- MYSQL_DATABASE=gitea
|
|
- MYSQL_PASSWORD=34641747
|
|
- MYSQL_USER=root
|
|
- MYSQL_HOST=10.15.0.42
|
|
- MYSQL_ROOT_PASSWORD=34641747
|
|
volumes:
|
|
- ./docker/gitea:/data
|
|
restart: unless-stopped
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.12
|
|
ipv6_address: 2001:db8:15::12
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_slow_start_after_idle=0
|
|
- net.ipv4.tcp_no_metrics_save=1
|
|
|
|
nginx:
|
|
build: ./docker-nginx-http3-quictls
|
|
# image: nginxproxy/nginx-proxy
|
|
container_name: nginx
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '4'
|
|
memory: 2G
|
|
reservations:
|
|
cpus: '0.5'
|
|
memory: 1G
|
|
restart: 'always'
|
|
user: root
|
|
#user: 1000:1000
|
|
# expose:
|
|
# - 80
|
|
# - 443
|
|
# - 22
|
|
# ports:
|
|
# - "80:80"
|
|
# - "443:443"
|
|
# - "22:22"
|
|
environment:
|
|
TZ: "America/Araguaina"
|
|
LETSENCRYPT_HOST: "www.giganetto.com.br, brasilianetto.com.br"
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.45
|
|
ipv6_address: 2001:db8:15::45
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
# - ./docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
|
|
# - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
|
|
- ./docker/nginx/nextcloud:/var/www/nextcloud
|
|
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
|
- ./docker/nginx/sites:/etc/nginx/conf.d
|
|
# - ./docker/nginx/logs:/var/log/nginx
|
|
- ./docker/nginx/html:/usr/share/nginx/html
|
|
- ./docker/nginx/certs:/etc/nginx/certs:ro
|
|
- ./docker/nginx/dhparam:/etc/nginx/dhparam
|
|
# - ./docker/nginx/vhost.d:/etc/nginx/vhost.d
|
|
- ./docker/nginx/web:/web
|
|
- ./docker/nginx/bio:/bio
|
|
- ./docker/nginx/giganet:/giganet
|
|
- ./docker/nginx/brasilianet:/brasilianet
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
# - /var/log/nginx:/var/log/nginx
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.core.somaxconn=2048
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_max_syn_backlog=65536
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_slow_start_after_idle=0
|
|
- net.ipv4.tcp_no_metrics_save=1
|
|
ulimits:
|
|
nproc: 65535
|
|
nofile:
|
|
soft: 65535
|
|
hard: 65535
|
|
cap_add:
|
|
# https://man7.org/linux/man-pages/man7/capabilities.7.html
|
|
# SYS_ADMIN removido junto com "privileged: true" — praticamente
|
|
# equivale a root no host. BPF+NET_ADMIN+PERFMON já cobrem o que o
|
|
# sockmap eBPF do nginx (sockhash pinado nos PIDs do nginx) precisa.
|
|
# Se algo quebrar (ex: carregar/anexar o programa de dentro do
|
|
# container), o passo mais provável que falta é BPF_TOKEN via
|
|
# bpffs montado, não SYS_ADMIN de volta.
|
|
- BPF
|
|
- NET_ADMIN
|
|
- PERFMON
|
|
|
|
acme-companion:
|
|
#user: 1000:1000
|
|
image: nginxproxy/acme-companion
|
|
container_name: acme-companion
|
|
restart: always
|
|
depends_on:
|
|
- nginx
|
|
volumes:
|
|
- ./docker/nginx/vhost.d:/etc/nginx/vhost.d
|
|
- ./docker/nginx/html:/usr/share/nginx/html
|
|
- ./docker/nginx/dhparam:/etc/nginx/dhparam
|
|
- ./docker/nginx/certs:/etc/nginx/certs
|
|
- ./docker/acme:/etc/acme.sh
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
environment:
|
|
- NGINX_PROXY_CONTAINER=nginx-gen
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.74
|
|
ipv6_address: 2001:db8:15::74
|
|
|
|
postgres:
|
|
#user: 1000:1000
|
|
container_name: postgres
|
|
build: ./psql
|
|
# image: postgres:16-alpine
|
|
volumes:
|
|
- ./docker/postgresql:/var/lib/postgresql/data
|
|
environment:
|
|
- LETSENCRYPT_HOST=bio.martinsevieira.adv.br
|
|
- POSTGRES_USER=${POSTGRES_USER:-ticketz}
|
|
- POSTGRES_DB=${POSTGRES_DB:-ticketz}
|
|
- POSTGRES_HOST_AUTH_METHOD=trust
|
|
- TZ=${TZ:-America/Araguaina}
|
|
expose:
|
|
- 5432
|
|
restart: always
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.54
|
|
ipv6_address: 2001:db8:15::54
|
|
command: >-
|
|
postgres
|
|
-c shared_buffers=1GB
|
|
-c effective_cache_size=3GB
|
|
-c maintenance_work_mem=256MB
|
|
-c work_mem=16MB
|
|
-c max_parallel_workers_per_gather=2
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
# - net.ipv6.conf.all.disable_ipv6=1
|
|
# - net.ipv6.conf.all.forwarding=0
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_slow_start_after_idle=0
|
|
- net.ipv4.tcp_no_metrics_save=1
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '1'
|
|
memory: 3G
|
|
reservations:
|
|
cpus: '0.5'
|
|
memory: 1G
|
|
|
|
redis:
|
|
#user: 1000:1000
|
|
image: redis:7-alpine
|
|
# command: redis-server --appendonly yes
|
|
container_name: redis
|
|
command: >
|
|
redis-server
|
|
--appendonly yes
|
|
--maxmemory 1gb
|
|
--maxmemory-policy allkeys-lru
|
|
--save 900 1
|
|
--save 300 10
|
|
--save 60 10000
|
|
expose:
|
|
- 6379
|
|
restart: always
|
|
volumes:
|
|
- ./docker/redis:/data
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.55
|
|
ipv6_address: 2001:db8:15::55
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_max_syn_backlog=65536
|
|
# - net.ipv6.conf.all.disable_ipv6=1
|
|
# - net.ipv6.conf.all.forwarding=0
|
|
- net.ipv4.tcp_slow_start_after_idle=0
|
|
- net.ipv4.tcp_no_metrics_save=1
|
|
ulimits:
|
|
nproc: 65535
|
|
nofile:
|
|
soft: 65535
|
|
hard: 65535
|
|
|
|
nextcloud:
|
|
container_name: nextcloud
|
|
build: ./nextcloud-docker/app
|
|
#user: 1000:1000
|
|
dns:
|
|
- 10.15.0.200
|
|
- 8.8.8.8
|
|
- 1.1.1.1
|
|
depends_on:
|
|
- mariadb
|
|
- redis
|
|
environment:
|
|
# database
|
|
- MYSQL_DATABASE=nextcloud
|
|
- MYSQL_HOST=10.15.0.42
|
|
- MYSQL_USER=nextcloud
|
|
- MYSQL_PASSWORD=@102030Rod
|
|
# redis
|
|
- REDIS_HOST=10.15.0.55
|
|
- LETSENCRYPT_HOST=cloud.martinsevieira.adv.br
|
|
- LETSENCRYPT_EMAIL=rodrigo@martinsevieira.adv.br
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "php -r 'exit(0);'"]
|
|
interval: 60s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 120s
|
|
restart: always
|
|
volumes:
|
|
- ./docker/nginx/nextcloud:/var/www/html
|
|
# - ./nextcloud/php:/usr/local/etc/php
|
|
- ./nextcloud/scripts:/script
|
|
- ./docker/resolv.conf:/etc/resolv.conf:ro
|
|
- ./docker/hosts:/etc/hosts:ro
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.177
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_max_syn_backlog=65536
|
|
- net.ipv4.tcp_slow_start_after_idle=0
|
|
- net.ipv4.tcp_no_metrics_save=1
|
|
ulimits:
|
|
nproc: 65535
|
|
nofile:
|
|
soft: 65535
|
|
hard: 65535
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 8G
|
|
|
|
cron:
|
|
#user: 1000:1000
|
|
container_name: nextcloud-cron
|
|
build: ./nextcloud-docker/app/cron
|
|
depends_on:
|
|
- mariadb
|
|
- redis
|
|
entrypoint: /cron.sh
|
|
restart: always
|
|
volumes:
|
|
- ./docker/nginx/nextcloud:/var/www/html
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.178
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 256M
|
|
|
|
notify-push:
|
|
container_name: nextcloud-notify-push
|
|
build: ./nextcloud-docker/app
|
|
entrypoint: sh -c "until [ -f /var/www/html/custom_apps/notify_push/bin/aarch64/notify_push ]; do sleep 5; done && chmod +x /var/www/html/custom_apps/notify_push/bin/aarch64/notify_push && /var/www/html/custom_apps/notify_push/bin/aarch64/notify_push /var/www/html/config/config.php"
|
|
depends_on:
|
|
- nextcloud
|
|
- mariadb
|
|
- redis
|
|
environment:
|
|
- PORT=7867
|
|
- NEXTCLOUD_URL=https://cloud.martinsevieira.adv.br
|
|
restart: always
|
|
volumes:
|
|
- ./docker/nginx/nextcloud:/var/www/html
|
|
- ./docker/resolv.conf:/etc/resolv.conf:ro
|
|
- ./docker/hosts:/etc/hosts:ro
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.179
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 128M
|
|
|
|
onlyoffice:
|
|
build:
|
|
context: ./office
|
|
restart: unless-stopped
|
|
container_name: onlyoffice
|
|
depends_on:
|
|
- postgres
|
|
- onlyoffice-rabbitmq
|
|
- nextcloud
|
|
- nginx
|
|
environment:
|
|
- DB_TYPE=postgres
|
|
- DB_HOST=postgres
|
|
- DB_PORT=5432
|
|
- DB_NAME=onlyoffice
|
|
- DB_USER=onlyoffice
|
|
- AMQP_URI=amqp://rabbitmq:rabbitmq@10.15.0.212/?frameMax=0
|
|
# Uncomment strings below to enable the JSON Web Token validation.
|
|
- JWT_ENABLED=true
|
|
- JWT_HEADER=Authorization
|
|
- JWT_IN_BODY=true
|
|
- JWT_SECRET=@203050Rod
|
|
- LETSENCRYPT_HOST=office.martinsevieira.adv.br
|
|
stdin_open: true
|
|
stop_grace_period: 60s
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.211
|
|
volumes:
|
|
- ./docker/onlyoffice/data:/var/www/onlyoffice/Data
|
|
- ./docker/onlyoffice/log:/var/log/onlyoffice
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.core.somaxconn=2048
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_max_syn_backlog=65536
|
|
ulimits:
|
|
nproc: 65535
|
|
nofile:
|
|
soft: 65535
|
|
hard: 65535
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 768M
|
|
|
|
onlyoffice-rabbitmq:
|
|
container_name: rabbitmq
|
|
image: rabbitmq
|
|
environment:
|
|
RABBITMQ_DEFAULT_USER: "rabbitmq"
|
|
RABBITMQ_DEFAULT_PASS: "rabbitmq"
|
|
RABBITMQ_DEFAULT_VHOST: "/"
|
|
restart: always
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.212
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.core.somaxconn=2048
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_max_syn_backlog=65536
|
|
ulimits:
|
|
nproc: 65535
|
|
nofile:
|
|
soft: 65535
|
|
hard: 65535
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 768M
|
|
|
|
# openproject:
|
|
# image: openproject/openproject:14
|
|
# container_name: openproject
|
|
# depends_on:
|
|
# - nginx
|
|
# - nextcloud
|
|
# dns:
|
|
# - 8.8.8.8
|
|
# - 8.8.4.4
|
|
# environment:
|
|
# EMAIL_DELIVERY_METHOD: smtp
|
|
# SMTP_ADDRESS: smtps.uhserver.com
|
|
# SMTP_PORT: 465
|
|
# SMTP_DOMAIN: "martinsevieira.adv.br"
|
|
# SMTP_AUTHENTICATION: login
|
|
## SMTP_ENABLE_STARTTLS_AUTO: "true"
|
|
# SMTP_USER_NAME: "escritorio@martinsevieira.adv.br"
|
|
# SMTP_PASSWORD: "102030Rod"
|
|
# OPENPROJECT_HTTPS: true
|
|
# OPENPROJECT_DEFAULT__LANGUAGE: pt-BR
|
|
# OPENPROJECT_SECRET_KEY_BASE: "@102030Rod"
|
|
# LETSENCRYPT_HOST: "projeto.martinsevieira.adv.br"
|
|
# LETSENCRYPT_EMAIL: "escritorio@martinsevieira.adv.br"
|
|
# USE_PUMA: true
|
|
# RAILS_MIN_THREADS: 2
|
|
# RAILS_MAX_THREADS: 4
|
|
# IMAP_SSL: true
|
|
# IMAP_SSL_VERIFICATION: true
|
|
# IMAP_PORT: 993
|
|
# IMAP_HOST: imap.uhserver.com
|
|
# IMAP_USERNAME: "escritorio@martinsevieira.adv.br"
|
|
# IMAP_PASSWORD: "@102030Rod"
|
|
# networks:
|
|
# dockernet:
|
|
# ipv4_address: 10.15.0.218
|
|
# ipv6_address: 2001:db8:15::218
|
|
# ulimits:
|
|
# nproc: 65535
|
|
# nofile:
|
|
# soft: 65535
|
|
# hard: 65535
|
|
# volumes:
|
|
# - ./docker/openproject/pgdata:/var/openproject/pgdata
|
|
# - ./docker/openproject/logs:/var/log/supervisor
|
|
# - ./docker/openproject/static:/var/openproject/assets
|
|
# - ./docker/openproject/enterprise_token.rb:/app/app/models/enterprise_token.rb:ro
|
|
# deploy:
|
|
# resources:
|
|
# limits:
|
|
# memory: 1G
|
|
|
|
|
|
kms:
|
|
build: ./kms
|
|
environment:
|
|
TZ: America/Araguaina
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.246
|
|
ipv6_address: 2001:db8:15::246
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 256m
|
|
restart: unless-stopped
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_max_syn_backlog=65536
|
|
|
|
nginx-gen:
|
|
image: nginxproxy/nginx-proxy
|
|
container_name: nginx-gen
|
|
restart: 'always'
|
|
#user: 1000:1000
|
|
environment:
|
|
TZ: "America/Araguaina"
|
|
# LETSENCRYPT_HOST: "pit.martinsevieira.adv.br"
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.48
|
|
ipv6_address: 2001:db8:15::48
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- ./docker/nginx/certs:/etc/nginx/certs:ro
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_slow_start_after_idle=0
|
|
- net.ipv4.tcp_no_metrics_save=1
|
|
|
|
|
|
telegram-bot:
|
|
build: ./rodrigonet
|
|
container_name: bot-ajuda-telegram
|
|
restart: unless-stopped
|
|
environment:
|
|
# Token do Bot do Telegram
|
|
- TELEGRAM_BOT_TOKEN=7673419014:AAGK7HNBYMMWl-bTNc5VBAl4FDLutMBx7pc
|
|
# Configurações do bot
|
|
- BOT_DEBUG=true
|
|
- NODE_ENV=production
|
|
# Usuários autorizados
|
|
- ALLOWED_USERS=593272271
|
|
- GUARAI_ALLOWED_USERS=1676175142,7222689324,5807598773,8360691637,8667337941,5244062341,8668809965
|
|
- PEDRO_AFONSO_ALLOWED_USERS=8105351046,8413938070
|
|
# Volumes para logs persistentes
|
|
- TOPSAPP_GUARAI_HOST=131.0.192.6
|
|
- TOPSAPP_GUARAI_USER=rodrigo
|
|
- TOPSAPP_GUARAI_PASS=2014Melancia
|
|
- TOPSAPP_PEDRO_AFONSO_HOST=45.189.140.18
|
|
- TOPSAPP_PEDRO_AFONSO_USER=rodrigo
|
|
- TOPSAPP_PEDRO_AFONSO_PASS=34641747
|
|
- JUNIPER_PEDRO_AFONSO_HOST=45.189.140.2
|
|
- JUNIPER_PEDRO_AFONSO_USER=rodrigo
|
|
- JUNIPER_PEDRO_AFONSO_PASS=2311@Goiania#2017
|
|
- JUNIPER_GUARAI_HOST=131.0.192.254
|
|
- JUNIPER_GUARAI_USER=rodrigo
|
|
- JUNIPER_GUARAI_PASS=@102030Rod
|
|
- TZ=America/Araguaina
|
|
- GENIEACS_GUARAI_URL=http://g.clicknetto.com.br
|
|
- GENIEACS_GUARAI_NBI_PORT=7557
|
|
- GENIEACS_GUARAI_USER=api
|
|
- GENIEACS_GUARAI_PASS=34641747
|
|
volumes:
|
|
- ./logs:/app/logs
|
|
|
|
# Health check
|
|
healthcheck:
|
|
test: ["CMD", "node", "-e", "console.log('Bot is running')"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
# Limites de recursos
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
cpus: '0.5'
|
|
reservations:
|
|
memory: 256M
|
|
cpus: '0.25'
|
|
|
|
# Logs
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.119
|
|
|
|
grafana:
|
|
#user: 1000:1000
|
|
image: grafana/grafana
|
|
container_name: grafana
|
|
environment:
|
|
- TZ=America/Araguaina
|
|
- VIRTUAL_HOST=grafana.doninet.net
|
|
- VIRTUAL_PORT=3000
|
|
volumes:
|
|
- ./docker/grafana:/var/lib/grafana
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.110
|
|
ipv6_address: 2001:db8:15::110
|
|
restart: unless-stopped
|
|
|
|
frontend:
|
|
#user: 1000:1000
|
|
container_name: frontend
|
|
build:
|
|
context: ./ticketz/frontend
|
|
dockerfile: ./Dockerfile
|
|
env_file:
|
|
- .env-frontend-acme
|
|
environment:
|
|
- TZ=America/Araguaina
|
|
- LETSENCRYPT_HOST=chat.martinsevieira.adv.br
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- acme-companion
|
|
- backend
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.96
|
|
# ipv6_address: 2001:db8:15::96
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_slow_start_after_idle=0
|
|
- net.ipv4.tcp_no_metrics_save=1
|
|
|
|
|
|
backend:
|
|
#user: 1000:1000
|
|
container_name: backend
|
|
build:
|
|
context: ./ticketz/backend
|
|
dockerfile: ./Dockerfile
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
volumes:
|
|
- ./docker/backend_public:/usr/src/app/public
|
|
env_file:
|
|
- .env-backend-acme
|
|
environment:
|
|
- TZ=America/Araguaina
|
|
- LETSENCRYPT_HOST=api.chat.martinsevieira.adv.br
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- acme-companion
|
|
- postgres
|
|
- redis
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.70
|
|
# ipv6_address: 2001:db8:15::70
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_slow_start_after_idle=0
|
|
- net.ipv4.tcp_no_metrics_save=1
|
|
|
|
wordpress:
|
|
image: wordpress:latest
|
|
container_name: wordpress
|
|
volumes:
|
|
- ./docker/wp-content:/var/www/html/wp-content
|
|
environment:
|
|
- LETSENCRYPT_HOST=www.martinsevieira.adv.br,martinsevieira.adv.br
|
|
- WORDPRESS_DB_NAME=wordpress
|
|
- WORDPRESS_TABLE_PREFIX=wp_
|
|
- WORDPRESS_DB_HOST=10.15.0.42
|
|
- WORDPRESS_DB_USER=root
|
|
- WORDPRESS_DB_PASSWORD=34641747
|
|
- WORDPRESS_CONFIG_EXTRA=define('WP_REDIS_HOST', '10.15.0.55'); define('WP_REDIS_PORT', 6379); define('WP_REDIS_DATABASE', 1); define('WP_CACHE_KEY_SALT', 'wp_mv_adv_'); define('DISABLE_WP_CRON', true);
|
|
depends_on:
|
|
- mariadb
|
|
restart: always
|
|
networks:
|
|
dockernet:
|
|
ipv4_address: 10.15.0.84
|
|
# ipv6_address: 2001:db8:15::70
|
|
sysctls:
|
|
- net.netfilter.nf_conntrack_acct=1
|
|
- net.netfilter.nf_conntrack_checksum=1
|
|
- net.netfilter.nf_conntrack_timestamp=1
|
|
- net.netfilter.nf_conntrack_tcp_loose=1
|
|
- net.netfilter.nf_conntrack_generic_timeout=600
|
|
- net.netfilter.nf_conntrack_tcp_timeout_established=86400
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
|
|
- net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
|
|
- net.netfilter.nf_conntrack_udp_timeout=10
|
|
- net.netfilter.nf_conntrack_udp_timeout_stream=180
|
|
- net.netfilter.nf_conntrack_icmp_timeout=10
|
|
- net.netfilter.nf_conntrack_icmpv6_timeout=10
|
|
- net.ipv4.tcp_congestion_control=bbr
|
|
- net.ipv4.tcp_tw_reuse=1
|
|
- net.core.somaxconn=65535
|
|
- net.ipv4.tcp_fastopen=3
|
|
- net.ipv4.tcp_slow_start_after_idle=0
|
|
- net.ipv4.tcp_no_metrics_save=1
|
|
|
|
|
|
|
|
anatomia-db:
|
|
container_name: anatomia-db
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
TZ: 'America/Araguaina'
|
|
POSTGRES_USER: ${POSTGRES_USER:-anatomia}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-anatomia}
|
|
POSTGRES_DB: ${POSTGRES_DB:-anatomia}
|
|
volumes:
|
|
- anatomia_db_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-anatomia}"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
networks:
|
|
- dockernet
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
|
|
anatomia-api:
|
|
container_name: anatomia-api
|
|
build:
|
|
context: ./anatomia/backend
|
|
restart: unless-stopped
|
|
depends_on:
|
|
anatomia-db:
|
|
condition: service_healthy
|
|
environment:
|
|
TZ: 'America/Araguaina'
|
|
DATABASE_URL: postgresql://${POSTGRES_USER:-anatomia}:${POSTGRES_PASSWORD:-anatomia}@anatomia-db:5432/${POSTGRES_DB:-anatomia}
|
|
PORT: 3333
|
|
MODELS_DIR: /app/models
|
|
ADMIN_EMAIL: ${ADMIN_EMAIL:-rodrigo@martinsevieira.adv.br}
|
|
ADMIN_PASSWORD: ${ADMIN_PASSWORD:-34641747}
|
|
ADMIN_JWT_SECRET: ${ADMIN_JWT_SECRET:-43aca599e81c2f164b6c1b2331157217c1beca57fa49e73e55c5cc83252a53e243aca599e81c2f164b6c1b2331157217c1beca57fa49e73e55c5cc83252a53e2}
|
|
volumes:
|
|
- anatomia_models_data:/app/models:ro
|
|
networks:
|
|
- dockernet
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
|
|
anatomia-web:
|
|
container_name: anatomia-web
|
|
build:
|
|
context: ./anatomia
|
|
dockerfile: frontend/Dockerfile
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- anatomia-api
|
|
environment:
|
|
TZ: 'America/Araguaina'
|
|
# Lido pelo acme-companion (pareado com nginx-gen) para emitir/renovar
|
|
# o certificado Let's Encrypt deste domínio.
|
|
LETSENCRYPT_HOST: ${ANATOMIA_DOMAIN:-atlas.martinsevieira.adv.br}
|
|
networks:
|
|
dockernet:
|
|
# IP fixo para o vhost manual em docker/nginx/sites/*.conf poder
|
|
# apontar (proxy_pass) direto para este container, no mesmo padrão
|
|
# já usado para "frontend"/"backend" (ticketz) e "nextcloud".
|
|
# Confirme que este IP está livre em dockernet antes de subir!
|
|
ipv4_address: ${ANATOMIA_WEB_IP:-10.15.0.93}
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 256M
|
|
|
|
# One-off data pipeline: generates the seed GLB models + populates the DB.
|
|
# Run explicitly with: docker compose run --rm anatomia-pipeline
|
|
anatomia-pipeline:
|
|
container_name: anatomia-pipeline
|
|
build:
|
|
context: ./anatomia/data-pipeline
|
|
profiles: ["tools"]
|
|
depends_on:
|
|
anatomia-db:
|
|
condition: service_healthy
|
|
anatomia-api:
|
|
condition: service_started
|
|
environment:
|
|
DATABASE_URL: postgresql://${POSTGRES_USER:-anatomia}:${POSTGRES_PASSWORD:-anatomia}@anatomia-db:5432/${POSTGRES_DB:-anatomia}
|
|
volumes:
|
|
- anatomia_models_data:/app/seed/models
|
|
networks:
|
|
- dockernet
|
|
|
|
|
|
volumes:
|
|
anatomia_db_data:
|
|
anatomia_models_data:
|