Ejecutar en un servidor
Celerp siempre se ejecuta en tu propio hardware: la app de escritorio convierte tu equipo en el servidor con un solo clic. Esta guía explica cómo ejecutarlo en un servidor Linux aparte y siempre encendido (un VPS o un servidor doméstico), para que toda tu oficina pueda acceder a él a todas horas. La misma vía pip install celerp que se usa en el escritorio funciona en cualquier servidor Linux.
Requisitos
- Python 3.11+
- Postgres 14+ (en ejecución y accesible)
- Un usuario con acceso
sudo(necesario para quecelerp initcree el usuario y la base de datos de Postgres)
Instalar e inicializar
pip install celerp
celerp init
celerp init es interactivo. Hará lo siguiente:
- Pedir una URL de conexión a Postgres (o aceptar la predeterminada:
postgresql+asyncpg://celerp:celerp@localhost:5432/celerp) - Crear el usuario y la base de datos de Postgres (mediante
sudo -u postgres psql) - Generar un secreto JWT
- Ejecutar las migraciones
- Escribir un archivo de configuración (
~/.celerp/config.toml)
Iniciar el servidor
celerp start
Esto inicia dos procesos:
- Servidor de la API en el puerto
8000 - Servidor de la interfaz en el puerto
8080
Abre http://your-server-ip:8080 en un navegador para acceder a Celerp.
Ejecutar como servicio de systemd
Para que Celerp siga ejecutándose tras cerrar sesión y arranque solo al reiniciar:
sudo tee /etc/systemd/system/celerp.service <<EOF
[Unit]
Description=Celerp ERP
After=network.target postgresql.service
[Service]
Type=simple
User=$USER
ExecStart=$(which celerp) start
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now celerp
Proxy inverso (nginx + HTTPS)
Para publicar Celerp en un dominio con HTTPS, pasa tanto la interfaz como la API por nginx:
server {
server_name erp.yourdomain.com;
# UI
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
# API
location /api/ {
proxy_pass http://localhost:8000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/erp.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/erp.yourdomain.com/privkey.pem;
}
Usa Certbot para obtener un certificado SSL gratuito.
Actualización
celerp upgrade
Esto ejecuta pip install --upgrade celerp y aplica automáticamente las migraciones pendientes.
Multiusuario en la red local
Si ejecutas Celerp en un equipo de tu red local, los demás usuarios de esa red pueden acceder desde su navegador en http://your-machine-ip:8080. Asegúrate de que tu cortafuegos permita conexiones entrantes en los puertos 8000 y 8080.