this post was submitted on 17 Oct 2023
2 points (100.0% liked)

Self-Hosted Main

515 readers
1 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

For Example

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

founded 1 year ago
MODERATORS
 

I have Portainer running several self-hosted apps, but I am having a hard time getting a recipe and food planner app like Mealie or Tandoor to work. I'm sure some of you have gotten this to work, and I'm hoping you'll share how you do it.

Some context: I have nothing exposed to the Internet, and I just have a Wireguard VPN set up on my phone and laptop for if I want to access my self-hosted apps while away from my home. All the docs and examples I can find for Mealie and Tandoor assume that I am exposing them to the Internet in some way, and that is not my use case.

I access my self-hosted apps via their IP and port number (and I have them organized in a dashboard for ease of use.) I know this is not the most common way, but I know others do this, too. So that's why I am asking for some of you lovely people to share your docker compose files for self-hosting Mealie or Tandoor with no domain name, proxy manager, etc. Just connection via IP address and port number from the local network.

P.S. I am fine with either using SQLite to avoid needing a seperate database, or including something like Postgres inside the same Docker Compose file, either way.

top 3 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 1 year ago

I had Mealie working in docker compose (and web-exposed) but I just checked, and my build is considered very outdated now. A lot of the mealie documentation is a bit out of date, skimming through it, but this configuration page has a recent example docker compose that should get you running using sglite internally, and there's another example one here if you want to use postgres as your database.

If your keeping the container LAN Only, I guess you'd just use http://localhost:9000 as the BASE_URL instead of a domain, it only seems to be used for browser notifications.

[–] rarely 1 points 1 year ago

Make sure you are exposing your lan network over your vpn and have routes setup accordingly.

[–] [email protected] 1 points 1 year ago

I managed to get it working with the following single container. I also use LDAP authentication to authentik so I can get 2FA via Duo. If you don't want LDAP just remove all the LDAP env variables.

All working brilliantly. The natural language parser is amazing.

mealie:
  image: ghcr.io/mealie-recipes/mealie:nightly
  container_name: mealie
  ports:
      - "9925:9000" #

  deploy:
    resources:
      limits:
        memory: 1000M #

  volumes:
    - mealie-data:/app/data/
  environment:
  # Set Backend ENV Variables Here
    - ALLOW_SIGNUP=true
    - PUID=1000
    - PGID=1000
    - TZ=XX/YY
    - MAX_WORKERS=1
    - WEB_CONCURRENCY=1
    - BASE_URL=https://mealie.YOURSITE.com
    - LDAP_AUTH_ENABLED=true
    - LDAP_SERVER_URL=ldap://:389
    - LDAP_BASE_DN=dc=ldap,dc=SITE_NAME,dc=site
    - LDAP_QUERY_BIND=cn=service,ou=service,dc=ldap,dc=SITE_NAME,dc=site
    - LDAP_QUERY_PASSWORD=PASSWORD
    - LDAP_USER_FILTER=(&(objectClass=user)(memberOf=cn=LDAP_GROUP,ou=groups,dc=ldap,dc=SITE_NAME,dc=site))
    - LDAP_ADMIN_FILTER=(&(objectClass=user)(memberOf=cn=LDAP_GROUP,ou=groups,dc=ldap,dc=SITE_NAME,dc=site))
    - LDAP_ID_ATTRIBUTE=cn
  restart: always