Files
paste.es/.env.example
Malin 4968cb04c3
Some checks failed
Build and Push Docker Image / Build & push to Gitea registry (push) Has been cancelled
feat: Gitea Actions CI/CD pipeline with container registry builds
- .gitea/workflows/docker.yml: builds and pushes image to
  devops.cloudhost.es/malin/paste.es on every push to main,
  tags as :latest and :<short-sha>, uses GHA layer cache
- docker-compose.yml: updated to pull pre-built image from Gitea
  container registry instead of building locally
- docker-compose.build.yml: new override file for local dev builds
  (docker compose -f docker-compose.yml -f docker-compose.build.yml up --build)
- docker-compose.runner.yml: act_runner service — mount docker socket,
  auto-registers with RUNNER_REGISTRATION_TOKEN from .env
- .env.example: added RUNNER_REGISTRATION_TOKEN section
- README.md: document CI/CD setup, runner registration, and updated
  quick-start to use registry pull workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 10:36:04 +01:00

129 lines
5.0 KiB
Plaintext

# =============================================================================
# paste.es — Fichero de configuración de entorno
# Copia este fichero a .env y ajusta los valores antes de arrancar.
# Genera secretos seguros con: openssl rand -base64 32
# =============================================================================
# -----------------------------------------------------------------------------
# REQUERIDO — Sin estos valores el servicio no arrancará correctamente
# -----------------------------------------------------------------------------
# Ruta a la base de datos SQLite (no cambiar si usas Docker Compose)
DATABASE_URL=file:/app/database/paste.db
# Clave secreta para firmar las sesiones de autenticación (mínimo 32 caracteres)
# Genera una con: openssl rand -base64 32
BETTER_AUTH_SECRET=cambia-esto-por-una-clave-segura-de-al-menos-32-chars
# URL pública de tu instancia (necesaria para cookies y OAuth)
BETTER_AUTH_URL=https://paste.es
# -----------------------------------------------------------------------------
# SERVIDOR
# -----------------------------------------------------------------------------
NODE_ENV=production
# Puerto en el que escucha el servidor (por defecto 3000)
HEMMELIG_PORT=3000
# URL pública de la instancia (requerida si usas OAuth social)
HEMMELIG_BASE_URL=https://paste.es
# Origen adicional de confianza para CORS (opcional)
# HEMMELIG_TRUSTED_ORIGIN=https://paste.es
# -----------------------------------------------------------------------------
# IDENTIDAD DE LA INSTANCIA
# -----------------------------------------------------------------------------
HEMMELIG_INSTANCE_NAME=paste.es
HEMMELIG_INSTANCE_DESCRIPTION=Comparte secretos de forma segura y efímera
# Logo personalizado: URL pública de una imagen (png, svg, webp)
# HEMMELIG_INSTANCE_LOGO=https://paste.es/logo.png
# -----------------------------------------------------------------------------
# REGISTRO Y SEGURIDAD
# -----------------------------------------------------------------------------
# Permitir que nuevos usuarios se registren (true/false)
HEMMELIG_ALLOW_REGISTRATION=true
# Permitir secretos protegidos con contraseña
HEMMELIG_ALLOW_PASSWORD_PROTECTION=true
# Permitir restricción de acceso por IP
HEMMELIG_ALLOW_IP_RESTRICTION=true
# Permitir subida de archivos adjuntos (solo usuarios autenticados)
HEMMELIG_ALLOW_FILE_UPLOADS=true
# Desactivar registro con email/contraseña (solo login social) — false por defecto
HEMMELIG_DISABLE_EMAIL_PASSWORD_SIGNUP=false
# Tamaño máximo de payload cifrado en KB (por defecto 1024 = 1 MB)
HEMMELIG_MAX_ENCRYPTED_PAYLOAD_SIZE=1024
# -----------------------------------------------------------------------------
# ANALÍTICAS — Desactivadas por defecto para máxima privacidad
# -----------------------------------------------------------------------------
# paste.es no usa analíticas por defecto. Actívalas solo si las necesitas.
HEMMELIG_ANALYTICS_ENABLED=false
# Secreto HMAC para anonimizar IDs de visitantes (se genera automáticamente si está vacío)
# HEMMELIG_ANALYTICS_HMAC_SECRET=
# -----------------------------------------------------------------------------
# LOGIN SOCIAL (OAuth) — Opcional
# Descomenta y rellena los proveedores que quieras activar.
# Callback URL: https://paste.es/api/auth/callback/<provider>
# -----------------------------------------------------------------------------
# GitHub
# HEMMELIG_AUTH_GITHUB_ID=tu-github-client-id
# HEMMELIG_AUTH_GITHUB_SECRET=tu-github-client-secret
# Google
# HEMMELIG_AUTH_GOOGLE_ID=tu-google-client-id
# HEMMELIG_AUTH_GOOGLE_SECRET=tu-google-client-secret
# Microsoft / Azure AD
# HEMMELIG_AUTH_MICROSOFT_ID=tu-microsoft-client-id
# HEMMELIG_AUTH_MICROSOFT_SECRET=tu-microsoft-client-secret
# HEMMELIG_AUTH_MICROSOFT_TENANT_ID=common
# Discord
# HEMMELIG_AUTH_DISCORD_ID=tu-discord-client-id
# HEMMELIG_AUTH_DISCORD_SECRET=tu-discord-client-secret
# GitLab
# HEMMELIG_AUTH_GITLAB_ID=tu-gitlab-app-id
# HEMMELIG_AUTH_GITLAB_SECRET=tu-gitlab-app-secret
# OAuth genérico (Authentik, Keycloak, Authelia, etc.)
# HEMMELIG_AUTH_GENERIC_OAUTH='[{"providerId":"authentik","discoveryUrl":"https://auth.tu-dominio.com/.well-known/openid-configuration","clientId":"client-id","clientSecret":"secret","scopes":["openid","profile","email"]}]'
# -----------------------------------------------------------------------------
# WEBHOOKS — Opcional
# Configurable también desde el panel de administración tras el primer arranque.
# -----------------------------------------------------------------------------
# (Los webhooks se configuran desde el panel de administración en /dashboard/instance)
# -----------------------------------------------------------------------------
# GITEA ACTIONS RUNNER — Solo necesario si ejecutas el runner en este servidor
# Obtén el token en: https://devops.cloudhost.es/Malin/paste.es/settings/actions/runners
# Luego arranca con: docker compose -f docker-compose.runner.yml up -d
# -----------------------------------------------------------------------------
# RUNNER_REGISTRATION_TOKEN=