eac2671529553e193dcb8ae6ed9966695607b0b6
Some checks failed
Deploy / deploy (push) Has been cancelled
Nginx SSL reverse proxy (port 8443) in front of Geth using Let's Encrypt cert via Cloudflare DNS challenge. MetaMask mobile requires HTTPS for custom RPC URLs. Also adds AFC token icon served from bridge API static files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Project Afterlife
Plataforma de preservacion de videojuegos con documentales interactivos. Servidores privados de juegos que ya no existen, acompanados de documentales narrativos que cuentan su historia.
Estado Actual
| Servicio | Estado | Puerto | RAM |
|---|---|---|---|
| Next.js 15 (frontend) | En linea | 3000 | ~111 MB |
| Strapi 5 (CMS) | En linea | 1337 | ~179 MB |
| PostgreSQL 16 | En linea | 5432 | ~57 MB |
| MinIO (almacenamiento) | En linea | 9000/9001 | ~144 MB |
| OpenFusion (FusionFall) | En linea | 23000-23001 | ~254 MB |
| MapleStory 2 - World | En linea | 21001 | ~126 MB |
| MapleStory 2 - Login | En linea | 20001 | ~100 MB |
| MapleStory 2 - Web | En linea | 4000 | ~70 MB |
| MapleStory 2 - Game Ch0 | En linea | 20002/21002 | ~341 MB |
| MapleStory 2 - MySQL | En linea | 3307 | ~733 MB |
| Minecraft FTB Evolution | En linea | 25565 | ~3.5 GB |
Total: ~5.6 GB RAM / 40 GB disponibles | 31 GB disco / 96 GB disponibles
Juegos Preservados
FusionFall (Cartoon Network Universe)
- Emulador: OpenFusion (C++)
- Conexion:
play.consultoria-as.com:23000(o192.168.10.234:23000en LAN) - Cliente: FusionFall Retro Client
- Documental: "FusionFall: El Mundo Que No Queriamos Perder" (7 capitulos)
MapleStory 2
- Emulador: Maple2 (C# .NET 8)
- Conexion:
play.consultoria-as.com:20001(o192.168.10.234:20001en LAN) - Cliente: MapleStory 2 Global Client + XML Patches
- Documental: "MapleStory 2: El Mundo Que Construimos Juntos" (7 capitulos)
Minecraft: FTB Evolution
- Servidor: itzg/minecraft-server (Java 21)
- Conexion:
play.consultoria-as.com:25565(o192.168.10.234:25565en LAN) - Cliente: FTB App o launcher compatible con FTB Evolution v1.29.1
- Modpack: 200+ mods, Minecraft 1.21.1 + NeoForge 21.1.218
Arquitectura
project-afterlife/
├── apps/
│ ├── cms/ # Strapi 5 CMS (React 18)
│ └── web/ # Next.js 15 frontend (React 19)
├── packages/
│ └── shared/ # Tipos TypeScript compartidos
├── servers/
│ ├── openfusion/ # Servidor FusionFall (C++)
│ └── maple2/ # Servidor MapleStory 2 (C# .NET 8)
├── docker/
│ ├── docker-compose.dev.yml # Stack local (web + CMS + juegos)
│ ├── docker-compose.maple2.yml # MapleStory 2 (separado)
│ ├── docker-compose.yml # Produccion (con Nginx + SSL)
│ └── nginx/ # Configuracion Nginx
├── docs/ # Documentacion del proyecto
└── .github/workflows/ # CI/CD deployment
Stack Tecnologico
| Componente | Tecnologia | Version |
|---|---|---|
| Frontend | Next.js + TypeScript | 15.x |
| UI | Tailwind CSS | v4 |
| i18n | next-intl | 4.8.3 |
| CMS | Strapi | 5.36.0 |
| Base de datos (CMS) | PostgreSQL | 16 |
| Base de datos (MS2) | MySQL | 8.0 |
| Almacenamiento | MinIO (S3) | Latest |
| Audio | Howler.js | 2.2.4 |
| Animaciones | Framer Motion | 12.x |
| Monorepo | npm workspaces + Turborepo | - |
| CI/CD | GitHub Actions | - |
| Reverse Proxy | Nginx | Alpine |
Inicio Rapido
Requisitos
- Docker y Docker Compose v2+
- 8 GB RAM minimo (16 GB recomendado con todos los servidores)
- 50 GB disco libre
1. Clonar y configurar
git clone https://git.consultoria-as.com/consultoria-as/project-afterlife.git
cd project-afterlife
2. Crear archivo de entorno
cp docker/.env.example docker/.env
# Editar docker/.env con las claves necesarias
Variables requeridas en docker/.env:
# Base de datos
DATABASE_NAME=afterlife
DATABASE_USERNAME=afterlife
DATABASE_PASSWORD=afterlife
# MinIO
MINIO_ROOT_USER=afterlife
MINIO_ROOT_PASSWORD=afterlife123
# Strapi (generar con openssl rand -base64 32)
APP_KEYS=
API_TOKEN_SALT=
ADMIN_JWT_SECRET=
TRANSFER_TOKEN_SALT=
JWT_SECRET=
# API Token (crear en Strapi Admin > Settings > API Tokens)
STRAPI_API_TOKEN=
# Strapi URL publica
PUBLIC_STRAPI_URL=http://localhost:1337
# OpenFusion
OPENFUSION_SHARD_IP=192.168.10.234
3. Levantar servicios base
cd docker
# Stack principal (CMS + Web + OpenFusion + Minecraft FTB)
docker compose -f docker-compose.dev.yml up -d
# MapleStory 2 (requiere setup previo, ver docs/game-servers.md)
docker compose -f docker-compose.maple2.yml up -d
4. Setup inicial de Strapi
- Abrir http://localhost:1337/admin
- Crear usuario administrador
- Ir a Settings > API Tokens > Create new API Token
- Tipo: Full access, copiar el token a
STRAPI_API_TOKENen.env - Reiniciar el servicio web:
docker compose -f docker-compose.dev.yml restart web
5. Verificar
- Frontend: http://localhost:3000
- CMS Admin: http://localhost:1337/admin
- MinIO Console: http://localhost:9001
Documentacion Completa
| Documento | Descripcion |
|---|---|
| README.md | Este archivo — vision general y estado |
| docs/architecture.md | Arquitectura tecnica detallada |
| docs/game-servers.md | Setup y operacion de servidores de juegos |
| docs/cms-content.md | Modelo de contenido CMS y documentales |
| docs/deployment.md | Guia de despliegue a produccion |
| docs/plans/ | Documentos de diseno e implementacion |
Rutas de la Web
| Ruta | Descripcion |
|---|---|
/es o /en |
Pagina principal con hero y ultimos juegos |
/es/catalog |
Catalogo de juegos con filtros |
/es/about |
Sobre el proyecto |
/es/donate |
Pagina de donaciones |
/es/games/[slug] |
Pagina individual de juego |
/es/games/[slug]/documentary |
Documental interactivo |
Contenido en Base de Datos
Juegos
| Slug | Titulo | Estado | Documental |
|---|---|---|---|
fusionfall |
FusionFall | Online | 7 capitulos |
maplestory2 |
MapleStory 2 | Online | 7 capitulos |
minecraft-ftb-evolution |
Minecraft: FTB Evolution | Online | Pendiente |
Documentales
| Juego | Titulo | Capitulos |
|---|---|---|
| FusionFall | "El Mundo Que No Queriamos Perder" | 7 |
| MapleStory 2 | "El Mundo Que Construimos Juntos" | 7 |
Cada documental tiene sus 7 capitulos publicados en ambos idiomas (ES/EN).
Licencia
Proyecto privado. Todos los derechos reservados. Los emuladores de juegos utilizados son proyectos open-source independientes con sus propias licencias.
Description
Languages
TypeScript
73.1%
JavaScript
15.9%
Lua
5.2%
Dockerfile
3.6%
Shell
1.3%
Other
0.9%