Instalar Contara Server
Contara Server es la edición que corre en tu propio servidor: tu base de datos, tus backups, tu control. Esta guía te lleva de un servidor vacío a Contara funcionando en unos 10 minutos.
1 · Lo que necesitas
| Requisito | Detalle |
|---|---|
| Servidor | Ubuntu 22.04+ (o cualquier Linux x86_64/arm64). Un VPS de 2 vCPU / 4 GB RAM es suficiente (DigitalOcean, Hetzner, Vultr — ~$20/mes) o un servidor en tu oficina. |
| Docker | Docker Engine con Compose v2. Instalación en un comando:curl -fsSL https://get.docker.com | sh |
| Puertos | 80 y 443 libres (el instalador los usa para la web y HTTPS). |
| Licencia | Tu archivo license.key (incluido con la compra). Sin él, Contara corre
en modo evaluación limitado a 1 compañía. |
| Acceso | Una de tres opciones — ver el paso 3. |
1b · Linux, macOS o Windows
Contara corre en contenedores, así que el mismo paquete funciona en los tres sistemas. Lo único que cambia es cómo instalas Docker y desde dónde corres los comandos:
🐧 Linux (recomendado para producción)
- Docker Engine en un comando:
curl -fsSL https://get.docker.com | sh - Corre
./install.shdirecto en la terminal. Todas las opciones de acceso (dominio propio, subdominio incluido, red local) funcionan. - Es lo que usan los VPS (DigitalOcean, Hetzner, Vultr, Azure…) — ideal para acceso desde internet.
🍎 macOS (servidor de oficina o pruebas)
- Instala Docker Desktop para Mac y ábrelo.
- Corre
./install.shen la Terminal, dentro de la carpeta del paquete. - Para una Mac en la oficina usa el modo "Solo red local" (se entra por
http://IP-de-la-Mac). Para HTTPS con dominio propio, la Mac necesita IP pública y los puertos 80/443 abiertos en tu router — poco común; para eso un VPS Linux es mejor. - Ajusta Docker Desktop → Settings → Resources a 4 GB+ de RAM.
🪟 Windows (servidor de oficina o pruebas)
- Instala Docker Desktop para Windows con el backend WSL 2 (el instalador lo activa solo; requiere Windows 10/11 64-bit).
- Abre una terminal de Ubuntu (WSL) — no PowerShell — copia ahí la carpeta del
paquete y corre
./install.shigual que en Linux. - Igual que en Mac: para la oficina usa "Solo red local"
(
http://IP-del-PC); para exponer con dominio e HTTPS, un VPS Linux es la vía sana. - Nota: al reiniciar Windows, Docker Desktop debe arrancar para que Contara vuelva (actívale "Start Docker Desktop when you sign in").
2 · Descarga el paquete
Copia la carpeta deploy/ (el paquete que recibiste con tu compra) a tu servidor:
scp -r deploy/ usuario@tu-servidor:~/contara
ssh usuario@tu-servidor
cd ~/contara
3 · Instala
./install.sh
El instalador pregunta cómo se va a acceder a Contara:
- Dominio propio (ej.
contabilidad.miempresa.com) — apunta el DNS de tu dominio a la IP del servidor antes de instalar. El certificado HTTPS se obtiene y renueva solo (Let's Encrypt). - Subdominio incluido (ej.
tuempresa.cloud.contarapr.com) — viene con tu licencia; nosotros creamos el registro DNS hacia tu IP. HTTPS automático igual que la opción 1. - Solo red local — para un servidor en la oficina sin acceso desde internet.
Se entra por la IP (
http://192.168.x.x).
Después genera las contraseñas, descarga las imágenes y levanta todo. Al terminar imprime la URL de tu Contara.
4 · Aplica tu licencia
- Entra como administrador.
- Ve a Admin → Integrations → License.
- Pega el contenido completo de tu
license.keyy presiona Apply license.
La tarjeta mostrará a nombre de quién está, cuántas compañías permite y hasta cuándo es válida. La licencia queda guardada en tu base de datos: sobrevive actualizaciones y viaja con tus backups.
5 · Primeros pasos en Contara
- Crea tu compañía (o compañías, según tu licencia): nombre, datos fiscales y año fiscal.
- Plan de cuentas: importa el catálogo estándar o copia el de otra compañía (Chart of Accounts → Import standard).
- Períodos fiscales: genera el año (Fiscal Periods → Generate Year).
- Usuarios: invita a tu equipo desde Admin → Users, y asigna su rol por compañía (Owner, Admin, Accountant, Auditor, ReadOnly).
- Opcional: configura SMTP (Admin → Integrations) para que Contara envíe correos, y Plaid si vas a conectar cuentas de banco.
6 · Tus backups (léelo — es tu data)
- Descarga inmediata: Admin → Backups → Download backup now. Es un dump PostgreSQL estándar — restaurable en cualquier instalación de Contara o legible con herramientas estándar.
- Backups automáticos: crea un schedule (diario, semanal…) hacia una carpeta del servidor o hacia otro servidor tuyo por SFTP.
- Restore: Admin → Backups → Restore (asistente guiado, pide confirmación explícita).
update.sh solo).7 · Actualizar Contara
cd ~/contara
./update.sh
Hace un backup automático de la base de datos, descarga la versión nueva y reinicia.
Las migraciones corren solas. Para fijar una versión exacta, edita el .env:
CONTARA_VERSION=1.6.1
8 · Operación diaria
docker compose ps # estado de los servicios
docker compose logs -f api # logs en vivo del API
docker compose restart # reinicio completo
docker compose down # detener (los datos persisten)
Los datos viven en volúmenes de Docker (contara_db-data, contara_backups,
contara_storage) — sobreviven a reinicios, actualizaciones y down.
9 · Base de datos externa (opcional)
Si ya tienes un servidor PostgreSQL (15+, recomendado 17) y no quieres usar el incluido, edita el .env:
COMPOSE_PROFILES= # vacío: el Postgres del paquete no se levanta
API_TEMPLATE_DB=Host=mi-servidor;Port=5432;Database=contara;Username=contara;Password=...
y docker compose up -d. Migraciones y backups funcionan igual.
10 · Problemas comunes
| Síntoma | Causa y solución |
|---|---|
| El navegador dice "no seguro" en modo red local | Normal: sin dominio público no hay certificado de Let's Encrypt. Para la LAN de una oficina es aceptable, o consulta el README del paquete para el certificado autofirmado de Caddy. |
| "Your license allows up to N companies" | Alcanzaste el límite de tu licencia. Contacta para ampliarla; se aplica pegando la licencia nueva, sin reinstalar. |
| No llega el certificado HTTPS | Verifica que el dominio apunte a la IP del servidor (dig tudominio) y que los puertos
80/443 estén abiertos en el firewall del proveedor. |
| El administrador olvidó su contraseña y no hay SMTP | Desde el servidor (tener acceso SSH es la prueba de que eres el dueño):docker compose exec api dotnet WebApi.dll reset-password admin@tuempresa.comImprime una contraseña nueva. También puedes pasarla tú: … reset-password admin@tuempresa.com "MiNuevaClave1!".
Para cualquier otro usuario, un administrador la resetea desde Admin → Users. |
| El API no arranca tras un update | docker compose logs api muestra el motivo. Para volver atrás: fija
CONTARA_VERSION a la versión anterior en el .env,
docker compose up -d, y restaura el backup pre-update de pre-update-backups/. |
Soporte
Escríbenos a jose.ramos@yucastudiospr.com e incluye en tu mensaje:
- El Installation ID (Admin → Integrations → License)
- La versión de Contara (pantalla About)