SSD Nodes Learn 🎉 VPS $5.50/నెల నుండి
మార్గదర్శకాలు Matt Connorద్వారా Matt Connor · అప్‌డేట్ చేయబడింది 2026-08-13

VPS లో Mealie ని Docker Compose తో ఇన్‌స్టాల్ చేయడం ఎలా?

మీ సొంత VPS లో Mealie ని Docker Compose ద్వారా సెటప్ చేయండి. వంటకాల నిర్వహణ, మీల్ ప్లానింగ్, షాపింగ్ లిస్ట్, Nginx, TLS మరియు ఆటోమేటిక్ బ్యాకప్‌లను ఎలా పొందాలో ఈ గైడ్ వివరిస్తుంది.

Self-hosted recipe manager ఏమి చేస్తుంది

Self-hosted recipe manager మీ వంటకాలన్నింటినీ మీరు సొంతంగా కలిగి ఉన్న సర్వర్‌లోని డేటాబేస్‌లో భద్రపరుస్తుంది. చాలా గృహాలు Mealie ని ఎంచుకుంటాయి. మీరు ఏదైనా వంటకం ఉన్న వెబ్ పేజీ అడ్రస్‌ను పేస్ట్ చేసినప్పుడు, Mealie అందులోని పదార్థాలు, తయారీ విధానం, ఎంతమందికి సరిపోతుంది మరియు వంట సమయం వంటి వివరాలను సేకరిస్తుంది. ఆ పేజీలోని అనవసరమైన కథనాలు మరియు ప్రకటనలను తొలగిస్తుంది. చివరకు మీ సేకరణలో కేవలం వంటకానికి సంబంధించిన సమాచారం మాత్రమే మిగులుతుంది.

ఈ అప్లికేషన్ చాలా తేలికైనది. ఇందులో వారపు భోజన ప్రణాళిక (meal plan) ఉంటుంది, దీనిలోకి మీరు వంటకాలను డ్రాగ్ చేయవచ్చు. ఆ ప్రణాళిక ఆధారంగా షాపింగ్ జాబితా ఆటోమేటిక్‌గా తయారవుతుంది. వంట చేసే ప్రతి వ్యక్తికి ప్రత్యేకమైన లాగిన్ ఉంటుంది. ఇదంతా ఒకే container లో నడుస్తుంది. అభ్యర్థనలు లేనప్పుడు ఇది ఖాళీగా ఉంటుంది, కాబట్టి తక్కువ సామర్థ్యం ఉన్న VPS లో కూడా ఇది ఎటువంటి ఇబ్బంది లేకుండా పనిచేస్తుంది.

ఈ గైడ్ Docker Compose ను ఉపయోగిస్తుంది. మీకు services: మరియు volumes: అనే పదాలు కొత్తగా అనిపిస్తే, ముందుగా Docker Compose ఫైళ్లు ఎలా తయారవుతాయి అనే దాని గురించి చదవండి. ఎందుకంటే కింద ఉన్నదంతా ఒకే compose ఫైల్ మరియు నాలుగు కమాండ్ల సమాహారం.

Docker Compose ఉపయోగించి Mealie ని ఇన్‌స్టాల్ చేయడం

Mealie తన ఇమేజ్‌లను GitHub container registry లో ప్రచురిస్తుంది. జూలై 2026 నాటికి ప్రస్తుత stable tag v3.22.0. latest ని ఉపయోగించే బదులు ఒక వెర్షన్‌ను ఖచ్చితంగా పేర్కొనండి (pin): latest తో, మీరు సిద్ధంగా లేని database migration కు docker compose pull వల్ల అనుకోకుండా మారే అవకాశం ఉంది.

sudo mkdir -p /srv/mealie
cd /srv/mealie
sudo nano docker-compose.yml
services:
  mealie:
    image: ghcr.io/mealie-recipes/mealie:v3.22.0
    container_name: mealie
    restart: always
    ports:
      - "127.0.0.1:9925:9000"
    deploy:
      resources:
        limits:
          memory: 1000M
    volumes:
      - mealie-data:/app/data/
    environment:
      ALLOW_SIGNUP: "false"
      PUID: 1000
      PGID: 1000
      TZ: Europe/Amsterdam
      BASE_URL: https://recipes.example.com

volumes:
  mealie-data:

