Warning
This guide is currently a work in progress.
This guide will help you get Linky running locally. Follow these steps to get your instance up and running.
Before you begin, make sure you have the following installed:
- Node.js (version specified in
.nvmrc) - Docker and Docker Compose
- PostgreSQL 15.1 or later
- Git
git clone https://github.com/trylinky/linky.git
cd linky- Copy the example environment file:
cp .env.example .env.local- Fill in the required environment variables in
.env.local(please see the env file for more details on what is required and what the variables are for).
You'll need to set up the following services and add their credentials:
- AWS (for asset storage):
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_REGION
- Google OAuth:
AUTH_GOOGLE_CLIENT_IDAUTH_GOOGLE_CLIENT_SECRET
- Twitter (X) OAuth:
AUTH_TWITTER_CLIENT_IDAUTH_TWITTER_CLIENT_SECRET
- TikTok OAuth:
AUTH_TIKTOK_CLIENT_IDAUTH_TIKTOK_CLIENT_SECRET
- Stripe (for payments):
STRIPE_API_SECRET_KEYSTRIPE_WEBHOOK_SECRET
- Sentry (for error tracking):
NEXT_PUBLIC_SENTRY_DSNSENTRY_AUTH_TOKEN
- Tinybird (for analytics):
NEXT_PUBLIC_TINYBIRD_TRACKER_TOKENTINYBIRD_API_KEY
- Posthog (for analytics):
POSTHOG_API_KEY
- DynamoDB (for reactions storage):
REACTIONS_TABLE_NAME
- Slack (for notifications):
SLACK_TOKEN
- Instagram Integration:
INSTAGRAM_CALLBACK_URLINSTAGRAM_CLIENT_IDINSTAGRAM_CLIENT_SECRET
- Spotify:
SPOTIFY_CLIENT_IDSPOTIFY_CLIENT_SECRETSPOTIFY_REDIRECT_URL
- Threads:
THREADS_CALLBACK_URLTHREADS_CLIENT_IDTHREADS_CLIENT_SECRET
- TikTok:
TIKTOK_CALLBACK_URLTIKTOK_CLIENT_KEYTIKTOK_CLIENT_SECRET
- Start the PostgreSQL database using Docker Compose:
docker-compose up -d- The database will be bootstrapped with the following default credentials:
- Username: glow_user
- Password: KGfUZosCOm
- Database: glow_development
- Install dependencies:
npm install- Generate Prisma client:
cd package.prisma
npx prisma generate- Run database migrations:
npm run dev:migrateBuild all packages and applications:
turbo devTurbo will start the API and the frontend application on the following ports:
- Frontend: http://localhost:3000
- API: http://localhost:3001
- Always use HTTPS in production
- Keep your
ENCRYPTION_KEYsecure and never share it - Regularly update dependencies for security patches
- Use strong passwords for all services
Make sure you comply with the project's license terms when self-hosting.