Docker
The repository ships a multi-stage Dockerfile (Node 18 Alpine) and a docker-compose.yml for
the app. The app needs a MongoDB: the steps below add one next to it.
-
Clone the repository
Terminal window git clone https://github.com/RemiDufeu/imprime.io.gitcd imprime.io -
Create the
.envfileDocker Compose reads
.envautomatically. Start from the example and fill in at least the three variables below:Terminal window cp .env.example .env.env MONGODB_URI=mongodb://mongodb:27017/imprimePUBLIC_APP_URL=http://localhost:3023BETTER_AUTH_SECRET=<output of: openssl rand -base64 32>CORS_ORIGIN=http://localhost:3023All options are described in Configuration.
-
Add MongoDB
Create a
docker-compose.override.ymlnext todocker-compose.yml— Compose merges both files automatically:docker-compose.override.yml services:app:depends_on:- mongodbmongodb:image: mongo:7container_name: imprime-mongodbrestart: unless-stoppedvolumes:- mongo-data:/data/dbvolumes:mongo-data: -
Build and start
Terminal window docker compose up -d --buildThe first build takes a few minutes (it builds the four packages).
-
Open Imprime
Go to http://localhost:3023, click Sign up and create the first account. Check the instance is healthy:
Terminal window curl http://localhost:3023/api/health# {"status":"ok","timestamp":"2026-10-22T14:00:00.000Z"}
Directoryimprime.io/
- .env your configuration (never commit it)
- docker-compose.yml
- docker-compose.override.yml MongoDB
- Dockerfile
Directorypackages/
- …
Day-to-day commands
Section titled “Day-to-day commands”| Task | Command |
|---|---|
| Follow logs | docker compose logs -f app |
| Stop | docker compose down |
| Update | git pull && docker compose up -d --build |
| Back up data | docker compose exec mongodb mongodump --archive > imprime-$(date +%F).archive |
| Restore data | docker compose exec -T mongodb mongorestore --archive < imprime-2026-10-22.archive |
Without Compose
Section titled “Without Compose”docker build -t imprime .docker run -d --name imprime -p 3023:3023 \ -e NODE_ENV=production -e PORT=3023 \ -e MONGODB_URI="mongodb://my-mongo-host:27017/imprime" \ -e PUBLIC_APP_URL="https://imprime.example.com" \ -e CORS_ORIGIN="https://imprime.example.com" \ -e BETTER_AUTH_SECRET="$(openssl rand -base64 32)" \ imprime