diff --git a/README.md b/README.md index f55ed25..cb43566 100644 --- a/README.md +++ b/README.md @@ -38,12 +38,30 @@ In Authentik: ```sh cp .env.example .env # edit .env: APP_BASE_URL, SESSION_SECRET, AUTHENTIK_* - -docker compose up -d --build ``` -The app listens on `HOST_PORT` (default `3000`). SQLite data and session -files persist in `./data` on the host. +Two compose files, depending on where the image comes from: + +- **`docker-compose.yml`** (production) — pulls + `gitea.labsconnect.se/bobban/scheduletaskmanager-schedule-task-manager:latest`. + Requires that image to already exist at that tag (pushed manually or by a + CI pipeline) and, if the registry is private, `docker login gitea.labsconnect.se` + first. + + ```sh + docker compose pull + docker compose up -d + ``` + +- **`docker-compose.dev.yml`** — builds the image locally from source instead + of pulling. Use this for local testing or before a build pipeline exists. + + ```sh + docker compose -f docker-compose.dev.yml up -d --build + ``` + +Either way, the app listens on `HOST_PORT` (default `3000`), and SQLite data +and session files persist in `./data` on the host. ## 3. Local development diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..0bb6d8b --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,14 @@ +services: + schedule-task-manager: + build: . + container_name: schedule-task-manager + restart: unless-stopped + ports: + - "${HOST_PORT:-3000}:3000" + env_file: + - .env + environment: + PORT: 3000 + NODE_ENV: production + volumes: + - ./data:/app/data diff --git a/docker-compose.yml b/docker-compose.yml index 0bb6d8b..ba42844 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: schedule-task-manager: - build: . + image: gitea.labsconnect.se/bobban/scheduletaskmanager-schedule-task-manager:latest container_name: schedule-task-manager restart: unless-stopped ports: