Ir al contenido

Instalación (docker-compose)

Para cualquier cosa más allá de una prueba rápida, ejecuta OpenFishing con docker-compose. Esto te da volúmenes con nombre, variables de entorno en un solo lugar y reinicios sencillos.

services:
openfishing:
image: ghcr.io/m1ndgames/openfishing:latest
container_name: openfishing
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- openfishing-db:/app/data
- openfishing-uploads:/app/uploads
environment:
# Archivo de base de datos SQLite persistente (dentro del volumen /app/data)
- DATABASE_URL=/app/data/openfishing.db
# Directorio de subidas (dentro del volumen /app/uploads)
- UPLOAD_PATH=/app/uploads
# URL pública — usada para los enlaces de código QR y restablecimiento de contraseña
- BASE_URL=https://fishing.yourdomain.com
# Defínelo para habilitar el inicio de sesión; omítelo para una instancia de un solo inquilino totalmente abierta
- ADMIN_PASSWORD=change_me
volumes:
openfishing-db:
openfishing-uploads:

Levántalo:

Terminal window
docker compose up -d

Luego navega a tu BASE_URL (o http://localhost:3000 en local).

Los volúmenes persistentes son obligatorios

Sección titulada «Los volúmenes persistentes son obligatorios»

Los dos volúmenes no son opcionales:

  • /app/data contiene la base de datos SQLite — tus señuelos, puntos, capturas y aparejos.
  • /app/uploads contiene cada foto que añades.

El ejemplo anterior usa lo esencial. La lista completa — SMTP, IA, modo demo, límites de subida y más — está documentada en la referencia de variables de entorno.

Coloca OpenFishing detrás de tu proxy inverso (nginx, Caddy, Traefik…) y termina TLS allí. Define BASE_URL con la URL HTTPS pública para que los códigos QR y los enlaces de restablecimiento de contraseña apunten al lugar correcto, y reenvía las cabeceras de proxy estándar. Consulta las FAQ para más detalles.