Files
fakturovac/README.md
odwetaandCopilot App f4d2c30493 Add CI/CD GitHub Actions workflow for dev image builds
- Run tests on push/PR to main
- Build and push Docker image to GHCR as :dev and :dev-<sha> on push to main
- Document image pull/run instructions in README

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-10 16:05:06 +02:00

1.5 KiB

Fakturovac

A simple app for creating and managing invoices.

The app uses PostgreSQL for accounts, sessions, supplier profiles, and clients. Supplier and client data is private to the signed-in account.

To deploy, run:

make deploy

Or start the stack directly from this directory:

docker compose up --build

Then open http://localhost:3001 and create an account. PostgreSQL data is kept in the postgres-data Docker volume, so it survives app and container restarts. To remove the database as well, run docker compose down -v.

CI/CD

On every push to main, GitHub Actions (.github/workflows/ci-cd.yml) runs the test suite, then builds and publishes a dev image to the GitHub Container Registry:

ghcr.io/odweta/fakturovac:dev

A commit-pinned tag (ghcr.io/odweta/fakturovac:dev-<short-sha>) is published alongside :dev for traceability. Pull requests only run the test job.

To pull and run the latest dev image in a testing environment:

docker login ghcr.io -u <your-github-username>   # only needed if the package is private
docker pull ghcr.io/odweta/fakturovac:dev
docker run -d -p 3001:3001 \
  -e DATABASE_URL=postgres://fakturovac:fakturovac@<db-host>:5432/fakturovac \
  -e NODE_ENV=production \
  ghcr.io/odweta/fakturovac:dev

The package's visibility (public/private) is managed under the repository's Packages settings on GitHub; no extra secrets are required since the workflow authenticates with the built-in GITHUB_TOKEN.