దీనిని ప్రారంభించే ముందు రెండు లైన్లను గమనించాలి.

పోర్ట్ 127.0.0.1:9925:9000 గా వ్రాయబడింది, 9925:9000 గా కాదు. కంటైనర్ లోపల 9000 పోర్ట్‌లో వింటుంది (listens), మరియు హోస్ట్ దానిని 9925 కి మ్యాప్ చేస్తుంది. ఆ మ్యాపింగ్‌ను loopback అడ్రస్‌కు బైండ్ చేయడం వల్ల, Nginx Mealie ని చేరుకోగలదు కానీ ఇంటర్నెట్ నుండి ఎవరూ చేరుకోలేరు. Docker తన స్వంత నియమాలను packet filter లో వ్రాస్తుంది, కాబట్టి మీ ఫైర్‌వాల్ పోర్ట్ క్లోజ్ చేయబడిందని చెప్పినా, సాధారణ 9925:9000 బయటి నుండి అందుబాటులో ఉంటుంది. ఆ ఆశ్చర్యం గురించి ఒక్కసారి అర్థం చేసుకోవడం మంచిది: Docker పబ్లిష్ చేసిన పోర్ట్‌లు ufw ని ఎందుకు విస్మరిస్తాయి చూడండి.

BASE_URL అనేది మీరు ఉపయోగించే ఖచ్చితమైన పబ్లిక్ అడ్రస్ అయి ఉండాలి, చివరలో స్లాష్ లేకుండా scheme తో సహా ఉండాలి. Mealie దీని ఆధారంగానే password reset లింక్‌లను మరియు invitation లింక్‌లను నిర్మిస్తుంది. దీనిని http://localhost:9925 గా సెట్ చేస్తే, మీరు మీ భాగస్వామికి పంపే ఆహ్వానంలో ఉండే లింక్ సర్వర్‌లో మాత్రమే పనిచేస్తుంది.

దీనిని ప్రారంభించి మొదటి బూట్‌ను గమనించండి.

sudo docker compose up -d
sudo docker compose logs -f mealie

మొదటిసారి ప్రారంభించినప్పుడు SQLite డేటాబేస్ సృష్టించబడుతుంది మరియు migrations రన్ అవుతాయి, దీనికి కొన్ని సెకన్లు పడుతుంది. లాగ్ స్థిరపడి, migration లైన్‌లను ప్రింట్ చేయడం ఆగిపోయినప్పుడు, యాప్‌ను లోకల్‌గా తనిఖీ చేయండి.

curl -I http://127.0.0.1:9925

200 OK అంటే యాప్ రన్ అవుతోందని అర్థం. Connection refused అంటే కంటైనర్ రన్ అవ్వడం లేదని అర్థం: sudo docker compose ps రన్ చేసి exit code ను చదవండి. 137 కోడ్‌తో ఆగిపోయిన కంటైనర్ 1000M మెమరీ పరిమితిని మించినందున నిలిపివేయబడింది, ఇది అతి చిన్న ప్లాన్‌లలో జరుగుతుంది.

మొదటి లాగిన్ మరియు ఓపెన్ సైన్-అప్ నిలిపివేయడం

డిఫాల్ట్ ఖాతా changeme@example.com, దీని పాస్‌వర్డ్ MyPassword. దీనితో లాగిన్ అయిన వెంటనే, రెండింటినీ మార్చండి. ఎందుకంటే ఈ వివరాలు డాక్యుమెంటేషన్‌లో బహిరంగంగా ఉంటాయి కాబట్టి, ప్రతి స్కానర్ వీటిని సులభంగా గుర్తిస్తుంది.

compose ఫైల్‌లో ALLOW_SIGNUP: "false" అనేది ఉద్దేశపూర్వకంగానే ఉంటుంది. సైన్-అప్ ఓపెన్‌గా ఉంటే, మీ అడ్రస్‌ను కనుగొన్న ఎవరైనా మీ రెసిపీ బాక్స్‌లో ఖాతాను సృష్టించగలరు. ఇది నిలిపివేయబడినప్పుడు, మీరు అడ్మిన్ ఏరియా నుండి వ్యక్తులను జోడించవచ్చు; ఇది మీరు వారికి పంపాల్సిన ఒక ఇన్విటేషన్ లింక్‌ను రూపొందిస్తుంది. ఆ లింక్ BASE_URL ఆధారంగా తయారవుతుంది, అందుకే ఆ విలువ ముఖ్యమైనది. మీరు ఒకే సర్వర్‌పై అనేక అప్లికేషన్లను నడుపుతూ, అన్నింటికీ ఒకే పాస్‌వర్డ్ ఉండాలని కోరుకుంటే, Mealie తన లాగిన్ ప్రక్రియను self-hosted Authentik instance వంటి బాహ్య ఐడెంటిటీ ప్రొవైడర్‌కు అప్పగించగలదు.

Mealie వినియోగదారులను ఒక హౌస్‌హోల్డ్‌గా సమూహపరుస్తుంది. ఒకే హౌస్‌హోల్డ్‌లోని వారందరూ రెసిపీ కలెక్షన్, మీల్ ప్లాన్ మరియు షాపింగ్ లిస్ట్‌ను పంచుకుంటారు; కుటుంబాలకు ఇది సరిగ్గా సరిపోతుంది. ఒకే సర్వర్‌పై వేర్వేరు హౌస్‌హోల్డ్‌లు విడివిడి కలెక్షన్‌లను కలిగి ఉంటాయి; ఎవరి అభిరుచులు వారికే ఉండే ఫ్లాట్‌షేర్ వంటి సందర్భాల్లో ఇది ఉపయోగకరంగా ఉంటుంది.

ఇంపోర్టర్, ఇది రన్ చేయడానికి ప్రధాన కారణం

రెసిపీ కలెక్షన్‌ను తెరిచి, URL నుండి రెసిపీని సృష్టించే ఆప్షన్‌ను ఎంచుకుని, లింక్‌ను పేస్ట్ చేయండి. Mealie ఆ పేజీని ఫెచ్ చేసి, స్ట్రక్చర్డ్ రెసిపీ డేటా కోసం వెతుకుతుంది. ఇది సెర్చ్ ఇంజిన్‌ల కోసం చాలా రెసిపీ సైట్లు ఎంబెడ్ చేసే మెషిన్-రీడబుల్ బ్లాక్. ఆ బ్లాక్ ఉన్నప్పుడు, ఇంపోర్ట్ ప్రక్రియ క్లీన్‌గా మరియు వెంటనే పూర్తవుతుంది.

మీరు ఒక ఇమేజ్ నుండి లేదా మీరు పేస్ట్ చేసే ప్లెయిన్ టెక్స్ట్ నుండి కూడా ఇంపోర్ట్ చేయవచ్చు, ఇది కుక్‌బుక్‌లోని పేజీ ఫోటోగ్రాఫ్‌లకు ఉపయోగపడుతుంది. ఇవి నెమ్మదిగా జరిగే ప్రక్రియ ద్వారా వెళ్తాయి మరియు తర్వాత వీటిని సరిచూసుకోవాలి, ఎందుకంటే చేతిరాతతో ఉన్న భిన్నాలను (fractions) తప్పుగా చదివే అవకాశం ఉంది.

బల్క్ ఇంపోర్ట్‌లను కూడా అదే స్క్రీన్ నుండి రన్ చేయవచ్చు: అడ్రస్‌ల జాబితాను ఒక్కో లైన్‌కు ఒకటి చొప్పున పేస్ట్ చేయండి, Mealie వాటిని బ్యాక్‌గ్రౌండ్‌లో ప్రాసెస్ చేస్తుంది. రెండు వందల బుక్‌మార్క్‌ల కలెక్షన్‌ను ఒకేసారి తరలించవచ్చు.

మీల్ ప్లాన్‌లు మరియు షాపింగ్ లిస్ట్

మీల్ ప్లానర్ అనేది ఒక క్యాలెండర్. ఒక రెసిపీని ఏదైనా రోజుపైకి డ్రాగ్ చేస్తే, అది ప్లాన్ చేయబడుతుంది. ఆ తర్వాత షాపింగ్ లిస్ట్ ప్లాన్ చేసిన రెసిపీల నుండి పదార్థాలను సేకరించి ఒకే జాబితాగా మారుస్తుంది. ఇది డూప్లికేట్లను తొలగిస్తుంది, కాబట్టి రెండు రెసిపీలకు ఉల్లిపాయలు అవసరమైతే, అవి రెండు లైన్లుగా కాకుండా ఒకే లైన్‌గా కనిపిస్తాయి.

