Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Andr21Da16/Quikko/llms.txt
Use this file to discover all available pages before exploring further.
Quikko ships with a Docker Compose file in server/ that starts all three infrastructure services — MongoDB, Redis, and InfluxDB — with a single command. The Go backend and Next.js frontend run directly on your machine outside of Docker, which keeps rebuild times fast and makes live-reload development straightforward.
server/docker-compose.yml
services:
mongo:
image: mongo:7
container_name: urlshortener-mongo
restart: unless-stopped
ports:
- "27017:27017"
volumes:
- mongo_data:/data/db
redis:
image: redis:7-alpine
container_name: urlshortener-redis
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- redis_data:/data
influxdb:
image: influxdb:2.7
container_name: urlshortener-influxdb
restart: unless-stopped
ports:
- "8086:8086"
environment:
DOCKER_INFLUXDB_INIT_MODE: setup
DOCKER_INFLUXDB_INIT_USERNAME: admin
DOCKER_INFLUXDB_INIT_PASSWORD: admin12345
DOCKER_INFLUXDB_INIT_ORG: url-shortener
DOCKER_INFLUXDB_INIT_BUCKET: clicks
DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: dev-influx-token-change-me
volumes:
- influx_data:/var/lib/influxdb2
- influx_config:/etc/influxdb2
volumes:
mongo_data:
redis_data:
influx_data:
influx_config:
Services
| Service | Port | Description |
|---|
| MongoDB | 27017 | Primary storage for users and URLs |
| Redis | 6379 | Redirect cache and rate limiting |
| InfluxDB | 8086 | Time-series click event storage |
Managing the infrastructure
Start all services in the background:
cd server
docker compose up -d
Stop all services (data is preserved):
Reset volumes — wipe all stored data:
Check service status:
The Go API and Next.js frontend are not part of the Compose file. Run the
backend with go run cmd/api/main.go and the frontend with pnpm dev in
separate terminals after the infrastructure is up.
The InfluxDB admin UI is available at http://localhost:8086
once the container is running. Log in with the credentials defined in the
Compose file (admin / admin12345) to browse raw click data, inspect
buckets, and build ad-hoc queries — useful for debugging analytics during
development.
For the full list of environment variables that tell the backend where to find these services, see Environment Variables.