Quikko is designed for containerized production deployments. The Go backend ships with a multi-stage Dockerfile that produces a small, self-contained binary image based on Alpine Linux. The Next.js frontend deploys to Vercel or any Node-capable host. A reverse proxy — nginx, Caddy, or a cloud load balancer — sits in front of both, handling TLS termination and routing.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.
Dockerfile
server/Dockerfile
builder stage compiles a fully static binary with CGO_ENABLED=0, and the final stage copies only the binary, the OpenAPI docs, and any required data files into a minimal Alpine image. The result is an image that is small and contains no Go toolchain at runtime.
Building the Docker image
Running the container
Pass all required environment variables with-e flags or via an --env-file. At minimum you must supply MONGO_URI and JWT_SECRET — the server will exit immediately without them. INFLUX_TOKEN is not enforced at startup but is required for analytics to function; always provide it in production.
Recommended production architecture
A typical Quikko production stack looks like this:MongoDB
Use MongoDB Atlas for a fully managed experience, or self-host MongoDB
with a replica set for high availability. Provide the connection string via
MONGO_URI.Redis
Upstash (serverless, generous free tier), Railway Redis, or a
self-hosted Redis instance. Set
REDIS_ADDR and optionally REDIS_PASSWORD.InfluxDB
InfluxDB Cloud for a managed time-series database, or self-host
InfluxDB 2.x. Supply the URL, token, org, and bucket via the
INFLUX_*
variables.Deployment platforms
The backend container runs on any Docker-capable host. Common choices used for Quikko deployments:Railway
Connects directly to your GitHub repository and redeploys on every push to
main. Add environment variables in the Railway dashboard under the service
settings. No Docker registry required.VPS with Docker
Suitable for DigitalOcean Droplets, Hetzner Cloud, Contabo, or any
Linux VPS. Install Docker, pull or build the image, and run it with a
docker run or docker compose command.Health check
The server exposes a lightweight health endpoint suitable for readiness and liveness probes:GET /health to determine when the container is ready to receive traffic.
Key production environment variables
The following variables must be set correctly before going live. See Environment Variables for the full reference including defaults for every variable.Your public short-link domain, e.g.
https://sho.rt. This value is embedded
in every shortened URL returned to clients — set it before creating any links.Your frontend domain, e.g.
https://app.yourdomain.com. The backend redirects
404 and 410 errors here so users see a branded page instead of raw JSON.Your frontend domain for CORS, e.g.
https://app.yourdomain.com. Comma-separate
multiple origins if needed. Never use *.A long random secret used to sign all JWTs. Generate one with
openssl rand -hex 32 and store it in your secrets manager.Set to
production in all deployed environments to enable structured JSON
logging and production-appropriate error handling.