---
# System prepended metadata

title: Bakery overall documentation

---

# 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