View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0010163 | Taler | merchant backend | public | 2025-07-08 23:12 | 2025-07-08 23:12 |
Reporter | hank | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | always |
Status | new | Resolution | open | ||
Product Version | 1.0 | ||||
Summary | 0010163: Dockerfile, docker-compose.yaml and Kubernetes files | ||||
Description | Dockerfile would benefit from pinning to a *known stable combination* of merchant, exchange and gnunet. e.g. (example, doesn't work): RUN git clone --branch v0.24.2 --recurse-submodules git://git.gnunet.org/gnunet.git RUN git clone --branch v1.0.12 --recurse-submodules git://git.taler.net/exchange.git RUN git clone --branch v1.0.3 --recurse-submodules git://git.taler.net/merchant.git | ||||
Tags | No tags attached. | ||||
Attached Files | docker-compose.yaml (3,330 bytes)
name: taler services: postgres: image: postgres:17-alpine environment: POSTGRES_PASSWORD: password POSTGRES_DB: taler-merchant volumes: - postgresql_socket:/var/run/postgresql - db-data:/var/lib/postgresql/data healthcheck: test: pg_isready --dbname=postgres://postgres:password@/postgres interval: 10s timeout: 1s retries: 5 start_period: 5s start_interval: 1s init-db: image: taler-merchant:latest command: taler-merchant-dbinit -c /etc/taler/taler.conf environment: PGUSER: postgres PGPASSWORD: password volumes: - type: bind source: ./taler.conf target: /etc/taler/taler.conf read_only: true - postgresql_socket:/var/run/postgresql depends_on: postgres: condition: service_healthy httpd: ports: - 8080:8080 image: taler-merchant:latest command: taler-merchant-httpd -c /etc/taler/taler.conf environment: PGUSER: postgres PGPASSWORD: password volumes: - type: bind source: ./taler.conf target: /etc/taler/taler.conf read_only: true - postgresql_socket:/var/run/postgresql depends_on: postgres: condition: service_healthy init-db: condition: service_completed_successfully webhook: image: taler-merchant:latest command: taler-merchant-webhook -c /etc/taler/taler.conf environment: PGUSER: postgres PGPASSWORD: password volumes: - type: bind source: ./taler.conf target: /etc/taler/taler.conf read_only: true - postgresql_socket:/var/run/postgresql depends_on: postgres: condition: service_healthy init-db: condition: service_completed_successfully wirewatch: image: taler-merchant:latest command: taler-merchant-wirewatch -c /etc/taler/taler.conf environment: PGUSER: postgres PGPASSWORD: password volumes: - type: bind source: ./taler.conf target: /etc/taler/taler.conf read_only: true - postgresql_socket:/var/run/postgresql depends_on: postgres: condition: service_healthy init-db: condition: service_completed_successfully depositcheck: image: taler-merchant:latest command: taler-merchant-depositcheck -c /etc/taler/taler.conf environment: PGUSER: postgres PGPASSWORD: password volumes: - type: bind source: ./taler.conf target: /etc/taler/taler.conf read_only: true - postgresql_socket:/var/run/postgresql depends_on: postgres: condition: service_healthy init-db: condition: service_completed_successfully exchangekeyupdate: image: taler-merchant:latest command: taler-merchant-exchangekeyupdate -c /etc/taler/taler.conf environment: PGUSER: postgres PGPASSWORD: password volumes: - type: bind source: ./taler.conf target: /etc/taler/taler.conf read_only: true - postgresql_socket:/var/run/postgresql depends_on: postgres: condition: service_healthy init-db: condition: service_completed_successfully volumes: db-data: postgresql_socket: driver: local Dockerfile (1,451 bytes)
FROM debian:bookworm AS build RUN apt-get update RUN apt-get -y install git pkg-config jq meson recutils autopoint texinfo RUN apt-get -y install libqrencode-dev libsqlite3-dev libltdl-dev libunistring-dev libsodium-dev libargon2-dev libcurl4-gnutls-dev libgcrypt20-dev libjansson-dev libpq-dev libmicrohttpd-dev zlib1g-dev RUN apt-get -y install python3-jinja2 postgresql-client-15 RUN mkdir /build WORKDIR /build RUN git clone --branch master --recurse-submodules git://git.gnunet.org/gnunet.git RUN git clone --branch master --recurse-submodules git://git.taler.net/exchange.git RUN git clone --branch master --recurse-submodules git://git.taler.net/merchant.git WORKDIR /build/gnunet RUN ./configure --disable-documentation RUN make RUN make install RUN ldconfig WORKDIR /build/exchange RUN ./bootstrap RUN ./configure --with-gnunet=/usr/local RUN make RUN make install RUN ldconfig WORKDIR /build/merchant RUN ./bootstrap RUN ./configure --with-exchange=/usr/local --with-gnunet=/usr/local RUN make RUN make install RUN ldconfig FROM debian:bookworm RUN apt-get update RUN apt-get -y install libqrencode4 libsqlite3-0 libltdl7 libunistring2 libsodium23 libargon2-1 libcurl3-gnutls libgcrypt20 libjansson4 libpq5 libmicrohttpd12 zlib1g RUN apt-get -y install postgresql-client-15 COPY --from=build /usr/local/bin /usr/local/bin COPY --from=build /usr/local/lib /usr/local/lib COPY --from=build /usr/local/share /usr/local/share RUN ldconfig | ||||