This repository has been archived on 2022-10-07. You can view files and clone it, but cannot push or open issues or pull requests.
skynet-webportal/docker-compose.yml

225 lines
4.7 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=gctwr
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/nginx/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf:ro
- ./docker/data/nginx/cache:/data/nginx/cache
- ./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
- ipfs-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=1 --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
ipfs-node:
image: ipfs/go-ipfs
container_name: ipfs-node
restart: unless-stopped
logging: *default-logging
environment:
- IPFS_PROFILE=server
networks:
shared:
ipv4_address: 10.10.10.57
ipfs-api:
build:
context: ./packages/ipfs-api
dockerfile: Dockerfile
container_name: ipfs-api
restart: unless-stopped
logging: *default-logging
env_file:
- .env
networks:
shared:
ipv4_address: 10.10.10.58
expose:
- 3100
depends_on:
- ipfs-mongo
ipfs-mongo:
image: mongo:4.4.1
container_name: ipfs-mongo
restart: unless-stopped
logging: *default-logging
env_file:
- .env
environment:
- MONGO_INITDB_ROOT_USERNAME=${IPFS_MONGO_USERNAME}
- MONGO_INITDB_ROOT_PASSWORD=${IPFS_MONGO_PASSWORD}
- MONGO_INITDB_DATABASE=ipfs-to-skynet
volumes:
- ./docker/data/ipfs-mongo/db:/data/db
networks:
shared:
ipv4_address: 10.10.10.59
expose:
- 27017