Getting Started
This guide covers the prerequisites and steps to get the full SwampHacks stack running locally.
Prerequisites
Install the following tools before continuing.
Docker
Docker runs the full stack (API, web, database, Redis) in containers so you don't need to install each runtime manually.
- Docker Desktop (macOS / Windows / WSL)
- Linux: install Docker Engine and the Compose plugin
Verify:
Node.js (via nvm)
The web app requires Node 22.16. Use nvm to manage versions.
You can install nvm here (MacOS / Linux / WSL).
If you use windows (bad bad bad) you can install the windows version of nvm here.
Note: The windows version
shouldwork exactly the same as the posix compliant nvm, so no worries between system discrepencies.
You can install Node 22.16 with the following commands:
Furthermore, if you aren't sure what version you currently are using, you can navigate to apps/web and run
nvm use which retrieves the version from the .nvmrc file and sets it as your current node version.
Editor
VS Code is recommended. The repository is set up with extensions and settings that work well out of the box. Any editor works!
Setup
1. Clone the repository
2. Configure environment variables
Each service needs its own .env file. Copy the examples to get started:
cp apps/api/.env.dev.example apps/api/.env.dev
cp apps/web/.env.example apps/web/.env
cp apps/discord-bot/.env.example apps/discord-bot/.env
Fill in the required secrets. Most local values are pre-filled in the examples; secrets (Discord OAuth, Gemini API key, etc.) must be obtained from the team.
See each service's installation guide for a full breakdown of variables:
3. Start the stack
This starts the API, web, background workers, PostgreSQL, Redis, and Asynqmon via Docker Compose.
| Service | URL |
|---|---|
| Web | http://localhost:5173 |
| API | http://localhost:8080 |
| Asynqmon | http://localhost:6767 |
| PostgreSQL | localhost:5432 |
| Redis | localhost:6379 |
Partial startup
If you only need part of the stack: