Skip to content
Esta página fue generada y traducida con asistencia de IA. Si encuentra alguna imprecisión, no dude en ayudar a mejorarla. Editar en GitHub

Instalación

Fenfa soporta dos métodos de instalación: Docker (recomendado) y compilación desde el código fuente.

Recomendado

Docker es la forma más rápida de comenzar. Un solo comando te da una instancia de Fenfa completamente funcional sin herramientas de compilación.

Prerrequisitos

RequisitoMínimoNotas
Docker20.10+O Podman 3.0+
Go (solo compilación desde fuente)1.25+No necesario para Docker
Node.js (solo compilación desde fuente)20+Para compilar el frontend
Espacio en Disco100 MBMás almacenamiento para builds subidos

Método 1: Docker (Recomendado)

Descarga y ejecuta la imagen oficial:

bash
docker run -d \
  --name fenfa \
  -p 8000:8000 \
  fenfa/fenfa:latest

Visita http://localhost:8000/admin e inicia sesión con el token predeterminado dev-admin-token.

Seguridad

Los tokens predeterminados son solo para desarrollo. Consulta Despliegue en Producción para configurar tokens seguros antes de exponer Fenfa a internet.

Con Almacenamiento Persistente

Monta volúmenes para la base de datos y los archivos subidos:

bash
docker run -d \
  --name fenfa \
  --restart=unless-stopped \
  -p 8000:8000 \
  -v ./data:/data \
  -v ./uploads:/app/uploads \
  fenfa/fenfa:latest

Con Configuración Personalizada

Monta un archivo config.json para control total sobre todos los ajustes:

bash
docker run -d \
  --name fenfa \
  --restart=unless-stopped \
  -p 8000:8000 \
  -v ./data:/data \
  -v ./uploads:/app/uploads \
  -v ./config.json:/app/config.json:ro \
  fenfa/fenfa:latest

Consulta la Referencia de Configuración para todas las opciones disponibles.

Variables de Entorno

Sobreescribe valores de configuración sin un archivo de configuración:

bash
docker run -d \
  --name fenfa \
  -p 8000:8000 \
  -e FENFA_ADMIN_TOKEN=your-secret-admin-token \
  -e FENFA_UPLOAD_TOKEN=your-secret-upload-token \
  -e FENFA_PRIMARY_DOMAIN=https://dist.example.com \
  -v ./data:/data \
  -v ./uploads:/app/uploads \
  fenfa/fenfa:latest
VariableDescripciónPredeterminado
FENFA_PORTPuerto HTTP8000
FENFA_DATA_DIRDirectorio de la base de datosdata
FENFA_PRIMARY_DOMAINURL de dominio públicohttp://localhost:8000
FENFA_ADMIN_TOKENToken de administradordev-admin-token
FENFA_UPLOAD_TOKENToken de subidadev-upload-token

Método 2: Docker Compose

Crea un docker-compose.yml:

yaml
version: "3.8"
services:
  fenfa:
    image: fenfa/fenfa:latest
    container_name: fenfa
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      FENFA_ADMIN_TOKEN: your-secret-admin-token
      FENFA_UPLOAD_TOKEN: your-secret-upload-token
      FENFA_PRIMARY_DOMAIN: https://dist.example.com
    volumes:
      - ./data:/data
      - ./uploads:/app/uploads

Inicia el servicio:

bash
docker compose up -d

Método 3: Compilar desde el Código Fuente

Clona el repositorio:

bash
git clone https://github.com/openprx/fenfa.git
cd fenfa

Usando Make

El Makefile automatiza la compilación completa:

bash
make build   # builds frontend + backend
make run     # starts the server

Compilación Manual

Compila primero las aplicaciones frontend y luego el backend Go:

bash
# Build the public download page
cd web/front && npm ci && npm run build && cd ../..

# Build the admin panel
cd web/admin && npm ci && npm run build && cd ../..

# Build the Go binary
go build -o fenfa ./cmd/server

El frontend se compila en internal/web/dist/ y se embebe en el binario Go mediante go:embed. El binario fenfa resultante es completamente autocontenido.

Ejecutar el Binario

bash
./fenfa

Fenfa inicia en el puerto 8000 por defecto. La base de datos SQLite se crea automáticamente en el directorio data/.

Verificar la Instalación

Abre tu navegador en http://localhost:8000/admin e inicia sesión con el token de administrador. Deberías ver el panel de administración.

Comprueba el endpoint de salud:

bash
curl http://localhost:8000/healthz

Respuesta esperada:

json
{"ok": true}

Siguientes Pasos

Released under the Apache-2.0 License.