apps/web/.env.example
Set these on your host before deploying. Each platform has an “Environment Variables” section in the deploy flow.
DATABASE_URL
secret
This should be a URL like "postgresql://postgres:postgres@localhost:5432/lapse?schema=public". See the README to get an example command on…
NEXT_PUBLIC_HACKATIME_CLIENT_ID
These are used for Hackatime OAuth authentication. These both are exposed to the public but if you want to use your own client, and you…
NEXT_PUBLIC_HACKATIME_URL
HACKATIME_REDIRECT_URI
This would be something like "https://lapse.hackclub.com/api/auth-hackatime" for production.
SLACK_BOT_TOKEN
secret
Slack bot token used to fetch user profile information (including profile pictures). Create a Slack app, enable the "users:read" scope, and…
S3_ENDPOINT
We use S3 to store all user content (timelapses, thumbnails, etc...) if you don't have an S3 bucket at hand, you can set up Cloudflare R2…
S3_ACCESS_KEY_ID
secret
S3_SECRET_ACCESS_KEY
secret
S3_ENCRYPTED_BUCKET_NAME
S3_PUBLIC_BUCKET_NAME
S3_PUBLIC_URL_PUBLIC
Get this by going to Settings of each R2 bucket, and copying the Public Development URL.
S3_PUBLIC_URL_ENCRYPTED
PRIVATE_KEY_UPLOAD_KEY
secret
You can generate random keys for these, if you wish. For development, they only need to be valid hex strings.
JWT_SECRET
secret
UPLOAD_TOKEN_PRIVATE_KEY
secret
UPLOAD_TOKEN_IV
secret
NEXT_PUBLIC_SENTRY_DSN
This is related to Sentry the error monitoring solution we use. In most cases, during development, you won't have to specify this.
SENTRY_ORG
SENTRY_PROJECT
SENTRY_AUTH_TOKEN
secret
brew install flyctl && fly launch --from https://github.com/ascpixi/lapse
curl -L https://fly.io/install.sh | sh && fly launch --from https://github.com/ascpixi/lapse
iwr https://fly.io/install.ps1 -useb | iex; fly launch --from https://github.com/ascpixi/lapse