github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/misc/deployments/staging.gno.land/docker-compose.yml (about)

     1  version: "2"
     2  
     3  services:
     4    gnoland:
     5      container_name: gnoland
     6      build: ../../..
     7      environment:
     8        - VIRTUAL_HOST=rpc.staging.gno.land
     9        - VIRTUAL_PORT=36657
    10        - LETSENCRYPT_HOST=rpc.staging.gno.land
    11        - LOG_LEVEL=4
    12      working_dir: /opt/gno/src/gno.land
    13      command:
    14        - gnoland
    15        - start
    16        - --skip-failing-genesis-txs
    17        - --chainid=staging
    18        - --genesis-remote=staging.gno.land:36657
    19      volumes:
    20        - "./data/gnoland:/opt/gno/src/gno.land/gnoland-data"
    21      ports:
    22        - 36656:36656
    23        - 36657:36657
    24      restart: on-failure
    25      logging:
    26        driver: "json-file"
    27        options:
    28          max-file: "10"
    29          max-size: "100m"
    30  
    31    gnoweb:
    32      container_name: gnoweb
    33      build: ../../..
    34      command:
    35        - gnoweb
    36        - --bind=0.0.0.0:80
    37        - --remote=gnoland:36657
    38        - --captcha-site=$RECAPTCHA_SITE_KEY
    39        - --faucet-url=https://faucet-staging.gno.land/
    40        - --help-chainid=staging
    41        - --help-remote=staging.gno.land:36657
    42        - --with-analytics
    43      volumes:
    44        - "./overlay:/overlay:ro"
    45      links:
    46        - gnoland
    47      environment:
    48        - VIRTUAL_HOST=staging.gno.land
    49        - LETSENCRYPT_HOST=staging.gno.land
    50        # from .env
    51        - RECAPTCHA_SITE_KEY
    52      restart: on-failure
    53      logging:
    54        driver: "json-file"
    55        options:
    56          max-file: "10"
    57          max-size: "100m"
    58  
    59    gnofaucet:
    60      container_name: gnofaucet
    61      build: ../../..
    62      command: sh -xc "
    63          date &&
    64          mkdir -p /.gno &&
    65          expect -c \"set timeout -1; spawn gnokey add --home /.gno/ --recover faucet; expect \\\"Enter a passphrase\\\"; send \\\"$GNOKEY_PASS\\r\\\"; expect \\\"Repeat the passphrase\\\"; send \\\"$GNOKEY_PASS\\r\\\"; expect \\\"Enter your bip39 mnemonic\\\"; send \\\"$FAUCET_WORDS\\r\\\"; expect eof\" &&
    66          while true; do
    67            expect -c \"set timeout -1; spawn gnofaucet serve --send 50000000ugnot --captcha-secret \\\"$RECAPTCHA_SECRET_KEY\\\" --remote gnoland:36657 --chain-id staging --home /.gno/ faucet; expect \\\"Enter password\\\"; send \\\"$GNOKEY_PASS\\r\\\"; expect eof\";
    68            sleep 5;
    69          done
    70        "
    71      links:
    72        - gnoland
    73      environment:
    74        - VIRTUAL_HOST=faucet-staging.gno.land
    75        - VIRTUAL_PORT=5050
    76        - LETSENCRYPT_HOST=faucet-staging.gno.land
    77        # from .env
    78        - RECAPTCHA_SECRET_KEY
    79        - FAUCET_WORDS
    80        - GNOKEY_PASS
    81      ports:
    82        - 5050
    83      restart: on-failure
    84      logging:
    85        driver: "json-file"
    86        options:
    87          max-file: "10"
    88          max-size: "100m"
    89  
    90    nginx-proxy:
    91      image: nginxproxy/nginx-proxy
    92      container_name: nginx-proxy
    93      ports:
    94        - "80:80"
    95        - "443:443"
    96      volumes:
    97        - conf:/etc/nginx/conf.d
    98        - vhost:/etc/nginx/vhost.d
    99        - html:/usr/share/nginx/html
   100        - certs:/etc/nginx/certs:ro
   101        - /var/run/docker.sock:/tmp/docker.sock:ro
   102      logging:
   103        driver: "json-file"
   104        options:
   105          max-file: "10"
   106          max-size: "100m"
   107  
   108    acme-companion:
   109      image: nginxproxy/acme-companion
   110      container_name: nginx-proxy-acme
   111      environment:
   112        - DEFAULT_EMAIL=noreply@gno.land
   113      volumes_from:
   114        - nginx-proxy
   115      volumes:
   116        - certs:/etc/nginx/certs:rw
   117        - acme:/etc/acme.sh
   118        - /var/run/docker.sock:/var/run/docker.sock:ro
   119      logging:
   120        driver: "json-file"
   121        options:
   122          max-file: "10"
   123          max-size: "100m"
   124  
   125  volumes:
   126    conf:
   127    vhost:
   128    html:
   129    certs:
   130    acme: