Grocy – ERP beyond your fridge

Grocy - dockeril.net

Grocy הנה מערכת ERP לניהול רשימת קניות ותחזוקת הבית הכתובה בקוד פתוח וניתנת להתקנה כ Self Hosted על השרת הביתי שלכם או בענן. למערכת ממשק וובי נוח לשימוש המותאם גם לתצוגת מובייל.
במדריך זה אסביר כיצד להתקין את המערכת על סביבת docker-compose אך לפני שנתחיל יש לוודא כי התקנתם docker-compose על פי המדריך הבא.

שלב א' – התקנת המערכת על גבי docker-compose

על מנת להתקין את Grocy ערכו את קובץ ה docker-compose.yaml והוסיפו את השורות הבאות:

  grocy:
    image: linuxserver/grocy
    container_name: grocy
    environment:
      - PUID={PUID}
      - PGID={PGID}
      - TZ={TZ}
    volumes:
      - ./grocy:/config
    ports:
      - 80:80
    restart: unless-stopped

שמרו את הקובץ והריצו את הפקודה הבאה:

docker-compose up -d

במידה וההתקנה עברה בצורה תקינה, נוכל לראות כי נוסף קונטיינר נוסף למערכת:

Grocy container - portainer display

כעת ניתן לפתוח את הדפדפן ולגלוש לכתובת השרת, ונקבל את מסך ההתחברות:

Grocy Login Page - Dockeril.net

שלב ב' – בונוס – שימוש ב Traefik לצורך גישה למערכת מבחוץ

על מנת לאפשר גישה למערכת גם מחוץ לרשת הביתית, ניתן להשתמש ברשת Reverse Proxy. בחלק זה של המדריך אסביר כיצד ניתן ליישם זאת באמצעות Traefik עליו כתבתי בהרחבה כאן.

על מנת ליישם את השימוש ב Traefik יש להוסיף את השורות הבאות לקובץ ה docker-compose.yaml בהמשך להגדרות של grocy:

    networks:
      - default
      - web
    labels:
      - "traefik.enable=true"
      - "traefik.port=80"
      - "traefik.frontend.rule=Host:grocy.domain.com"
      - "traefik.docker.network=web"
      - "traefik.frontend.headers.SSLRedirect=true"
      - "traefik.frontend.headers.STSSeconds=315360000"
      - "traefik.frontend.headers.browserXSSFilter=true"
      - "traefik.frontend.headers.contentTypeNosniff=true"
      - "traefik.frontend.headers.forceSTSHeader=true"
      - "traefik.frontend.headers.SSLHost=grocy.domain.com"
      - "traefik.frontend.headers.STSIncludeSubdomains=true"
      - "traefik.frontend.headers.STSPreload=true"
      - "traefik.frontend.headers.frameDeny=true"
      - "com.centurylinklabs.watchtower.enable=true"

כך שבסופו של דבר הקובץ יראה כך:

  grocy:
    image: linuxserver/grocy
    container_name: grocy
    environment:
      - PUID={PUID}
      - PGID={PGID}
      - TZ={TZ}
    volumes:
      - ./grocy:/config
    ports:
      - 9090:80
    restart: unless-stopped
    networks:
      - default
      - web
    labels:
      - "traefik.enable=true"
      - "traefik.port=80"
      - "traefik.frontend.rule=Host:grocy.domain.com"
      - "traefik.docker.network=web"
      - "traefik.frontend.headers.SSLRedirect=true"
      - "traefik.frontend.headers.STSSeconds=315360000"
      - "traefik.frontend.headers.browserXSSFilter=true"
      - "traefik.frontend.headers.contentTypeNosniff=true"
      - "traefik.frontend.headers.forceSTSHeader=true"
      - "traefik.frontend.headers.SSLHost=grocy.domain.com"
      - "traefik.frontend.headers.STSIncludeSubdomains=true"
      - "traefik.frontend.headers.STSPreload=true"
      - "traefik.frontend.headers.frameDeny=true"
      - "com.centurylinklabs.watchtower.enable=true"

שמרו את הקובץ והריצו את הפקודה הבאה על מנת שהשינויים יכנסו לתוקף:

docker-compose up -d

במידה ופעולה עברה בצורה תקינה, נוכל לראות את grocy ב dashboard שך traefik:

Grocy Traefik settings - dockeril

שימוש מועיל!

Be the first to comment

Leave a Reply

כתובת האימייל שלך לא תפורסם


*