{"id":18916928,"url":"https://github.com/chainlit/literal-on-aws","last_synced_at":"2025-10-19T10:32:21.017Z","repository":{"id":241014906,"uuid":"804074499","full_name":"Chainlit/literal-on-aws","owner":"Chainlit","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-15T13:04:26.000Z","size":203,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-08T10:25:47.679Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Chainlit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-21T22:56:27.000Z","updated_at":"2024-08-02T15:04:46.000Z","dependencies_parsed_at":"2024-05-22T00:21:50.536Z","dependency_job_id":"08e99279-6d30-40b9-90d0-bf04e45f0157","html_url":"https://github.com/Chainlit/literal-on-aws","commit_stats":null,"previous_names":["chainlit/literal-on-aws"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chainlit%2Fliteral-on-aws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chainlit%2Fliteral-on-aws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chainlit%2Fliteral-on-aws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chainlit%2Fliteral-on-aws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chainlit","download_url":"https://codeload.github.com/Chainlit/literal-on-aws/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232001391,"owners_count":18458419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T10:22:46.165Z","updated_at":"2025-10-19T10:32:15.988Z","avatar_url":"https://github.com/Chainlit.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LiteralAI on AWS\n\n![AWS](./docs/AWS.png)\n\n## Prerequisites\n\n- Node.js 14.15.0 or later\n\n## Setup\n\n1. Clone this repository\n2. [Create an AWS account](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#sign-up-for-aws)\n3. [Install AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)\n4. [Configure AWS CLI](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_auth) `aws configure`\n5. `npm install` to install the required dependencies\n6. [Bootstrap](https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html) your environment `cdk bootstrap aws://ACCOUNT-NUMBER/REGION`\n\n- `aws sts get-caller-identity` to get your AWS account number\n- `aws configure get region` to get your AWS region\n\n## Registration\n\nTo self-host LiteralAI you will need to be registered as described in [the documentation](https://docs.getliteral.ai/self-hosting/get-started). Depending on the option you select, you will receive either :\n\n* A Literal Client ID and Authorization Token to run the public image\n* Or a Docker PAT to run the private image\n\n## Deploy\n\nIf you opted for the public image, you should add the required [env variables](https://docs.getliteral.ai/self-hosting/deployment#literal-ai-authorization) then run :\n\n`npx cdk deploy --all`\n\nIf you opted for the private image, just run :\n\n`npx cdk deploy --all --parameters EcsStack:dockerPat=LITERAL_DOCKER_PAT`\n\nYou should now be able to see the Literal sign in page.\n\n## Configure HTTPs\n\nAWS load balancers are not using HTTPs by default. To enable HTTPs (best practice and needed for OAuth):\n\n1. Create a certificate on AWS (you will have to update your domain DNS)\n2. Add an HTTPs listener to the load balancer using that certificate\n3. Allow port 443 in the security group\n4. Add a CNAME record redirecting your subdomain to the Load Balancer public URL.\n\nYou should now be able to access Literal with HTTPs through your subdomain.\n\n## Setup OAuth\n\nCreate a new task revision with `NEXTAUTH_URL` set to your HTTPs endpoint (like `https://literalai.mydomain.com`).\n\nThen add the required [env variables](https://docs.getliteral.ai/self-hosting/deployment#provider-specific) specific to your OAuth provider.\n\nDo not forget to allow the OAuth redirect url on your OAuth provider (like `https://literalai.mydomain.com/api/auth/callback/google`)\n\nFinally, update your container with the latest revision.\n\n## AWS CDK Useful commands\n\n- `npm run build` compile typescript to js\n- `npm run watch` watch for changes and compile\n- `npm run test` perform the jest unit tests\n- `npx cdk deploy` deploy this stack to your default AWS account/region\n- `npx cdk diff` compare deployed stack with current state\n- `npx cdk synth` emits the synthesized CloudFormation template\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainlit%2Fliteral-on-aws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchainlit%2Fliteral-on-aws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainlit%2Fliteral-on-aws/lists"}