Browse Source

move grocery docker-compose file here

Pi 1 month ago
parent
commit
19eeb8a451
3 changed files with 70 additions and 1 deletions
  1. 43 0
      docker-compose.yml
  2. 26 0
      run.sh
  3. 1 1
      sqlpage/sqlpage/sqlpage.json

+ 43 - 0
docker-compose.yml

@@ -0,0 +1,43 @@
+---
+version: '3.9'
+
+services:
+
+  web:
+    image: lovasoa/sqlpage:latest
+    hostname: grocery-web
+    volumes:
+      - ./sqlpage:/var/www/
+      - ./sqlpage/sqlpage:/etc/sqlpage:ro
+      - ./sqlpage/sqlpage/sqlpage.json:/etc/sqlpage/sqlpage.json:ro
+    ports:
+      - 192.168.0.20:6762:6772
+    expose:
+      - 6772
+    restart: always
+    networks:
+      - priv
+
+  db:
+    image: docker.io/library/postgres:17-alpine
+    hostname: grocery-db
+    restart: unless-stopped
+    environment:
+      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
+      TZ: Pacific/Auckland
+      PGTZ: Pacific/Auckland
+    expose:
+      - 5432
+    shm_size: 128mb
+    volumes:
+      - ./data:/var/lib/postgresql/data
+    networks:
+      - priv
+
+networks:
+  priv:
+    enable_ipv6: true
+    ipam:
+      config:
+       - subnet: fd00:0001::/64
+

+ 26 - 0
run.sh

@@ -0,0 +1,26 @@
+#!/bin/bash
+
+mkdir data
+pg_dump -d grocery -Ft -f- > dump
+podman-compose -p grocery up -d
+podman exec -i grocery_db_1 psql -U postgres -b < <( cat <<EOF
+--CREATE DATABASE grocery;
+--DROP DATABASE grocery;
+CREATE ROLE pi;
+CREATE ROLE das;
+CREATE ROLE grocery_ro;
+ALTER ROLE grocery_ro LOGIN;
+EOF
+)
+podman exec -i  grocery_db_1 pg_restore -U postgres -Ce --dbname postgres  < dump
+podman exec -i grocery_db_1 bash -c 'cat >> /var/lib/postgresql/data/pg_hba.conf' <<EOF
+host    grocery         grocery_ro      ::1/128                 trust
+host    grocery         grocery_ro      127.0.0.1/32            trust
+host    grocery         grocery_ro      10.0.0.0/8              trust
+host    grocery         grocery_ro      172.16.0.0/12           trust
+host    grocery         grocery_ro      192.168.0.20/32         trust
+host    grocery         grocery_ro      192.168.0.100/32         trust
+EOF
+podman exec  -i grocery_db_1 bash -c 'kill -HUP 1'
+
+

+ 1 - 1
sqlpage/sqlpage/sqlpage.json

@@ -1,5 +1,5 @@
 {
-  "database_url": "postgresql://grocery_ro@192.168.0.20/grocery",
+  "database_url": "postgresql://grocery_ro@grocery-db/grocery",
   "site_prefix": "/grocery",
   "port": 6772
 }