# Bakery overall documentation _Tezos Node & Baker Installation on (optional) Ubuntu Linux 20.04 EC2 Server with (optional) Traefik Support_ # Features The bakery is a collection of tools that allows to setup a baker node in just a few steps. | Name | Description | | -------- | -------- | | Platform | EC2 / ~~Fargate~~ / ~~Standalone~~ | | Operating System | Ubuntu / ~~Amazon Linux~~ | | Deployment Method | docker-compose / ~~Kubernetes~~ | | Traefik Support | Optional | | Test Network | Granada | | Signer | AWS KMS / ~~Ledger~~ | | DNS Support | AWS Route53 (Optional) | ## Third Party Applications | Name | Description | | -------- | -------- | | TZKT | Enabled / Optional | | Pyrometer | Enabled / Optional | | Nautilus.Cloud Support | In Progress | | Prometheus | In Progress | | Grafana | In Progress | | Loki | In Progress | | Slack | In Progress | | Telegram | In Progress | # Installation ## 0. Prerequisites ### Requirements - python & python-pip **For EC2 Installation:** - aws-cdk (https://aws.amazon.com/cdk/) - AWS Account - AWS PEM - AWS KMS (Soft Signer / for more information: https://gitlab.com/equisafe/tezos-kms-docker) ## 1. Setup server Please run `"python configure.py"` first or create/edit your **config.ini** file. **!!! do not upload your config files anywhere** Example config.ini file: ``` [CONFIGFILE] configured = False [DEPLOYMENT] platform = ec2 method = docker-compose traefik_enable = True traefik_email = CHANGE ME!!! [EMAIL] enabled = true host = CHANGE ME!!! port = CHANGE ME!!! username = CHANGE ME!!! password = CHANGE ME!!! to = CHANGE ME!!! [TEZOS] platform = testnet type = public baker_name = CHANGE ME!!! snapshot_mode = rolling snapshot_url = CHANGE ME!!! [THIRD PARTY] enable_tzkt = True enable_pyrometer = True [AWS] aws_account_id = CHANGE ME!!! aws_region = CHANGE ME!!! aws_termination_protection = True aws_ssh_key_name = YOUR SSH KEY KEY (CHANGE ME!!!) on AWS aws_iam_user = CHANGE ME!!! aws_iam_user_key = CHANGE ME!!! aws_instance_type = t3.large aws_instance_volume_size = 150 aws_instance_os = Ubuntu aws_instance_ami = CHANGE ME!!! [NETWORK] new_vpc = True vpc_id = CHANGE ME!!! security_group_id = CHANGE ME!!! [DNS] dns_enable = True domain_name = CHANGE ME!!! route53 = False hosted_zone_id = CHANGE ME!!! subdomain_frontend = baker subdomain_rpc = rpc.baker [SIGNER] type = soft aws_kms_key_id = CHANGE ME!!! [MONITORING] prometheus = False grafana = False loki = False slack = False slack_webhook = CHANGE ME!!! telegram = False telegram_channel = CHANGE ME!!! ``` NOTES: - If you don't use AWS Route53 DNS Service, you need to modify your subdomains (baker & rpc.baker) manually - If you use default/old VPC and Security Groups, your 22, 80 & 443 ports must be open ## 2. Setup tezos nodes [...] ## 3. Setup remote signer - Follow https://gitlab.com/equisafe/tezos-kms-docker#how-to-set-up-a-baker-node-using-an-account-with-keys-stored-in-aws-kms # Configuration # Usage # Todo / next steps - [ ] alerting # Appendices todo: link to various websites / documents related to baking