- Docker Desktop instalado
- Verifica en tu configuración de Git que la opción
core.autocrlf
tiene el valorinput
- Clona Central desde https://github.com/getodk/central.git
- Ve a la carpeta
central
y ejecutargit submodule update -i
- Edita
.env
con los siguientes parámetros:
SSL_TYPE=selfsign
DOMAIN=localhost
SYSADMIN_EMAIL=<tu-email>
- Ejecuta
docker-compose build
. Al cabo de unos minutos, este comando debería finalizar con "Successfully built (...)" - Ejecuta
docker-compose up --no-start
. El resultado debería ser algo así:
central-lf_postgres_1 is up-to-date
pyxform is up-to-date
enketo_redis_main is up-to-date
enketo_redis_cache is up-to-date
Recreating mail ... done
Recreating enketo ... done
Recreating service ... done
Recreating nginx ... done
- Ejecuta
docker-compose up -d
. Si todo salió como debía, verás el siguiente mensajeÑ
Starting secrets ... done
Starting central-lf_postgres_1 ... done
Starting enketo_redis_cache ... done
Starting pyxform ... done
Starting enketo_redis_main ... done
Starting enketo ... done
Starting enketo ... done
Starting service ... done
Recreating nginx ... done
- Verifica que el servidor está corriendo con el comando
docker-compose ps
. Todos los servicios deberían tener estado "Up". Singinx
muestra "Up (health: starting)", espera unos minutos hasta que cambie. - Ejecuta
docker-compose exec service odk-cmd --email tuemail@ejemplo.com user-create
, reemplanzandotuemail@ejemplo.com
por el email que quieras usar. docker-compose exec service odk-cmd --email tuemail@ejemplo.com user-promote
(TODO: https://docs.getodk.org/central-upgrade/#upgrading-central)
- Resetear contraseña:
docker-compose exec service odk-cmd --email tuemail@ejemplo.com user-set-password
- Reiniciar servicios:
docker-compose restart
- Parar servicios:
docker-compose stop
- (Desde bash) Comprobar estado de un contenedor:
docker inspect --format "{{json .State.Health }}" <nombre contenedor> | jq
- Al ejecutar
docker-compose build
, en el pasoBuilding nginx
:
Step 3/19 : RUN files/prebuild/write-version.sh
---> Running in b9a3442f63ba
/bin/sh: 1: files/prebuild/write-version.sh: not found
ERROR: Service 'nginx' failed to build : The command '/bin/sh -c files/prebuild/write-version.sh' returned a non-zero code: 127
SOLUCIÓN: Ir a la carpeta files/prebuild/
y borrar línea #!/bin/sh
de build-frontend.sh y write-version.sh
- Al ejecutar
docker-compose build
, en el pasoBuilding nginx
:
npm ERR! missing script: build
npm ERR!
npm ERR! Did you mean this?
npm ERR! build
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-11-01T16_46_50_661Z-debug.log
: not foundild/build-frontend.sh: 2: files/prebuild/build-frontend.sh:
ERROR: Service 'nginx' failed to build : The command '/bin/sh -c files/prebuild/build-frontend.sh' returned a non-zero code: 127
SOLUCIÓN: esto ocurre al ejecutar ejecutar el comando anterior después de haber clonado el repositorio utilizando CRLF en lugar de LF.
- Windows 10, versión 1903 o posterior
- WSL2
- Paquete de actualización del kernel de Linux
- Verificar que la distro de Linux está usando WSL2
wsl.exe -l -v
- Si la versión mostrada es 1, ejecutar el siguiente comando:
wsl.exe --set-version (nombre de distro) 2
-
Arrancar Docker Desktop. En
Settings
>WSL Integration
, activar la integración para la distro elegida. Applicar y reiniciar Docker Desktop. -
Seguir pasos en https://docs.getodk.org/central-install-digital-ocean/#getting-and-setting-up-central
git clone https://github.com/getodk/central && cd central
git submodule update -i
- Editar
.env
:
SSL_TYPE=selfsign
DOMAIN=localhost
SYSADMIN_EMAIL=tuemail@ejemplo.com
docker-compose build
docker-compose up --no-start
docker-compose up -d
- Cuando nginx esté arriba
docker-compose exec service odk-cmd --email tuemail@ejemplo.com user-create
docker-compose exec service odk-cmd --email tuemail@ejemplo.com user-promote