Split docker-compose into production (pull) and dev (build) files

docker-compose.yml now pulls the pre-built image from
gitea.labsconnect.se/bobban/scheduletaskmanager-schedule-task-manager:latest
instead of building locally; the old build-from-source file moves to
docker-compose.dev.yml for local testing or before a push pipeline
exists. README documents both paths.
This commit is contained in:
2026-09-08 21:28:14 +02:00
parent 8d5729822d
commit 606c9280fa
3 changed files with 37 additions and 5 deletions
+22 -4
View File
@@ -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
+14
View File
@@ -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
+1 -1
View File
@@ -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: