AppFeed/templates/kiowa2005sRepository/mitchellriley/streetmerchant.xml
Squidly271 dee307148b Update
2021-02-16 16:47:23 -05:00

281 lines
17 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<Container version="2">
<Name>streetmerchant</Name>
<Repository>mitchellriley/streetmerchant</Repository>
<Registry>https://hub.docker.com/r/mitchellriley/streetmerchant</Registry>
<Network>bridge</Network>
<Shell>sh</Shell>
<Privileged>false</Privileged>
<Project>https://jef.codes/streetmerchant/</Project>
<Overview>&#13;
This service is a automated stock checker primarily focused on CPUs, GPUs, and Console Gaming Systems that has an abundance of mechanisms to notify your user group when items are available to include a link to add to an online cart.&#13;
&#13;
To test notifications two methods exist:&#13;
1) Add "test:notification:production" (no quotes) to the extra parameters. The system will exit after one notification has been sent.&#13;
2) Set the following SHOW_ONLY_SERIES variable to "test:series".</Overview>
<WebUI>http://[IP]:[PORT:7239]/</WebUI>
<TemplateURL>https://raw.githubusercontent.com/kiowadriver/unraid-docker/master/mitchellriley/streetmerchant.xml</TemplateURL>
<Icon>https://jef.codes/streetmerchant/assets/images/streetmerchant-logo.png</Icon>
<PostArgs></PostArgs>
<CPUset></CPUset>
<DonateLink>https://paypal.me/MitchRiley?locale.x=en_US</DonateLink>
<Networking>
<Mode>bridge</Mode>
<Publish>
<Port>
<HostPort>7239</HostPort>
<ContainerPort>8081</ContainerPort>
<Protocol>tcp</Protocol>
</Port>
</Publish>
</Networking>
<Data>
<Volume>
<HostDir>/mnt/user/appdata/streetmerchant/logs</HostDir>
<ContainerDir>/home/appuser/.npm/_logs</ContainerDir>
<Mode>rw</Mode>
</Volume>
</Data>
<Environment>
<Variable>
<Value></Value>
<Name>PROXY_PROTOCOL</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>PROXY_ADDRESS</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>80</Value>
<Name>PROXY_PORT</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>EMAIL_TO</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>EMAIL_USERNAME</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>EMAIL_PASSWORD</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>TWITTER_ACCESS_TOKEN_KEY</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>TWITTER_ACCESS_TOKEN_SECRET</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>TWITTER_CONSUMER_KEY</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>TWITTER_CONSUMER_SECRET</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>TWITTER_TWEET_TAGS</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>TELEGRAM_ACCESS_TOKEN</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>TELEGRAM_CHAT_ID</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>PUSHBULLET</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>0</Value>
<Name>IN_STOCK_WAIT_TIME</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>true</Value>
<Name>SCREENSHOT</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>PHONE_CARRIER</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>PHONE_NUMBER</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>SHOW_ONLY_BRANDS</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>SHOW_ONLY_SERIES</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>SHOW_ONLY_MODELS</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>STORES</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>false</Value>
<Name>AUTO_ADD_TO_CART</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>true</Value>
<Name>BROWSER_TRUSTED</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>true</Value>
<Name>HEADLESS</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>false</Value>
<Name>INCOGNITO</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>true</Value>
<Name>LOW_BANDWIDTH</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>10000</Value>
<Name>PAGE_BACKOFF_MIN</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>3600000</Value>
<Name>PAGE_BACKOFF_MAX</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>5000</Value>
<Name>PAGE_SLEEP_MIN</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>10000</Value>
<Name>PAGE_SLEEP_MAX</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>30000</Value>
<Name>PAGE_TIMEOUT</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>8081</Value>
<Name>WEB_PORT</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>usa</Value>
<Name>COUNTRY</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>25</Value>
<Name>SMTP_PORT</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>SMTP_ADDRESS</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value>info</Value>
<Name>LOG_LEVEL</Name>
<Mode></Mode>
</Variable>
<Variable>
<Value></Value>
<Name>BESTBUY_API_KEY</Name>
<Mode></Mode>
</Variable>
</Environment>
<Config Name="Web Interface Port" Target="8081" Default="7279" Mode="tcp" Description="This is Web UI port you can access via a web browser." Type="Port" Display="always-hide" Required="true" Mask="null">7279</Config>
<Config Name="PROXY_PROTOCOL" Target="PROXY_PROTOCOL" Default="" Mode="" Description="http or socks5" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="PROXY_ADDRESS" Target="PROXY_ADDRESS" Default="" Mode="" Description="The IP address or domain name of your proxy" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="PROXY_PORT" Target="PROXY_PORT" Default="80" Mode="" Description="TCP Port number on which the proxy is listening for connections" Type="Variable" Display="always-hide" Required="false" Mask="false">80</Config>
<Config Name="EMAIL_TO" Target="EMAIL_TO" Default="" Mode="" Description="Destination Email. Defaults to username if not set. Can be comma separated" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="EMAIL_USERNAME" Target="EMAIL_USERNAME" Default="" Mode="" Description="Email address" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="EMAIL_PASSWORD" Target="EMAIL_PASSWORD" Default="" Mode="" Description="Email password. (See below for Gmail MFA users)&#13;&#10;&#13;&#10;If you use Gmail and have multi-factor authentication (MFA), you will need to create an app password and use this instead of your Gmail password.&#13;&#10;&#13;&#10;https://myaccount.google.com/apppasswords" Type="Variable" Display="always-hide" Required="false" Mask="true"></Config>
<Config Name="TWITTER_ACCESS_TOKEN_KEY" Target="TWITTER_ACCESS_TOKEN_KEY" Default="" Mode="" Description="Container Variable: TWITTER_ACCESS_TOKEN_KEY" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="TWITTER_ACCESS_TOKEN_SECRET" Target="TWITTER_ACCESS_TOKEN_SECRET" Default="" Mode="" Description="Twitter Token Secret" Type="Variable" Display="always-hide" Required="false" Mask="true"></Config>
<Config Name="TWITTER_CONSUMER_KEY" Target="TWITTER_CONSUMER_KEY" Default="" Mode="" Description="Twitter Consumer Key" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="TWITTER_CONSUMER_SECRET" Target="TWITTER_CONSUMER_SECRET" Default="" Mode="" Description="Twitter Consumer Secret" Type="Variable" Display="always" Required="false" Mask="true"></Config>
<Config Name="TWITTER_TWEET_TAGS" Target="TWITTER_TWEET_TAGS" Default="" Mode="" Description="List of hashtags to append to the tweet message, e.g.: #nvidia #nvidiastock" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="TELEGRAM_ACCESS_TOKEN" Target="TELEGRAM_ACCESS_TOKEN" Default="" Mode="" Description="Access token" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="TELEGRAM_CHAT_ID" Target="TELEGRAM_CHAT_ID" Default="" Mode="" Description="Chat ID. Can be comma separated, e.g.: 123456789,987654321" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="PUSHBULLET" Target="PUSHBULLET" Default="" Mode="" Description="API key" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="IN_STOCK_WAIT_TIME" Target="IN_STOCK_WAIT_TIME" Default="0" Mode="" Description="Time to wait between requests to the same link if it has that card in stock. In seconds" Type="Variable" Display="always-hide" Required="true" Mask="false">0</Config>
<Config Name="SCREENSHOT" Target="SCREENSHOT" Default="true" Mode="" Description="Capture screenshot of page if the product is in stock." Type="Variable" Display="always-hide" Required="true" Mask="false">true</Config>
<Config Name="PHONE_CARRIER" Target="PHONE_CARRIER" Default="" Mode="" Description="Supported carriers for SMS. E.g.: att or att,verizon,google, email configuration required. If multiple phone numbers are listed, enter a carrier for each phone number.&#13;&#10;&#13;&#10;https://jef.codes/streetmerchant/reference/notification/#supported-carriers" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="PHONE_NUMBER" Target="PHONE_NUMBER" Default="" Mode="" Description="10 digit phone number(s). E.g.: 1234567890 or 1234567890,0987654321,11112223333, email configuration required. " Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="SHOW_ONLY_BRANDS" Target="SHOW_ONLY_BRANDS" Default="" Mode="" Description="Filter to show specified brands. Comma separated, e.g.: evga,zotac&#13;&#10;&#13;&#10;https://jef.codes/streetmerchant/reference/filter/" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="SHOW_ONLY_SERIES" Target="SHOW_ONLY_SERIES" Default="" Mode="" Description="Filter to show specified series. Comma separated, e.g.: 3080,ryzen5900&#13;&#10;&#13;&#10;https://jef.codes/streetmerchant/reference/filter/" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="SHOW_ONLY_MODELS" Target="SHOW_ONLY_MODELS" Default="" Mode="" Description="Filter to show specified models&#9;Both supported formats are comma separated" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="STORES" Target="STORES" Default="" Mode="" Description="Supported stores you want to be scraped. Default: amazon,bestbuy. Comma separated, can include PAGE_SLEEP_MIN and PAGE_SLEEP_MAX values. E.g.: amazon:10000:30000,bestbuy,newegg:50000:80000.&#13;&#10;&#13;&#10;https://jef.codes/streetmerchant/reference/filter/#supported-stores" Type="Variable" Display="always-hide" Required="false" Mask="false"></Config>
<Config Name="AUTO_ADD_TO_CART" Target="AUTO_ADD_TO_CART" Default="false" Mode="" Description="Future Feature. Not available yet.&#13;&#10;&#13;&#10;Enable auto add to cart on support stores, default: true" Type="Variable" Display="advanced-hide" Required="false" Mask="false">false</Config>
<Config Name="BROWSER_TRUSTED" Target="BROWSER_TRUSTED" Default="true" Mode="" Description="Skip Chromium Sandbox. Set to true for containerized environments," Type="Variable" Display="advanced-hide" Required="true" Mask="false">true</Config>
<Config Name="HEADLESS" Target="HEADLESS" Default="true" Mode="" Description="Puppeteer to run headless or not. Debugging related, default: true" Type="Variable" Display="advanced-hide" Required="true" Mask="false">true</Config>
<Config Name="INCOGNITO" Target="INCOGNITO" Default="false" Mode="" Description="Puppeteer to run incognito or not. Debugging related, default: false" Type="Variable" Display="advanced-hide" Required="true" Mask="false">false</Config>
<Config Name="LOW_BANDWIDTH" Target="LOW_BANDWIDTH" Default="true" Mode="" Description="Blocks images/fonts to reduce traffic. Disables ad blocker, default: false" Type="Variable" Display="advanced-hide" Required="true" Mask="false">true</Config>
<Config Name="PAGE_BACKOFF_MIN" Target="PAGE_BACKOFF_MIN" Default="10000" Mode="" Description="Minimum backoff time between retrying requests for the same store when a forbidden response is received (ms)" Type="Variable" Display="advanced-hide" Required="true" Mask="false">10000</Config>
<Config Name="PAGE_BACKOFF_MAX" Target="PAGE_BACKOFF_MAX" Default="3600000" Mode="" Description="Maximum backoff time between retrying requests for the same store when a forbidden response is received. (ms)" Type="Variable" Display="advanced-hide" Required="true" Mask="false">3600000</Config>
<Config Name="PAGE_SLEEP_MIN" Target="PAGE_SLEEP_MIN" Default="5000" Mode="" Description="Minimum sleep time between queries of the same product page. In milliseconds," Type="Variable" Display="advanced-hide" Required="true" Mask="false">5000</Config>
<Config Name="PAGE_SLEEP_MAX" Target="PAGE_SLEEP_MAX" Default="10000" Mode="" Description="Maximum sleep time between queries of the same product page. In milliseconds," Type="Variable" Display="advanced-hide" Required="true" Mask="false">10000</Config>
<Config Name="PAGE_TIMEOUT" Target="PAGE_TIMEOUT" Default="30000" Mode="" Description="Navigation Timeout in milliseconds. 0 for infinite, default: 30000" Type="Variable" Display="advanced-hide" Required="true" Mask="false">30000</Config>
<Config Name="WEB_PORT" Target="WEB_PORT" Default="7239" Mode="" Description="This must be synchronized with the Web Interface Port values.&#13;&#10;&#13;&#10;This is the internal port the container should serve the web interface on." Type="Variable" Display="advanced-hide" Required="true" Mask="false">8081</Config>
<Config Name="COUNTRY" Target="COUNTRY" Default="usa" Mode="" Description="Supported country you want to be scraped&#9;Only used with nvidia-api, default: usa&#13;&#10;&#13;&#10;https://jef.codes/streetmerchant/reference/filter/#supported-countries" Type="Variable" Display="advanced-hide" Required="false" Mask="false">usa</Config>
<Config Name="Log Path" Target="/home/appuser/.npm/_logs" Default="/mnt/user/appdata/streetmerchant/logs" Mode="rw" Description="This is where log files will be written if an error occurs. " Type="Path" Display="advanced-hide" Required="true" Mask="null">/mnt/user/appdata/streetmerchant/logs</Config>
<Config Name="SMTP_PORT" Target="SMTP_PORT" Default="25" Mode="" Description="TCP Port number on which the smtp server is listening for connections." Type="Variable" Display="advanced-hide" Required="false" Mask="false">25</Config>
<Config Name="SMTP_ADDRESS" Target="SMTP_ADDRESS" Default="" Mode="" Description="IP Address or FQDN of SMTP server" Type="Variable" Display="advanced-hide" Required="false" Mask="false"></Config>
<Config Name="Console Verbosity" Target="LOG_LEVEL" Default="info" Mode="" Description="The console output verbosity. &#13;&#10;&#13;&#10;Note: This is not logged to the system logger." Type="Variable" Display="advanced-hide" Required="true" Mask="false">info</Config>
<Config Name="BESTBUY_API_KEY" Target="BESTBUY_API_KEY" Default="" Mode="" Description="Set an optional API key for faster Bestbuy checking via JSON" Type="Variable" Display="advanced-hide" Required="false" Mask="false"></Config>
<Date>1610517043</Date>
<Category>Cloud:</Category>
<Description>This service is a automated stock checker primarily focused on CPUs, GPUs, and Console Gaming Systems that has an abundance of mechanisms to notify your user group when items are available to include a link to add to an online cart.&#13;
&#13;
To test notifications two methods exist:&#13;
1) Add "test:notification:production" (no quotes) to the extra parameters. The system will exit after one notification has been sent.&#13;
2) Set the following SHOW_ONLY_SERIES variable to "test:series".</Description>
<IconHTTPS>https://jef.codes/streetmerchant/assets/images/streetmerchant-logo.png</IconHTTPS>
<templatePath>/tmp/GitHub/AppFeed/templates/kiowa2005sRepository/mitchellriley/streetmerchant.xml</templatePath>
</Container>