*once* is implemented using the [AWS CloudDevelopment Kit](https://docs.aws.amazon.com/cdk/) framework, and can be easily deployed as a self-contained CloudFormation stack to any AWS account.
Make sure you have installed the latest CDK version for your platform, following the steps described in the [official getting started guide](https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html).
If you want to expose the once API on a custom domain name hosted on
[Route 53](https://aws.amazon.com/route53/), you can just set the following environment variables before the deployment:
-`CUSTOM_DOMAIN` the domain name you want to expose the once API (e.g. _once.mydomain.com_)
-`HOSTED_ZONE_NAME` the Route 53 hosted zone name (e.g. _mydomain.com_)
-`HOSTED_ZONE_ID` the Route 53 hosted zone ID (e.g. _Z0113243DF12WNGOIXX_)
then the deployment command would look like the following example:
$ DOMAIN_NAME=once.mydomain.com \
HOSTED_ZONE_NAME=mydomain.com \
HOSTED_ZONE_ID=Z0113243DF12WNGOIXX \
cdk deploy
If you need more details about creating a public hosted zone on AWS, consult the [official documentation](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html).
## Uploading a file
Once the service and the client have been correctly installed and configured, you can upload a local file running the `once` command.