From f31b77270eee779460c69a6eaf84f71d78b73900 Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Fri, 15 Oct 2021 10:55:41 +0200 Subject: [PATCH] test --- freqtrade/CHANGELOG.md | 1 + freqtrade/Dockerfile | 54 ++++++++++++++++++++ freqtrade/Readme.md | 1 + freqtrade/apparmor.txt | 48 +++++++++++++++++ freqtrade/config.json | 23 +++++++++ freqtrade/icon.png | Bin 0 -> 15355 bytes freqtrade/logo.png | Bin 0 -> 15355 bytes freqtrade/root/etc/cont-init.d/00-banner.sh | 42 +++++++++++++++ freqtrade/root/etc/cont-init.d/00-ha-env | 5 ++ 9 files changed, 174 insertions(+) create mode 100644 freqtrade/CHANGELOG.md create mode 100644 freqtrade/Dockerfile create mode 100644 freqtrade/Readme.md create mode 100644 freqtrade/apparmor.txt create mode 100644 freqtrade/config.json create mode 100644 freqtrade/icon.png create mode 100644 freqtrade/logo.png create mode 100644 freqtrade/root/etc/cont-init.d/00-banner.sh create mode 100644 freqtrade/root/etc/cont-init.d/00-ha-env diff --git a/freqtrade/CHANGELOG.md b/freqtrade/CHANGELOG.md new file mode 100644 index 000000000..66f7e8b76 --- /dev/null +++ b/freqtrade/CHANGELOG.md @@ -0,0 +1 @@ +- Initial release diff --git a/freqtrade/Dockerfile b/freqtrade/Dockerfile new file mode 100644 index 000000000..e1edd7047 --- /dev/null +++ b/freqtrade/Dockerfile @@ -0,0 +1,54 @@ +ARG BUILD_FROM +ARG BUILD_VERSION +FROM freqtradeorg/freqtrade:latest +ARG BASHIO_VERSION=0.13.1 + +RUN \ + ################### + # Install bashio # + ################## + mkdir -p /tmp/bashio \ + && curl -L -f -s "https://github.com/hassio-addons/bashio/archive/v${BASHIO_VERSION}.tar.gz" \ + | tar -xzf - --strip 1 -C /tmp/bashio \ + && mv /tmp/bashio/lib /usr/lib/bashio \ + && ln -s /usr/lib/bashio/bashio /usr/bin/bashio \ + && rm -rf /tmp/bashio +# use /data instead of /config for hass.io environment +# && sed -i "s|/config|/share/freqtrade|g" /etc/services.d/freqtrade/run \ +#&& sed -i "s|/config|/share/freqtrade|g" /etc/cont-init.d/50-config \ +#&& sed -i "s|/share/freqtrade/nginx|/config/nginx|g" /etc/cont-init.d/50-config \ +#\ +# Allow UID and GID setting +#&& sed -i 's/bash/bashio/g' /etc/cont-init.d/10-adduser \ +#&& sed -i 's/{PUID:-911}/(bashio::config "PUID")/g' /etc/cont-init.d/10-adduser \ +#&& sed -i 's/{PGID:-911}/(bashio::config "PGID")/g' /etc/cont-init.d/10-adduser + +# copy local files +COPY root/ / + +### LABELS +ARG BUILD_ARCH +ARG BUILD_DATE +ARG BUILD_DESCRIPTION +ARG BUILD_NAME +ARG BUILD_REF +ARG BUILD_REPOSITORY +ARG BUILD_VERSION +LABEL \ + io.hass.name="${BUILD_NAME}" \ + io.hass.description="${BUILD_DESCRIPTION}" \ + io.hass.arch="${BUILD_ARCH}" \ + io.hass.type="addon" \ + io.hass.version=${BUILD_VERSION} \ + maintainer="alexbelgium (https://github.com/alexbelgium)" \ + org.opencontainers.image.title="${BUILD_NAME}" \ + org.opencontainers.image.description="${BUILD_DESCRIPTION}" \ + org.opencontainers.image.vendor="Home Assistant Add-ons" \ + org.opencontainers.image.authors="alexbelgium (https://github.com/alexbelgium)" \ + org.opencontainers.image.licenses="MIT" \ + org.opencontainers.image.url="https://github.com/alexbelgium" \ + org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \ + org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \ + org.opencontainers.image.created=${BUILD_DATE} \ + org.opencontainers.image.revision=${BUILD_REF} \ + org.opencontainers.image.version=${BUILD_VERSION} diff --git a/freqtrade/Readme.md b/freqtrade/Readme.md new file mode 100644 index 000000000..b0202726a --- /dev/null +++ b/freqtrade/Readme.md @@ -0,0 +1 @@ +EXPERIMENTAL - DO NOT USE diff --git a/freqtrade/apparmor.txt b/freqtrade/apparmor.txt new file mode 100644 index 000000000..9efe66c73 --- /dev/null +++ b/freqtrade/apparmor.txt @@ -0,0 +1,48 @@ +#include + +profile freqtrade_addon flags=(attach_disconnected,mediate_deleted) { + #include + + capability, + file, + mount, + umount, + remount, + + capability setgid, + capability setuid, + capability sys_admin, + capability dac_read_search, + # capability dac_override, + # capability sys_rawio, + +# S6-Overlay + /bin/** ix, + /usr/bin/** ix, + /usr/lib/bashio/** ix, + /etc/s6/** rix, + /run/s6/** rix, + /etc/services.d/** rwix, + /etc/cont-init.d/** rwix, + /etc/cont-finish.d/** rwix, + /init rix, + /var/run/** mrwkl, + /var/run/ mrwkl, + /dev/i2c-1 mrwkl, + # Files required + /dev/sda1 mrwkl, + /dev/sdb1 mrwkl, + /dev/mmcblk0p1 mrwkl, + /dev/* mrwkl, + /tmp/** mrkwl, + + # Data access + /data/** rw, + + # suppress ptrace denials when using 'docker ps' or using 'ps' inside a container + ptrace (trace,read) peer=docker-default, + + # docker daemon confinement requires explict allow rule for signal + signal (receive) set=(kill,term) peer=/usr/bin/docker, + +} diff --git a/freqtrade/config.json b/freqtrade/config.json new file mode 100644 index 000000000..4c335ef14 --- /dev/null +++ b/freqtrade/config.json @@ -0,0 +1,23 @@ +{ + "arch": ["aarch64", "amd64", "armv7", "armhf"], + "boot": "auto", + "description": "Simple High frequency trading bot for crypto currencies ", + "devices": [], + "environment": {}, + "map": ["share:rw"], + "name": "freqtrade web server - DO NOT USE", + "options": {}, + "ports": { + "80/tcp": 9191 + }, + "ports_description": { + "80/tcp": "web interface" + }, + "privileged": [], + "schema": {}, + "slug": "freqtrade", + "upstream": "2021.9", + "url": "https://github.com/alexbelgium/hassio-addons", + "version": "2021.9", + "webui": "http://[HOST]:[PORT:80]" +} diff --git a/freqtrade/icon.png b/freqtrade/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..caae4a714d8fbe8383fe0123579a3fd999cb8f35 GIT binary patch literal 15355 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 Vp>BRzEASIcK~CjKsf@Az{{h0Ho_GKN literal 0 HcmV?d00001 diff --git a/freqtrade/logo.png b/freqtrade/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..caae4a714d8fbe8383fe0123579a3fd999cb8f35 GIT binary patch literal 15355 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 Vp>BRzEASIcK~CjKsf@Az{{h0Ho_GKN literal 0 HcmV?d00001 diff --git a/freqtrade/root/etc/cont-init.d/00-banner.sh b/freqtrade/root/etc/cont-init.d/00-banner.sh new file mode 100644 index 000000000..e31d1c507 --- /dev/null +++ b/freqtrade/root/etc/cont-init.d/00-banner.sh @@ -0,0 +1,42 @@ +#!/usr/bin/with-contenv bashio + +bashio::log.warning "Minimal (advised) system requirements: 2GB RAM, 1GB disk space, 2vCPU" + +# ============================================================================== +# Home Assistant Community Add-on: Base Images +# Displays a simple add-on banner on startup +# ============================================================================== +if bashio::supervisor.ping; then + bashio::log.blue \ + '-----------------------------------------------------------' + bashio::log.blue " Add-on: $(bashio::addon.name)" + bashio::log.blue " $(bashio::addon.description)" + bashio::log.blue \ + '-----------------------------------------------------------' + + bashio::log.blue " Add-on version: $(bashio::addon.version)" + if bashio::var.true "$(bashio::addon.update_available)"; then + bashio::log.magenta ' There is an update available for this add-on!' + bashio::log.magenta \ + " Latest add-on version: $(bashio::addon.version_latest)" + bashio::log.magenta ' Please consider upgrading as soon as possible.' + else + bashio::log.green ' You are running the latest version of this add-on.' + fi + + bashio::log.blue " System: $(bashio::info.operating_system)" \ + " ($(bashio::info.arch) / $(bashio::info.machine))" + bashio::log.blue " Home Assistant Core: $(bashio::info.homeassistant)" + bashio::log.blue " Home Assistant Supervisor: $(bashio::info.supervisor)" + + bashio::log.blue \ + '-----------------------------------------------------------' + bashio::log.blue \ + ' Please, share the above information when looking for help' + bashio::log.blue \ + ' or support in, e.g., GitHub, forums or the Discord chat.' + bashio::log.green \ + ' https://github.com/alexbelgium/hassio-addons' + bashio::log.blue \ + '-----------------------------------------------------------' +fi diff --git a/freqtrade/root/etc/cont-init.d/00-ha-env b/freqtrade/root/etc/cont-init.d/00-ha-env new file mode 100644 index 000000000..342068f41 --- /dev/null +++ b/freqtrade/root/etc/cont-init.d/00-ha-env @@ -0,0 +1,5 @@ +#!/usr/bin/with-contenv bashio + +for k in $(bashio::jq "${__BASHIO_ADDON_CONFIG}" 'keys | .[]'); do + printf "$(bashio::config $k)" > /var/run/s6/container_environment/$k +done