LibreDTE es un proyecto que tiene por objetivo proveer Facturación Electrónica Libre para Chile.
Revisa el sitio web de LibreDTE Core para más información, sus características y detalles de su uso.
El contenedor siempre escucha internamente en el puerto 80 (fijo, no se
configura). El puerto externo lo eliges tú al mapearlo con -p, sin ninguna
relación con el interno.
APP_URL es aparte: es la URL que la propia API usa para armar enlaces
absolutos en sus respuestas (HATEOAS, spec de OpenAPI, etc.), y debería
apuntar al puerto externo que elegiste para que esos enlaces sean correctos.
Si no la configuras, o no coincide con el puerto externo real, la API igual
funciona — solo los enlaces que devuelve quedarán con la URL por defecto.
docker run -d --name libredte-lib-core-api --rm -p 8080:80 -e APP_URL=http://localhost:8080 \
ghcr.io/libredte/libredte-lib-core-api:latest-d lo deja corriendo en segundo plano (sin -d se queda en primer plano y
Ctrl+C lo detiene). --rm hace que el contenedor se borre solo cuando lo
detengas, en vez de quedar acumulado como "Exited". Para ver los logs o
detenerlo:
docker logs -f libredte-lib-core-api
docker stop libredte-lib-core-apiPara usar otro puerto externo (ej. 9090), cambia ambos valores:
docker run -d --name libredte-lib-core-api --rm -p 9090:80 -e APP_URL=http://localhost:9090 \
ghcr.io/libredte/libredte-lib-core-api:latestLos ejemplos anteriores usan --rm: cómodo para probar, pero no vuelve a
levantarse solo si reinicias el host (--restart y --rm son mutuamente
excluyentes en Docker). Para un servicio persistente que sobreviva reinicios,
saca --rm y usa --restart unless-stopped:
docker run -d --name libredte-lib-core-api --restart unless-stopped \
-p 8080:80 -e APP_URL=http://localhost:8080 \
ghcr.io/libredte/libredte-lib-core-api:latestEsto asume que el propio Docker arranca al iniciar el host: en Docker
Desktop necesitas tener activado "iniciar Docker Desktop al iniciar sesión";
en Linux con systemd, dockerd normalmente ya arranca solo.
git clone git@github.com:LibreDTE/libredte-lib-core-api.git
cd libredte-lib-core-api
docker compose up -d(sin -d también queda en primer plano; con -d corre en segundo plano y
docker compose logs -f / docker compose down sirven para verlo o
detenerlo).
docker-compose.yml expone dos variables de entorno independientes, cada
una con su propio default (8080 para ambas, pero no están ligadas entre
sí):
PORT: el puerto externo publicado en el host (el interno del contenedor siempre es 80).APP_URL: la URL que la API usa para armar sus enlaces.
Para usar otro puerto:
PORT=9090 APP_URL=http://localhost:9090 docker compose up -dEn vez de usar la publicada en GHCR:
docker build -t libredte-lib-core-api .git clone git@github.com:LibreDTE/libredte-lib-core-api.git
cd libredte-lib-core-api
composer install
cp .env-dist .env
php -S localhost:8080 -t public