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

RequisitoDetalle
ServidorUbuntu 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.
DockerDocker Engine con Compose v2. Instalación en un comando:
curl -fsSL https://get.docker.com | sh
Puertos80 y 443 libres (el instalador los usa para la web y HTTPS).
LicenciaTu archivo license.key (incluido con la compra). Sin él, Contara corre en modo evaluación limitado a 1 compañía.
AccesoUna 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)

🍎 macOS (servidor de oficina o pruebas)

🪟 Windows (servidor de oficina o pruebas)

¿La versión sin instalar nada? Contara Cloud: nosotros lo hospedamos, con respaldos diarios y tu propia dirección — ver ediciones.

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:

  1. 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).
  2. 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.
  3. 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.

Primer acceso: al abrir la URL por primera vez, Contara te recibe con un asistente para crear tu cuenta de administrador (nombre, correo y contraseña tuyos). No hay contraseñas por defecto: la cuenta que creas es la dueña de la instalación.

4 · Aplica tu licencia

  1. Entra como administrador.
  2. Ve a Admin → Integrations → License.
  3. Pega el contenido completo de tu license.key y 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.

Qué pasa cuando vence: Contara pasa a modo solo lectura — puedes seguir viendo todo, exportar reportes y descargar tus backups completos (tu data es tuya, siempre), pero no registrar operaciones nuevas hasta renovar. Renovar es pegar la licencia nueva en la misma pantalla; se desbloquea al instante. Desde 30 días antes verás un aviso.

5 · Primeros pasos en Contara

  1. Crea tu compañía (o compañías, según tu licencia): nombre, datos fiscales y año fiscal.
  2. Plan de cuentas: importa el catálogo estándar o copia el de otra compañía (Chart of Accounts → Import standard).
  3. Períodos fiscales: genera el año (Fiscal Periods → Generate Year).
  4. Usuarios: invita a tu equipo desde Admin → Users, y asigna su rol por compañía (Owner, Admin, Accountant, Auditor, ReadOnly).
  5. 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)

Recomendación mínima: un schedule diario con retención de 14 días, y una descarga manual antes de cada actualización (la hace 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íntomaCausa 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.com
Imprime 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: