Supanote Core Team
@supanote Verified CreatorOfficial open-source templates, infrastructure manifests, and verified developer snippets curated by the Supanote team.
Public Snippets & Templates
50 publishedPostgreSQL Logical Replication & CDC WAL Settings
-- PostgreSQL Logical Replication & Change Data Capture (CDC) Setup -- Step 1: Ensure postgresql.conf settings are applied: -- wal_level = logical -- maxwalsenders = 10 -- maxreplicationslots = 10 -- Step 2: On PRIMARY P...
-- PostgreSQL Logical Replication & Change Data Capture (CDC) Setup
-- Step 1: Ensure postgresql.conf settings are applied:
-- wal_level = logical
-- max_wal_senders = 10
-- max_replication_slots =...
GitHub Actions Playwright Parallel E2E Test Workflow
name: Playwright Tests on: push: branches: [main] pull_request: branches: [main] jobs: test: timeout-minutes: 30 runs-on: ubuntu-latest strategy: fail-fast: false matrix: shardIndex: [1, 2, 3] shardTotal: [3] steps: - us...
name: Playwright Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
timeout-minutes: 30
runs-on: ubuntu-latest
strategy:
fail-fast: false
...
GitHub Actions npm Package Publish with Sigstore Provenance
name: Publish to npm on: release: types: [published] jobs: publish: runs-on: ubuntu-latest permissions: contents: read id-token: write steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version:...
name: Publish to npm
on:
release:
types: [published]
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses:...
Biome.json Modern Linter & Formatter Configuration
{ "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json", "organizeImports": { "enabled": true }, "linter": { "enabled": true, "rules": { "recommended": true, "correctness": { "noUnusedVariables": "error", "noUnusedI...
{
"$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
"organizeImports": {
"enabled": true
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
...
ClickHouse Single-Node Analytics Container Stack
version: '3.8' services: clickhouse: image: clickhouse/clickhouse-server:24.3 container_name: clickhouse-analytics restart: unless-stopped ports: - "8123:8123" - "9000:9000" environment: CLICKHOUSE_DB: analytics CLICKHOU...
version: '3.8'
services:
clickhouse:
image: clickhouse/clickhouse-server:24.3
container_name: clickhouse-analytics
restart: unless-stopped
ports:
- "8123:8123"
-...
Vector.dev Log Shipping Pipeline Configuration (vector.toml)
vector.toml - High-Performance Log Shipping Pipeline [sources.docker_logs] type = "docker_logs" include_units = ["app-", "nginx-"] [transforms.parse_json] type = "remap" inputs = ["docker_logs"] source = ''' . = parse_js...
# vector.toml - High-Performance Log Shipping Pipeline
[sources.docker_logs]
type = "docker_logs"
include_units = ["app-*", "nginx-*"]
[transforms.parse_json]
type = "remap"
inputs =...
Tailscale Subnet Router & Exit Node Docker Compose
version: '3.8' services: tailscale: image: tailscale/tailscale:latest container_name: tailscale-subnet-router hostname: vpc-subnet-router restart: unless-stopped cap_add: - NET_ADMIN - NET_RAW network_mode: host environm...
version: '3.8'
services:
tailscale:
image: tailscale/tailscale:latest
container_name: tailscale-subnet-router
hostname: vpc-subnet-router
restart: unless-stopped
cap_add:
...
Shadcn UI HSL Color Tokens & Modern CSS Variables
@layer base { :root { --background: 0 0% 100%; --foreground: 240 10% 3.9%; --card: 0 0% 100%; --card-foreground: 240 10% 3.9%; --popover: 0 0% 100%; --popover-foreground: 240 10% 3.9%; --primary: 240 5.9% 10%; --primary-...
@layer base {
:root {
--background: 0 0% 100%;
--foreground: 240 10% 3.9%;
--card: 0 0% 100%;
--card-foreground: 240 10% 3.9%;
--popover: 0 0% 100%;
--popover-foreground: 240...
Polar.sh Webhook Signature Verification & License Handler
'use strict'; const crypto = require('crypto'); / * Verify Polar.sh webhook signature using Standard Webhooks HMAC-SHA256 */ function verifyPolarWebhook(rawBody, headers, webhookSecret) { const webhookId = headers['webho...
'use strict';
const crypto = require('crypto');
/**
* Verify Polar.sh webhook signature using Standard Webhooks HMAC-SHA256
*/
function verifyPolarWebhook(rawBody, headers, webhookSecret) {
...
Caddyfile Multi-Domain Production TLS Reverse Proxy
Production Caddy Multi-Domain Proxy { email admin@example.com admin off } app.example.com { encode zstd gzip header { Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" X-Content-Type-Options "nosni...
# Production Caddy Multi-Domain Proxy
{
email admin@example.com
admin off
}
app.example.com {
encode zstd gzip
header {
Strict-Transport-Security "max-age=31536000;...
Security.txt Standard Policy (RFC 9116)
/.well-known/security.txt Conforms to RFC 9116: https://www.rfc-editor.org/rfc/rfc9116 Contact: mailto:security@example.com Expires: 2027-12-31T23:59:59.000Z Encryption: https://example.com/pgp-key.txt Preferred-Language...
# /.well-known/security.txt
# Conforms to RFC 9116: https://www.rfc-editor.org/rfc/rfc9116
Contact: mailto:security@example.com
Expires: 2027-12-31T23:59:59.000Z
Encryption:...
Cloudflare Turnstile Server-Side Verification (Node.js)
'use strict'; / * Validates Cloudflare Turnstile CAPTCHA response token * @param {string} token - The cf-turnstile-response string from form body * @param {string} remoteIp - Optional remote client IP address * @returns...
'use strict';
/**
* Validates Cloudflare Turnstile CAPTCHA response token
* @param {string} token - The cf-turnstile-response string from form body
* @param {string} remoteIp - Optional remote...
Stripe Webhook Signature Verification & Event Dispatcher
'use strict'; const crypto = require('crypto'); / * Securely verify Stripe webhook signature without external heavy dependencies * @param {string|Buffer} payload - Raw HTTP request body buffer * @param {string} sigHeader...
'use strict';
const crypto = require('crypto');
/**
* Securely verify Stripe webhook signature without external heavy dependencies
* @param {string|Buffer} payload - Raw HTTP request body buffer
...
Model Context Protocol (MCP) Server Docker & SSE Setup
version: '3.8' services: mcp-server: image: node:20-alpine container_name: mcp-knowledge-server restart: unless-stopped working_dir: /app environment: - NODE_ENV=production - PORT=8080 - MCP_TRANSPORT=sse - APIAUTHTOKEN=...
version: '3.8'
services:
mcp-server:
image: node:20-alpine
container_name: mcp-knowledge-server
restart: unless-stopped
working_dir: /app
environment:
-...
OpenAI & Anthropic Strict Structured Outputs JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "ExtractedTechnicalSnippet", "type": "object", "additionalProperties": false, "required": ["title", "language", "code", "explanation", "tags", "confidence_...
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "ExtractedTechnicalSnippet",
"type": "object",
"additionalProperties": false,
"required": ["title", "language", "code",...
PostgreSQL with pgvector & Redis RAG Embedding Stack
version: '3.8' services: pgvector-db: image: pgvector/pgvector:pg16 container_name: postgres-pgvector restart: unless-stopped environment: POSTGRESUSER: ${DBUSER:-vector_user} POSTGRESPASSWORD: ${DBPASSWORD:-change-me} P...
version: '3.8'
services:
pgvector-db:
image: pgvector/pgvector:pg16
container_name: postgres-pgvector
restart: unless-stopped
environment:
POSTGRES_USER:...
Production .cursorrules Specification for Full-Stack TypeScript
.cursorrules - Production Full-Stack TypeScript Guidelines You are an expert principal software engineer specializing in TypeScript, Next.js, Tailwind CSS, and SQLite. Code Quality & Architecture Invariants - Prefer expl...
# .cursorrules - Production Full-Stack TypeScript Guidelines
You are an expert principal software engineer specializing in TypeScript, Next.js, Tailwind CSS, and SQLite.
## Code Quality &...
Claude Code & AI Assistant Instructions (CLAUDE.md)
CLAUDE.md - Development & Project Guidance This file provides architectural guidelines and operational instructions for Claude Code and autonomous agent assistants working in this repository. Commands & Workflows - Devel...
# CLAUDE.md - Development & Project Guidance
This file provides architectural guidelines and operational instructions for Claude Code and autonomous agent assistants working in this repository.
##...
Prometheus Alertmanager Production Alert Rules Template
groups: - name: hostinfrastructurealerts rules: - alert: HostHighCpuUsage expr: 100 - (avg by (instance) (rate(nodecpuseconds_total{mode="idle"}[5m])) * 100) > 85 for: 5m labels: severity: warning annotations: summary: "...
groups:
- name: host_infrastructure_alerts
rules:
- alert: HostHighCpuUsage
expr: 100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 85
for:...
PostgreSQL Slow Query Logging & auto_explain Configuration
-- PostgreSQL 16 Slow Query Logging & Auto Explain -- Append these directives to postgresql.conf or run as ALTER SYSTEM -- 1. Log Queries Exceeding 250ms logminduration_statement = 250 -- 2. Detail Logging for Slow State...
-- PostgreSQL 16 Slow Query Logging & Auto Explain
-- Append these directives to postgresql.conf or run as ALTER SYSTEM
-- 1. Log Queries Exceeding 250ms
log_min_duration_statement = 250
-- 2....
MySQL 8.0 InnoDB Production Performance Tuning Configuration
MySQL 8.0 / Percona Server Production InnoDB Tuning /etc/mysql/mysql.conf.d/mysqld.cnf [mysqld] Basic Network & Connection Settings bind-address = 127.0.0.1 max_connections = 500 maxconnecterrors = 10000 wait_timeout = 6...
# MySQL 8.0 / Percona Server Production InnoDB Tuning
# /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
# Basic Network & Connection Settings
bind-address = 127.0.0.1
max_connections =...
Sample Minimalist Developer SVG Icon Collection
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<!-- 1. Terminal Icon -->
<symbol id="icon-terminal" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"...
Production Caddyfile Reverse Proxy with Automatic HTTPS
Global Caddy Configuration { email ops@example.com admin off } Production Domain Reverse Proxy example.com { # Automatic TLS and HTTP to HTTPS redirection is built-in # Security & Protection Headers header { Strict-Trans...
# Global Caddy Configuration
{
email ops@example.com
admin off
}
# Production Domain Reverse Proxy
example.com {
# Automatic TLS and HTTP to HTTPS redirection is built-in
# Security &...
Sample E-Commerce Customer Orders Transaction CSV Dataset
orderid,customername,email,sku,quantity,amount,currency,paymentstatus,country,createdat ORD-1001,Elena Rostova,elena.r@example.com,SKU-PRO-DESK,1,349.00,USD,completed,US,2026-10-01 09:14:22 ORD-1002,Marcus Vance,m.vance@...
order_id,customer_name,email,sku,quantity,amount,currency,payment_status,country,created_at
ORD-1001,Elena Rostova,elena.r@example.com,SKU-PRO-DESK,1,349.00,USD,completed,US,2026-10-01...
Sample SaaS Subscription MRR & Retention Metrics CSV Dataset
month,startingmrr,newmrr,expansionmrr,churnedmrr,netmrr,activecustomers,churnratepct,arpuusd,ltvusd 2026-01,42500,6800,2100,1200,50200,412,2.82,121.84,4320 2026-02,50200,7400,2600,1450,58750,478,2.89,122.90,4252 2026-03,...
month,starting_mrr,new_mrr,expansion_mrr,churned_mrr,net_mrr,active_customers,churn_rate_pct,arpu_usd,ltv_usd
2026-01,42500,6800,2100,1200,50200,412,2.82,121.84,4320
2026-02,50200,7400,2600,1450,58750...
Sample Responsive Transactional HTML Email Boilerplate
Your Account Confirmation — Supanote body { margin: 0; padding: 0; background-color: #f4f4f5; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; } table { border-spacing: 0;...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Your Account Confirmation — Supanote</title>
...
llms.txt Standard Specification Template for AI Agents
Project Name — AI Agent & LLM Context Guide Project Name is a high-speed, lightweight developer snippet repository with zero client-side tracking, native Markdown rendering, and instant raw API endpoints. This file provi...
# Project Name — AI Agent & LLM Context Guide
> Project Name is a high-speed, lightweight developer snippet repository with zero client-side tracking, native Markdown rendering, and instant raw API...
Sample Nginx Combined Access and Error Log Dataset
192.168.1.105 - - [09/Oct/2026:08:14:22 +0000] "GET / HTTP/2.0" 200 4812 "https://google.com" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10157) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" 0.012 10...
192.168.1.105 - - [09/Oct/2026:08:14:22 +0000] "GET / HTTP/2.0" 200 4812 "https://google.com" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0...
Sample Docker Container Structured JSON Log Stream
[ { "log": "{\"level\":\"info\",\"time\":1728461660124,\"pid\":1,\"hostname\":\"app-worker-1\",\"msg\":\"HTTP server listening on 0.0.0.0:3000\"}\n", "stream": "stdout", "time": "2026-10-09T08:14:20.124892015Z" }, { "log...
[
{
"log": "{\"level\":\"info\",\"time\":1728461660124,\"pid\":1,\"hostname\":\"app-worker-1\",\"msg\":\"HTTP server listening on 0.0.0.0:3000\"}\n",
"stream": "stdout",
"time":...
GitHub Security Policy (SECURITY.md) Vulnerability Template
Security Policy We take the security of our codebase, infrastructure, and user data extremely seriously. We appreciate the responsible disclosure of any security vulnerability. --- 🛡 Supported Versions Security updates...
# Security Policy
We take the security of our codebase, infrastructure, and user data extremely seriously. We appreciate the responsible disclosure of any security vulnerability.
---
## 🛡...
Architecture Decision Record (ADR) Engineering Template
ADR 007: Adoption of SQLite WAL Mode for Single-Node Workloads 📊 Status Accepted (Supersedes ADR 003) — 2026-10-09 👥 Deciders - Architecture Team - Core Infrastructure Lead --- 🔍 Context & Problem Statement Our applic...
# ADR 007: Adoption of SQLite WAL Mode for Single-Node Workloads
## 📊 Status
**Accepted** (Supersedes ADR 003) — 2026-10-09
## 👥 Deciders
- Architecture Team
- Core Infrastructure Lead
---
## 🔍...
Open-Source Contributing Guidelines (CONTRIBUTING.md) Template
Contributing to Project Name Thank you for investing your time in improving this open-source project! 📜 Code of Conduct This project adheres to the Contributor Covenant. By participating, you are expected to uphold this...
# Contributing to Project Name
Thank you for investing your time in improving this open-source project!
## 📜 Code of Conduct
This project adheres to the Contributor Covenant. By participating, you...
RESTful API Documentation Markdown Specification Template
API Specification — Service Name Base URL: Authentication All API requests require a Bearer token in the header: --- Endpoints 1. List Resources Returns a paginated list of resources. Query Parameters | Parameter | Type...
# API Specification — Service Name
Base URL: `https://api.example.com/v1`
## Authentication
All API requests require a Bearer token in the `Authorization` header:
```bash
Authorization: Bearer...
Keep a Changelog Standard Semantic Versioning Template
Changelog All notable changes to this project will be documented in this file. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning. [Unreleased] Added - Native HTTP/2 push support for...
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to...
GitHub Pull Request & Issue Quality Checklist Template
📌 Summary of Changes A concise description of what this pull request accomplishes and the problem it solves. - Relates to issue: #142 - Closes issue: #158 --- 🛠 Type of Change - [ ] 🐛 Bug fix (non-breaking change whic...
## 📌 Summary of Changes
A concise description of what this pull request accomplishes and the problem it solves.
- Relates to issue: #142
- Closes issue: #158
---
## 🛠 Type of Change
- [ ] 🐛...
Modern Open-Source GitHub README.md Specification Template
Project Name 🚀 A fast, lightweight, and modern application built for developers. Build Status License: MIT --- ✨ Features - ⚡ Blazing Fast: Zero cold-start latency with optimized Node.js SSR runtime. - 🔒 Security by De...
# Project Name 🚀
> A fast, lightweight, and modern application built for developers.
[![Build...
Redis In-Memory Production Cache & Eviction Config
Redis In-Memory Production Cache Tier Optimized for zero disk bottleneck and LRU eviction port 6379 bind 127.0.0.1 ::1 protected-mode yes timeout 300 tcp-keepalive 60 Max Memory Limit & Eviction Policy maxmemory 2gb maxm...
# Redis In-Memory Production Cache Tier
# Optimized for zero disk bottleneck and LRU eviction
port 6379
bind 127.0.0.1 ::1
protected-mode yes
timeout 300
tcp-keepalive 60
# Max Memory Limit &...
GitHub Actions Multi-Arch Docker Build & Push to GHCR
name: Build and Publish Docker Image on: push: branches: [main] tags: ['v..*'] env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} jobs: build-and-push: runs-on: ubuntu-latest permissions: contents: read packages...
name: Build and Publish Docker Image
on:
push:
branches: [main]
tags: ['v*.*.*']
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build-and-push:
runs-on:...
SQLite FTS5 Full-Text Search Schema & Sync Triggers
-- High-Performance SQLite FTS5 External Content Virtual Table -- Synchronizes search index with the primary 'articles' table -- 1. Create FTS5 Virtual Table CREATE VIRTUAL TABLE IF NOT EXISTS articles_fts USING fts5( ti...
-- High-Performance SQLite FTS5 External Content Virtual Table
-- Synchronizes search index with the primary 'articles' table
-- 1. Create FTS5 Virtual Table
CREATE VIRTUAL TABLE IF NOT EXISTS...
Production PgBouncer Transaction Connection Pooling Config
;; Production PgBouncer Configuration [databases] appdb = host=127.0.0.1 port=5432 dbname=appproduction auth_user=postgres [pgbouncer] logfile = /var/log/postgresql/pgbouncer.log pidfile = /var/run/postgresql/pgbouncer.p...
;; Production PgBouncer Configuration
[databases]
app_db = host=127.0.0.1 port=5432 dbname=app_production auth_user=postgres
[pgbouncer]
logfile = /var/log/postgresql/pgbouncer.log
pidfile =...
Systemd Production Service Unit for Node.js Application
[Unit] Description=Node.js Production Application Service After=network.target postgresql.service Wants=postgresql.service [Service] Type=simple User=deploy Group=deploy WorkingDirectory=/var/www/app ExecStart=/usr/bin/n...
[Unit]
Description=Node.js Production Application Service
After=network.target...
Multi-Stage Production Node.js Dockerfile with Distroless
Stage 1: Dependency resolution and compilation FROM node:20-alpine AS deps WORKDIR /app COPY package*.json ./ RUN --mount=type=cache,target=/root/.npm \ npm ci --omit=dev --ignore-scripts Stage 2: Application builder (if...
# Stage 1: Dependency resolution and compilation
FROM node:20-alpine AS deps
WORKDIR /app
COPY package*.json ./
RUN --mount=type=cache,target=/root/.npm \
npm ci --omit=dev --ignore-scripts
#...
Nginx SPA Single-Page App Fallback & Caching Routing
Nginx Single Page Application (SPA) Routing & Caching server { listen 80; listen [::]:80; server_name app.example.com; root /var/www/app/dist; index index.html; # Gzip & Brotli Compression gzip on; gzip_types text/plain...
# Nginx Single Page Application (SPA) Routing & Caching
server {
listen 80;
listen [::]:80;
server_name app.example.com;
root /var/www/app/dist;
index index.html;
# Gzip &...
Docker Compose Next.js Stack with Caddy Auto-SSL
version: '3.8' services: caddy: image: caddy:2-alpine restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - caddy_data:/data - caddy_config:/config depends_on: - web networ...
version: '3.8'
services:
caddy:
image: caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
-...
Nginx WebSocket Reverse Proxy Configuration
Nginx Reverse Proxy with Full WebSocket Support map $httpupgrade $connectionupgrade { default upgrade; '' close; } upstream websocket_backend { server 127.0.0.1:4000; keepalive 64; } server { listen 443 ssl http2; server...
# Nginx Reverse Proxy with Full WebSocket Support
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream websocket_backend {
server 127.0.0.1:4000;
...
GitHub Actions Node.js CI/CD Matrix Pipeline
name: CI/CD Pipeline on: push: branches: [main] pull_request: branches: [main] jobs: test: runs-on: ubuntu-latest strategy: matrix: node-version: [18.x, 20.x, 22.x] steps: - name: Checkout Code uses: actions/checkout@v4...
name: CI/CD Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x,...
Modern HTML5 Responsive Boilerplate
Modern Web Application :root { color-scheme: light dark; --bg: #ffffff; --text: #09090b; } @media (prefers-color-scheme: dark) { :root { --bg: #09090b; --text: #f4f4f5; } } body { margin: 0; font-family: system-ui, -appl...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Modern Web Application</title>
<meta...
High-Performance SQLite Production PRAGMAs
-- High-Performance Concurrent SQLite Configuration -- Run immediately after opening database connection -- 1. Enable Write-Ahead Logging (concurrent readers + writer) PRAGMA journal_mode = WAL; -- 2. Synchronous NORMAL...
-- High-Performance Concurrent SQLite Configuration
-- Run immediately after opening database connection
-- 1. Enable Write-Ahead Logging (concurrent readers + writer)
PRAGMA journal_mode = WAL;
--...
Nginx Reverse Proxy with SSL & Security Headers
Production Nginx Reverse Proxy Configuration server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name api.example.com; # SSL Certificates & Modern Ciphers ssl_certificate /etc/letsencrypt/live/example.com/fu...
# Production Nginx Reverse Proxy Configuration
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name api.example.com;
# SSL Certificates & Modern Ciphers
...
Docker Compose Production Web Stack
version: '3.8' services: web: build: . restart: always environment: NODE_ENV: production DATABASEURL: ${DATABASEURL} REDISURL: ${REDISURL} ports: - "3000:3000" depends_on: - db - redis networks: - internal db: image: pos...
version: '3.8'
services:
web:
build: .
restart: always
environment:
NODE_ENV: production
DATABASE_URL: ${DATABASE_URL}
REDIS_URL: ${REDIS_URL}
ports:
-...