Sure, here's a sample docker-compose file that sets up N8N, Nginx Proxy Manager, Supabase, and Appsmith:

version: "3"

services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=<n8n_username>
      - N8N_BASIC_AUTH_PASSWORD=<n8n_password>
      - NODE_ENV=production
      - WEBHOOK_TUNNEL_URL=https://<yourdomain>/webhook/
      - GENERIC_TIMEZONE=<your_timezone>
    volumes:
      - n8n:/home/node/.n8n
    networks:
      - proxy
    depends_on:
      - supabase

  nginx-proxy-manager:
    image: jlesage/nginx-proxy-manager
    container_name: nginx-proxy-manager
    restart: always
    ports:
      - "81:80"
      - "444:443"
      - "8080:8080"
    volumes:
      - appdata:/config
    environment:
      - TZ=<your_timezone>
    networks:
      - proxy

  supabase:
    image: supabase/postgres:0.14.0
    restart: always
    environment:
      POSTGRES_USER: <postgres_user>
      POSTGRES_PASSWORD: <postgres_password>
      POSTGRES_DB: <database_name>
    volumes:
      - supabase:/var/lib/postgresql/data
    networks:
      - proxy

  appsmith:
    image: appsmith/appsmith:latest
    container_name: appsmith
    restart: always
    environment:
      - DATABASE_URL=postgres://<postgres_user>:<postgres_password>@supabase:5432/<database_name>
      - JWT_SECRET=<your_jwt_secret>
    ports:
      - "8082:80"
    volumes:
      - appsmith:/appsmith
    networks:
      - proxy
    depends_on:
      - supabase

networks:
  proxy:
    external: true

volumes:
  appdata:
  n8n:
  supabase:
  appsmith:

Note that you need to replace the values surrounded by <> with your own values, such as the usernames, passwords, domain names, and timezones. Also, make sure to have an external network named "proxy" created prior to running the docker-compose file.