ఈ జాబితా మీరు షాపులో ఉన్నప్పుడు మీ ఫోన్‌లో లైవ్ పేజీలా పనిచేస్తుంది. మీ సొంత సర్వర్‌లో ఇది హోస్ట్ చేయబడి ఉంటుంది కాబట్టి, ఇంట్లో ఉన్న ప్రతి ఒక్కరూ ఒకే సమయంలో ఒకే జాబితాను చూడగలరు. ఒక వ్యక్తి పాలు కొన్నట్లు టిక్ చేస్తే, అది వెంటనే మరొకరి స్క్రీన్ నుండి కూడా తొలగించబడుతుంది.

Nginx మరియు TLS ను ముందు ఉంచండి

Mealie సాధారణ HTTPని మాత్రమే ఉపయోగిస్తుంది మరియు దానికి సొంతంగా certificate నిర్వహణ లేదు. కాబట్టి, దాని ముందు Nginx లో transport layer security (TLS) ను ముగించండి (terminate). ముందుగా మీ సర్వర్ IP కి ఒక DNS A record ను పాయింట్ చేయండి, ఎందుకంటే certificate పొందే ప్రక్రియలో ఆ పేరు ధృవీకరించబడుతుంది.

sudo apt update && sudo apt install -y nginx
sudo nano /etc/nginx/sites-available/mealie
server {
    listen 80;
    server_name recipes.example.com;

    client_max_body_size 64M;

    location / {
        proxy_pass http://127.0.0.1:9925;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
sudo ln -s /etc/nginx/sites-available/mealie /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

nginx -t ను ప్రింట్ చేయడం మరియు syntax is ok మరియు test is successful ను తనిఖీ చేయడం చాలా ముఖ్యం. కాన్ఫిగరేషన్ సరిగ్గా ఉన్నట్లు నిర్ధారించుకున్నాకే reload చేయండి, ఎందుకంటే లోపభూయిష్టమైన కాన్ఫిగరేషన్‌ను reload చేస్తే పాతదే అమల్లో ఉంటుంది మరియు తదుపరి restart వరకు మీరు చేసిన తప్పు బయటపడదు.

client_max_body_size 64M ఇక్కడ ఉండటానికి కారణం, Nginx డిఫాల్ట్ పరిమితి 1 MB మాత్రమే. బ్రౌజర్ ద్వారా recipe ఫోటోను అప్‌లోడ్ చేసినప్పుడు లేదా backup ను restore చేసినప్పుడు అంతకంటే పెద్ద ఫైల్ వెళ్తుంది. ఈ లైన్ లేకపోతే, Mealie నుండి కాకుండా Nginx నుండి 413 Request Entity Too Large వస్తుంది, దీనివల్ల అప్లికేషన్ లాగ్‌లో ఏ సమాచారం కనిపించదు.

ఆ తర్వాత certificate ను జారీ చేయండి. ఆ ప్రక్రియ మరియు దాని renewal timer గురించి certbot తో Nginx కోసం Let's Encrypt certificate జారీ చేయడం లో వివరించబడింది.

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d recipes.example.com

Certbot సర్వర్ బ్లాక్‌ను 443 పోర్ట్ వద్ద వినేలా మారుస్తుంది మరియు 80 పోర్ట్ నుండి redirect ను జోడిస్తుంది. https:// ద్వారా సైట్‌ను లోడ్ చేసి, బ్రౌజర్ certificate ను అంగీకరిస్తుందో లేదో చూడండి. ఒకవేళ Mealie లోడ్ అయినప్పటికీ, దానిలోని లింకులు మిమ్మల్ని http:// కి పంపిస్తుంటే, BASE_URL లో ఇంకా http అని ఉండి ఉండవచ్చు. దాన్ని సరిచేసి, ఆపై కొత్త విలువతో కంటైనర్‌ను తిరిగి సృష్టించడానికి sudo docker compose up -d ను రన్ చేయండి.

Mealie ను example.com/recipes వంటి subpath లో అందించడం సాధ్యం కాదు, ఎందుకంటే frontend ను subpath నుండి అందించలేము. కాబట్టి subdomain నే ఉపయోగించండి.

బ్యాకప్‌లు మరియు రీస్టోర్ ప్రక్రియ యొక్క వాస్తవ అర్థం

Mealie కి సంబంధించిన మొత్తం డేటా కంటైనర్ లోపల /app/data/ లో ఉంటుంది, ఇది mealie-data వాల్యూమ్. ఆ వాల్యూమ్‌ను కాపీ చేస్తే, మీరు వంటకాలు (recipes), చిత్రాలు మరియు డేటాబేస్‌ను కలిపి కాపీ చేసినట్లే.

sudo docker volume ls
sudo docker compose stop mealie
sudo docker run --rm -v mealie_mealie-data:/data -v "$PWD":/backup \
  alpine tar czf /backup/mealie-data.tgz -C /data .
sudo docker compose start mealie

వాల్యూమ్ పేరుకు ముందు ప్రాజెక్ట్ పేరు ప్రిఫిక్స్‌గా ఉంటుంది, మరియు compose ఫైల్ ఉన్న డైరెక్టరీనే ప్రాజెక్ట్ పేరుగా పరిగణించబడుతుంది. /srv/mealie నుండి వాల్యూమ్ పేరు mealie_mealie-data గా ఉంటుంది, అందుకే మొదటి కమాండ్ docker volume ls: ఈ గైడ్‌లో ఉన్న పేరును కాకుండా, అది చూపించే పేరునే ఉపయోగించండి. కంటైనర్‌ను ముందుగా ఆపివేయడం ముఖ్యం, ఎందుకంటే SQLite తరచుగా డేటాను రాసే ప్రక్రియలో ఉంటుంది, కాబట్టి రన్నింగ్‌లో ఉన్నప్పుడు కాపీ చేస్తే అది రీస్టోర్ చేయడానికి వీలు లేకుండా పాడైపోయే అవకాశం ఉంది.

Mealie అడ్మిన్ ఏరియాలో సొంతంగా ఒక బ్యాకప్ పేజీ కూడా ఉంది, ఇది మీ చిత్రాలతో పాటు డేటాబేస్‌ను JSON రూపంలో ఒక పోర్టబుల్ ఆర్కైవ్‌గా సేవ్ చేస్తుంది. సర్వర్ల మధ్య మారేటప్పుడు దీనిని ఉపయోగించండి, ఎందుకంటే ఇది వెర్షన్ మార్పులను కూడా తట్టుకోగలదు, ఇది సాధారణ ఫైల్ కాపీలో సాధ్యం కాకపోవచ్చు. ఒక బ్యాకప్‌ను రీస్టోర్ చేయడం అనేది డిజైన్ ప్రకారం డేటాను తొలగిస్తుంది: ఇది ఆర్కైవ్‌ను లోడ్ చేయడానికి ముందు ప్రస్తుత డేటాబేస్‌ను డిలీట్ చేస్తుంది, దీనిని తిరిగి వెనక్కి తీసుకోవడం సాధ్యం కాదు. ప్రక్రియ పూర్తయిన తర్వాత మీరు లాగ్ అవుట్ చేయబడతారు.

ఒకే సర్వర్‌పై ఉన్న కాపీని బ్యాకప్‌గా పరిగణించలేము. షెడ్యూల్ ప్రకారం ఆ ఆర్కైవ్‌ను వేరే చోటికి పంపండి, దీని కోసమే restic తో ఎన్‌క్రిప్టెడ్ ఆఫ్-సర్వర్ బ్యాకప్‌లు ఉపయోగపడతాయి.

Mealie ని అప్‌డేట్ చేయడం

cd /srv/mealie
sudo nano docker-compose.yml
sudo docker compose pull
sudo docker compose up -d
sudo docker compose logs -f mealie

ఫైల్‌లో పిన్ చేసిన వెర్షన్ సంఖ్యను పెంచండి, ఆపై కొత్త ఇమేజ్‌ను pull చేసి, కంటైనర్‌ను మళ్లీ సృష్టించండి. కొత్త ఇమేజ్ మొదటిసారి ప్రారంభమైనప్పుడు డేటాబేస్ మైగ్రేషన్లు (migrations) ఆటోమేటిక్‌గా జరుగుతాయి. మేజర్ వెర్షన్ మార్పుకు ముందు వాల్యూమ్ (volume) యొక్క కాపీని తీసుకోండి, ఎందుకంటే మైగ్రేషన్ మధ్యలో విఫలమైతే, పాత ఇమేజ్ ఆ డేటాబేస్‌ను తిరిగి తెరవలేదు. మీరు ఉపయోగిస్తున్న వెర్షన్ నుండి కొత్త వెర్షన్ మధ్య ఉన్న అన్ని release notes ను తప్పకుండా చదవండి.

ఇంపోర్టర్ విఫలమైనప్పుడు

కొన్ని సైట్లు ఎటువంటి structured recipe డేటాను ప్రచురించవు, అప్పుడు Mealie కేవలం శీర్షికను మాత్రమే దిగుమతి చేసుకుని, పదార్థాల జాబితాను ఖాళీగా ఉంచుతుంది. దీనిని మీరు ఏ కాన్ఫిగరేషన్ ద్వారా సరిచేయలేరు. దానికి బదులుగా రెసిపీ టెక్స్ట్‌ను మాన్యువల్‌గా పేస్ట్ చేయండి.

ఇతర వైఫల్యాలు రెసిపీ సైట్ ముందు ఉండే బాట్ ప్రొటెక్షన్ (bot protection) వల్ల సంభవిస్తాయి. ఇవి Mealie కి రెసిపీకి బదులుగా ఛాలెంజ్ పేజీని పంపుతాయి. Mealie ఇప్పటికే బ్రౌజర్‌ను పోలి ఉండేలా ప్రవర్తిస్తూ, తన user agent ను మారుస్తూ ఉంటుంది. ఒక సైట్ ఇప్పటికీ అనుమతించకపోతే, మెరుగైన అడ్రస్ రిప్యుటేషన్ ఉన్న ప్రాక్సీ ద్వారా స్క్రాపర్‌ను పంపడం లేదా నిజమైన బ్రౌజర్‌లో ఛాలెంజ్‌ను పరిష్కరించే FlareSolverr ఇన్‌స్టాన్స్‌ను రన్ చేయడం వంటివి చేయవచ్చు. ఇవి రెండూ ఐచ్ఛికం మరియు కంటైనర్‌లోని environment variables ద్వారా సెట్ చేయబడతాయి.

మీ సర్వర్ ఆ సైట్‌ను అస్సలు చేరుకోలేకపోవడం వల్ల ఇంపోర్ట్ విఫలమైతే, అది వేరే సమస్య. స్క్రాపర్‌ను నిందించే ముందు, ఆ బాక్స్ నుండి curl -I https://the-site.example/recipe తో పరీక్షించి, స్టేటస్ లైన్‌ను చదవండి.

ఇది ఎక్కడ సరిపోతుంది

Mealie అనేది గృహ అవసరాల కోసం self-hosted అప్లికేషన్‌గా ప్రారంభించడానికి మంచి ఎంపిక, ఎందుకంటే మీతో నివసించే వారు ఎవరూ చెప్పకుండానే దీన్ని ఉపయోగిస్తారు. ఇది Immich తో మీ స్వంత ఫోటో లైబ్రరీని నిర్వహించే తరహా పనే, కానీ ఇది చాలా తేలికైనది. ఇది ఈ ఏడాది self-host చేయడానికి విలువైన విషయాల జాబితాలో ఒక భాగంగా ఉంటుంది. ఒక చిన్న సర్వర్‌లో ఈ రెండింటినీ ఉంచవచ్చు. ఆ రెండో పని కోసం Immich మాత్రమే ఏకైక ఎంపిక కాదు. మీరు ఇంకా నిర్ణయం తీసుకోకపోతే, PhotoPrism మరియు Immich ల మెమరీ అవసరాలు మరియు బ్యాకప్ కమాండ్ల మధ్య ఉన్న తేడాలను చదవడం మంచిది, ఆ తర్వాతే మీ డిస్క్‌లోని మిగిలిన స్థలాన్ని కేటాయించండి.

FAQ

రెసిపీ URL ను ఇంపోర్ట్ చేయడం ఎందుకు విఫలమవుతుంది?

దీనికి రెండు సాధారణ కారణాలు ఉన్నాయి. ఒకటి, ఆ వెబ్‌పేజీ ఎటువంటి structured recipe డేటాను ప్రచురించకపోవడం, దీనివల్ల స్క్రాపర్ ఏమీ కనుగొనలేక కేవలం టైటిల్‌ను మాత్రమే చూపిస్తుంది, పదార్థాలు కనిపించవు. రెండు, ఆ సైట్ ముందు ఉన్న బాట్-ప్రొటెక్షన్ లేయర్ రెసిపీకి బదులుగా ఛాలెంజ్ పేజీని పంపడం. రెండో సందర్భంలో, మెరుగైన అడ్రస్ రిప్యుటేషన్ ఉన్న ప్రాక్సీని లేదా బ్రౌజర్‌లో ఛాలెంజ్‌ను పరిష్కరించే self-hosted FlareSolverr ఇన్‌స్టాన్స్‌ను Mealie కి అనుసంధానించవచ్చు. ఏదైనా మార్పులు చేసే ముందు, curl -I ఉపయోగించి మీ సర్వర్ ఆ పేజీని చేరుకోగలదని నిర్ధారించుకోండి.

నాకు PostgreSQL అవసరమా, లేక SQLite సరిపోతుందా?

గృహ అవసరాలకు SQLite సరిపోతుంది, ఇది డిఫాల్ట్‌గా వస్తుంది. డేటా డైరెక్టరీ network attached storage లో ఉన్నప్పుడు PostgreSQL కి మారండి, ఎందుకంటే నెట్‌వర్క్ ఫైల్‌సిస్టమ్ ద్వారా SQLite వాడితే locked-database ఎర్రర్స్ వస్తాయి మరియు ఫైల్ పాడయ్యే అవకాశం ఉంది. PostgreSQL లో రీస్టోర్ చేసేటప్పుడు డేటాబేస్ యూజర్ superuser అయి ఉండాలి, ఎందుకంటే ఆర్కైవ్‌ను లోడ్ చేయడానికి ముందు రీస్టోర్ ప్రక్రియ అంతా తొలగిస్తుంది.

డొమైన్ పేరు లేకుండా నేను Mealie ని రన్ చేయవచ్చా?

అవును, మీ సొంత నెట్‌వర్క్‌లో రన్ చేయవచ్చు. BASE_URL ని మీరు వాడే అడ్రస్‌కు సెట్ చేయండి, ఉదాహరణకు http://192.168.1.20:9925, మరియు nginx ని వదిలేయండి. ఇన్విటేషన్ మరియు పాస్‌వర్డ్ రీసెట్ లింకులు BASE_URL నుండి తయారవుతాయి, కాబట్టి తప్పుడు విలువ ఇస్తే ఎవరూ ఓపెన్ చేయలేని లింకులు వస్తాయి. దీన్ని plain HTTP ద్వారా ఇంటర్నెట్‌కు ఎక్స్‌పోజ్ చేయకండి, ఎందుకంటే లాగిన్ వివరాలు అప్పుడు స్పష్టంగా (clear text లో) కనిపిస్తాయి.

నా కుటుంబ సభ్యులకు వారి స్వంత లాగిన్‌లను ఎలా ఇవ్వాలి?

ALLOW_SIGNUP ని "false" గా ఉంచి, అడ్మిన్ ఏరియా నుండి వ్యక్తులను జోడించండి; ఇది మీరు వారికి పంపాల్సిన ఇన్విటేషన్ లింక్‌ను ఇస్తుంది. వంటగదిని పంచుకునే వారందరినీ ఒకే household లో ఉంచండి, తద్వారా వారు రెసిపీలు, మీల్ ప్లాన్ మరియు షాపింగ్ లిస్ట్‌ను పంచుకోగలరు. ఒకే సర్వర్‌పై వేర్వేరు household లు ఉంటే, వాటి సేకరణలు విడివిడిగా ఉంటాయి.

నేను Mealie రన్ చేయడం ఆపివేస్తే నా రెసిపీలకు ఏమవుతుంది?

అవి బయటకు వస్తాయి. అడ్మిన్ బ్యాకప్ మీ డేటాను JSON ఫార్మాట్‌లో రాస్తుంది, మరియు Mealie రెసిపీలను plain markdown ఫైల్స్‌గా కూడా ఎగుమతి చేయగలదు. ఇవి ఎటువంటి సాఫ్ట్‌వేర్ అవసరం లేకుండా ఏ టెక్స్ట్ ఎడిటర్‌లోనైనా చదవడానికి వీలుగా ఉంటాయి. మీకు అవసరమయ్యే ముందే ఒక ఎగుమతిని తీసి, అది ఓపెన్ అవుతుందో లేదో సరిచూసుకోండి.