Repository navigation
Expand file tree
/
Copy pathrender.yaml
More file actions
128 lines (124 loc) · 4.35 KB
/
Copy pathrender.yaml
File metadata and controls
128 lines (124 loc) · 4.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Hosted Personal Agent Proxy on Render: the app, its database, the docs, and the website. In the
# dashboard: New → Blueprint, pointed at this repository. The variables marked `sync: false` are
# asked for once, when the Blueprint is first applied, and kept in the dashboard after that.
#
# The web app has no service of its own: the `proxy` service is the api serving the web app's
# build on the same origin, so there is one domain and nothing else to configure.
services:
- type: web
name: proxy
runtime: docker
dockerfilePath: ./Dockerfile
dockerContext: ./
region: oregon
plan: 0.5c-512mb
# Two, so a deploy or a failed instance never takes Personal Agent Proxy down. The api keeps
# nothing in memory between requests, and two instances starting at once migrate safely: Prisma
# takes a lock on the database first.
numInstances: 2
healthCheckPath: /health
domains:
- app.personalagentproxy.com
# Only the custom domain: on the onrender.com address sign-in would not work, as APP_URL and the
# CSRF check name app.personalagentproxy.com.
renderSubdomainPolicy: disabled
# Deploys main once CI passes.
autoDeployTrigger: checksPass
# Only what goes into the image: the docs and their content deploy on their own.
buildFilter:
paths:
- Dockerfile
- docker-entrypoint.sh
- package.json
- bun.lock
- packages/api/**
- packages/db/**
- packages/integrations/**
- packages/ui/**
- packages/utils/**
- packages/web/**
envVars:
- key: DATABASE_URL
fromDatabase:
name: proxy-db
property: connectionString
# The address people open, such as https://proxy.example.com, once the custom domain is set.
- key: APP_URL
sync: false
# Hashes sign-in links; a new one only ends the links already sent.
- key: AUTH_SECRET
generateValue: true
# The key the existing data was encrypted with, never a new one: a different key makes every
# stored credential and Information record unreadable. `openssl rand -base64 32` only for a
# fresh database.
- key: ENCRYPTION_KEY
sync: false
- key: RESEND_KEY
sync: false
- key: EMAIL_FROM
sync: false
- key: GOOGLE_CLIENT_ID
sync: false
- key: GOOGLE_CLIENT_SECRET
sync: false
# Hosted Personal Agent Proxy is not an installation to count.
- key: TELEMETRY_ENABLED
value: 'false'
# The docs, exported as plain files (packages/docs/next.config.ts). Render serves out/404.html
# for a missing path.
- type: web
name: proxy-docs
runtime: static
buildCommand: bun install --frozen-lockfile --filter docs && bun run --cwd packages/docs build
staticPublishPath: ./packages/docs/out
domains:
- docs.personalagentproxy.com
renderSubdomainPolicy: disabled
buildFilter:
paths:
- package.json
- bun.lock
- packages/docs/**
- packages/ui/**
# The environment variables page is built from the api's schema.
- packages/api/src/utils/env-schema.ts
headers:
# Named by their content, so they never change under a name.
- path: /_next/static/*
name: Cache-Control
value: public, max-age=31536000, immutable
envVars:
# The version the repo is developed and the image built with.
- key: BUN_VERSION
value: 1.4.2
# The website, exported as plain files like the docs (packages/website/next.config.ts).
- type: web
name: proxy-website
runtime: static
buildCommand: bun install --frozen-lockfile --filter website && bun run --cwd packages/website build
staticPublishPath: ./packages/website/out
domains:
- personalagentproxy.com
renderSubdomainPolicy: disabled
buildFilter:
paths:
- package.json
- bun.lock
- packages/website/**
- packages/ui/**
headers:
- path: /_next/static/*
name: Cache-Control
value: public, max-age=31536000, immutable
envVars:
- key: BUN_VERSION
value: 1.4.2
databases:
- name: proxy-db
plan: 0.5c-1g
region: oregon
postgresMajorVersion: '17'
databaseName: proxy
user: proxy
# Only Render services in the account reach it; nothing from the internet.
ipAllowList: []