182 lines
3.8 KiB
YAML
182 lines
3.8 KiB
YAML
version: "3.7"
|
|
|
|
x-logging: &default-logging
|
|
driver: json-file
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
networks:
|
|
shared:
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: 10.10.10.0/24
|
|
|
|
services:
|
|
sia:
|
|
build:
|
|
context: ./docker/sia
|
|
dockerfile: Dockerfile
|
|
args:
|
|
branch: portal-latest
|
|
container_name: sia
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
environment:
|
|
- SIA_MODULES=gctwra
|
|
- SKYD_DISK_CACHE_ENABLED=false
|
|
- SKYD_DISK_CACHE_SIZE=53690000000 # 50GB
|
|
- SKYD_DISK_CACHE_MIN_HITS=3
|
|
- SKYD_DISK_CACHE_HIT_PERIOD=3600 # 1h
|
|
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- ./docker/data/sia:/sia-data
|
|
networks:
|
|
shared:
|
|
ipv4_address: 10.10.10.10
|
|
expose:
|
|
- 9980
|
|
|
|
caddy:
|
|
build:
|
|
context: ./docker/caddy
|
|
dockerfile: Dockerfile
|
|
container_name: caddy
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- ./docker/data/caddy/data:/data
|
|
- ./docker/data/caddy/config:/config
|
|
networks:
|
|
shared:
|
|
ipv4_address: 10.10.10.20
|
|
|
|
nginx:
|
|
build:
|
|
context: ./docker/nginx
|
|
dockerfile: Dockerfile
|
|
container_name: nginx
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- ./docker/data/nginx/cache:/data/nginx/cache
|
|
- ./docker/data/nginx/blocker:/data/nginx/blocker
|
|
- ./docker/data/nginx/logs:/usr/local/openresty/nginx/logs
|
|
- ./docker/data/nginx/skynet:/data/nginx/skynet:ro
|
|
- ./docker/data/sia/apipassword:/data/sia/apipassword:ro
|
|
- ./docker/data/caddy/data:/data/caddy:ro
|
|
networks:
|
|
shared:
|
|
ipv4_address: 10.10.10.30
|
|
ports:
|
|
- "443:443"
|
|
- "80:80"
|
|
depends_on:
|
|
- sia
|
|
- caddy
|
|
- handshake-api
|
|
- dnslink-api
|
|
- website
|
|
|
|
website:
|
|
build:
|
|
context: ./packages/website
|
|
dockerfile: Dockerfile
|
|
container_name: website
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
env_file:
|
|
- .env
|
|
networks:
|
|
shared:
|
|
ipv4_address: 10.10.10.35
|
|
expose:
|
|
- 9000
|
|
|
|
handshake:
|
|
build:
|
|
context: ./docker/handshake
|
|
dockerfile: Dockerfile
|
|
command: --chain-migrate=2 --wallet-migrate=1
|
|
container_name: handshake
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
environment:
|
|
- HSD_LOG_CONSOLE=false
|
|
- HSD_HTTP_HOST=0.0.0.0
|
|
- HSD_NETWORK=main
|
|
- HSD_PORT=12037
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- ./docker/data/handshake/.hsd:/root/.hsd
|
|
networks:
|
|
shared:
|
|
ipv4_address: 10.10.10.40
|
|
expose:
|
|
- 12037
|
|
|
|
handshake-api:
|
|
build:
|
|
context: ./packages/handshake-api
|
|
dockerfile: Dockerfile
|
|
container_name: handshake-api
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
environment:
|
|
- HOSTNAME=0.0.0.0
|
|
- HSD_HOST=handshake
|
|
- HSD_NETWORK=main
|
|
- HSD_PORT=12037
|
|
env_file:
|
|
- .env
|
|
networks:
|
|
shared:
|
|
ipv4_address: 10.10.10.50
|
|
expose:
|
|
- 3100
|
|
depends_on:
|
|
- handshake
|
|
|
|
dnslink-api:
|
|
build:
|
|
context: ./packages/dnslink-api
|
|
dockerfile: Dockerfile
|
|
container_name: dnslink-api
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
networks:
|
|
shared:
|
|
ipv4_address: 10.10.10.55
|
|
expose:
|
|
- 3100
|
|
|
|
health-check:
|
|
build:
|
|
context: ./packages/health-check
|
|
dockerfile: Dockerfile
|
|
container_name: health-check
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
volumes:
|
|
- ./docker/data/health-check/state:/usr/app/state
|
|
networks:
|
|
shared:
|
|
ipv4_address: 10.10.10.60
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- HOSTNAME=0.0.0.0
|
|
- STATE_DIR=/usr/app/state
|
|
expose:
|
|
- 3100
|
|
depends_on:
|
|
- caddy
|