version: '3' # it's a constant volumes: talerdata: talerlogs: services: talerdb: build: ./images/postgres ports: - ${TALER_DB_PORT:-8888}:5432 volumes: - talerlogs:/logs - talerdata:/var/lib/postgresql/data/ - ${TALER_DEPLOYMENT_CONFIG:-./config/deployment.conf}:/config/deployment.conf environment: # root is the only role existing in the DBMS. That # matches the role used by other containers when # they connect to the database. POSTGRES_USER: root # this changes to the password used by other # containers to connect here. This definition # only makes the init logic happy. POSTGRES_PASSWORD: nonce POSTGRES_HOST_AUTH_METHOD: scram-sha-256 # the final "/postgresql" is used to create # a "postgresql" subfolder in the data volume. PGDATA: /var/lib/postgresql/data/postgresql restart: always exchange: build: ./images/exchange depends_on: - talerdb ports: - ${TALER_EXCHANGE_PORT:-5555}:80 volumes: - talerlogs:/logs - talerdata:/data - ${TALER_DEPLOYMENT_CONFIG:-./config/deployment.conf}:/config/deployment.conf restart: always merchant: build: ./images/merchant depends_on: - talerdb ports: - ${TALER_MERCHANT_PORT:-5556}:80 # backend - ${TALER_BLOG_PORT:-5559}:8080 # blog - ${TALER_DONATIONS_PORT:-5560}:8081 # donations - ${TALER_SURVEY_PORT:-5561}:8082 # survey - ${TALER_LANDING_PORT:-5562}:8083 # landing - ${TALER_SYNC_PORT:-5563}:8084 # sync volumes: - talerlogs:/logs - ${TALER_DEPLOYMENT_CONFIG:-./config/deployment.conf}:/config/deployment.conf restart: always bank: build: ./images/libeufin ports: - ${LIBEUFIN_SANDBOX_PORT:-15000}:15000 # Sandbox - ${LIBEUFIN_NEXUS_PORT:-15001}:15001 # Nexus - ${LIBEUFIN_FRONTEND_PORT:-15002}:80 # Nginx serving the SPA volumes: - talerlogs:/logs - talerdata:/data - ${TALER_DEPLOYMENT_CONFIG:-./config/deployment.conf}:/config/deployment.conf restart: always