6
6
</picture >
7
7
</p >
8
8
9
- [ Convex] ( https://convex.dev ) is the backend-as-a-service for fullstack app
10
- development. Thoughtfully curated components, optimized by experts.
9
+ [ Convex] ( https://convex.dev ) is the open-source reactive database for web app
10
+ developers. Fetch data and perform business logic with strong consistency by
11
+ writing pure TypeScript.
11
12
12
13
Convex replaces your database, server functions, scheduling, storage, vector
13
14
search, etc. It includes
@@ -24,17 +25,59 @@ a generous free tier and provides a seamless, reliable, cost-effective platform
24
25
that allows you to focus on building your application without worrying about
25
26
infrastructure.
26
27
27
- You can also opt to self-host Convex. There is a
28
- [ self-hosting guide] ( ./self-hosted/SELFHOSTING.md ) available with some guidance.
29
- Community support for self-hosting is available in the ` #open-source ` channel in
30
- the [ Convex Discord] ( https://discord.gg/convex ) .
31
-
32
28
Development of the Convex backend is led by the Convex team. We
33
29
[ welcome bug fixes] ( ./CONTRIBUTING.md ) and
34
30
[ love receiving feedback] ( https://discord.gg/convex ) . We keep this repository
35
31
synced with any internal development work within a handful of days.
36
32
37
- ## Getting started
33
+ ## Self Hosting
34
+
35
+ You can also opt to self-host Convex. Convex works with a variety of tools
36
+ including Neon, Fly.io, RDS, sqlite, postgres, and more. There is a
37
+ [ self-hosting guide] ( ./self-hosted/SELFHOSTING.md ) available with some guidance.
38
+ Community support for self-hosting is available in the ` #open-source ` channel in
39
+ the [ Convex Discord] ( https://discord.gg/convex ) .
40
+
41
+ ## Documentation
42
+
43
+ For full documentation visit [ docs.convex.dev] ( https://docs.convex.dev ) .
44
+
45
+ To see how to contribute, visit [ Contributing.md] ( ./CONTRIBUTING.md ) .
46
+
47
+ ## Community & Support
48
+
49
+ - [ Discord] ( https://convex.dev/community ) . Best for: sharing your applications,
50
+ hanging out with the community, and help with building on Convex
51
+ - GitHub Issues. Best for: surfacing bugs and errors you encounter while
52
+ building and using the open source Convex backend
53
+
54
+ ## Running on your own machine
55
+
56
+ Instead of self-hosting via docker, you can run the Convex backend locally on
57
+ your own machine.
58
+
59
+ ## Using prebuilt binaries
60
+
61
+ You can download the latest precompiled binary release from
62
+ [ Releases] ( https://github.com/get-convex/convex-backend/releases ) . Only Apple
63
+ x64, Apple Arm64 (Apple silicon), and Linux x64 binaries are currently available
64
+ for download.
65
+
66
+ _ Note: On MacOS you might need to hold the ` option ` key and double click the
67
+ binary file in Finder once, to circumvent the
68
+ [ Gatekeeper] ( https://support.apple.com/en-us/102445 ) warning._
69
+
70
+ Then you can run it:
71
+
72
+ ``` sh
73
+ ./convex-local-backend
74
+ ```
75
+
76
+ Adjust the path based on where you downloaded the binary to or add it to your
77
+ ` PATH ` . The backend will store its database in the directory where it is
78
+ executed ** from** (not where the binary file lives).
79
+
80
+ ## Building from source
38
81
39
82
To get started, clone this repo:
40
83
@@ -78,29 +121,6 @@ To [build the backend from source](#building-from-source):
78
121
- Convex JavaScript dependencies
79
122
- ` just rush install `
80
123
81
- ## Running the Convex Backend
82
-
83
- ### Using prebuilt binaries
84
-
85
- You can download the latest precompiled binary release from
86
- [ Releases] ( https://github.com/get-convex/convex-backend/releases ) . Only Apple
87
- x64, Apple Arm64 (Apple silicon), and Linux x64 binaries are currently available
88
- for download.
89
-
90
- _ Note: On MacOS you might need to hold the ` option ` key and double click the
91
- binary file in Finder once, to circumvent the
92
- [ Gatekeeper] ( https://support.apple.com/en-us/102445 ) warning._
93
-
94
- Then you can run it:
95
-
96
- ``` sh
97
- ./convex-local-backend
98
- ```
99
-
100
- Adjust the path based on where you downloaded the binary to or add it to your
101
- ` PATH ` . The backend will store its database in the directory where it is
102
- executed ** from** (not where the binary file lives).
103
-
104
124
### Building from source
105
125
106
126
Build and run the local backend from the source in this repo:
@@ -160,41 +180,29 @@ _The following CLI commands may be useful when interacting with your backend:_
160
180
- ` just convex import ` - Allows you to import tables
161
181
- ` just convex export ` - Allows you to export tables
162
182
163
- ## Documentation
164
-
165
- For full documentation visit [ docs.convex.dev] ( https://docs.convex.dev ) .
166
-
167
- To see how to contribute, visit [ Contributing.md] ( ./CONTRIBUTING.md ) .
168
-
169
- ## Community & Support
170
-
171
- - [ Discord] ( https://convex.dev/community ) . Best for: sharing your applications,
172
- hanging out with the community, and help with building on Convex
173
- - GitHub Issues. Best for: surfacing bugs and errors you encounter while
174
- building and using the open source Convex backend
175
-
176
183
## Disclaimers
177
184
178
- - The Convex local backend is designed for use in local development and testing.
179
- Please exercise caution if attempting to use it for production usage. Convex
180
- can't offer support or guarantees for that experience - you're on your own
181
- there. If you do choose to go down that route, make sure to change your admin
182
- key from the defaults in the repo.
183
- - The Convex local backend doesn't have backward compatibility guarantees for
184
- CLI compatibility. Once a feature is released in a CLI, the backend will
185
- support it from that point on, but newer CLI features may not work with older
186
- backends. Unreleased/beta features won't have any guarantees.
187
- - Convex local backend does not support robust backend migrations. We'll always
188
- ensure things will work if you wipe your local database and start from
189
- scratch. We do not provide support for upgrading an existing local-backend to
190
- a newer version.
185
+ - If you choose to self-host, we recommend following the self-hosting guide. If
186
+ you are going off the beaten path, make sure to change your instance secret
187
+ and admin key from the defaults in the repo.
188
+ - Migrating to a new version of self-hosted requires carefully following the
189
+ migration guide in our release notes.
191
190
- If you're using both the local backend and the hosted cloud platform, make
192
191
sure to run ` npx convex dev ` or ` just convex dev ` before you start testing
193
192
your client. The ` dev ` command will take care of updating your ` .env.local `
194
193
file with the correct ` CONVEX_URL ` .
195
194
- Convex is battle tested most thoroughly on Linux and Mac. On Windows, it has
196
195
less experience. If you run into issues, please message us on
197
196
[ Discord] ( https://convex.dev/community ) in the #open-source channel.
197
+ - Convex local-backend and self-host products contain a beacon to help Convex
198
+ improve the product. The information is minimal and anonymous and helpful to
199
+ Convex, but if you really want to disable it, you can set the
200
+ ` --disable-beacon ` flag on the backend binary. The beacon's messages print in
201
+ the log and only include
202
+ - A random identifier for your deployment (not used elsewhere)
203
+ - Migration version of your database
204
+ - Git rev of the backend
205
+ - Uptime of the backend
198
206
199
207
## Repository layout
200
208
0 commit comments