Compare commits
55 Commits
892f57f7ac
...
main
Author | SHA1 | Date | |
---|---|---|---|
f8ce15efbd | |||
855bc68d27 | |||
8931984de5 | |||
4feb1126d1 | |||
22a70359a1 | |||
fccfd6732b | |||
3b7b619dab | |||
67ee3b1fdf | |||
6353046ddd | |||
8ebeffb14c | |||
8ac37a6307 | |||
f2ffd59b53 | |||
392bb4e338 | |||
f3d8c9d307 | |||
75a0314551 | |||
22626c12fe | |||
9c21a671d1 | |||
51f0797ccb | |||
e40515d354 | |||
51e0ad8f6d | |||
520471c050 | |||
37bf8d6a79 | |||
7750c459ca | |||
8165bb2beb | |||
70581e700e | |||
77fe985ff9 | |||
f2e1eab4c0 | |||
3470a6e1bd | |||
0c94589edf | |||
1b28894e97 | |||
51e21d5240 | |||
85425c19de | |||
55b501ccd2 | |||
36a8e795d9 | |||
97a0ab687c | |||
462eeaaf1c | |||
d96d0811fb | |||
bdb1555ec4 | |||
5ecaf262ac | |||
db38269319 | |||
b53b68ac2e | |||
79ebd7f511 | |||
88d140dcf1 | |||
6d4ab6cc2c | |||
125d48e626 | |||
0e5ee8d667 | |||
294deebbcf | |||
72d51e7075 | |||
5a63674d30 | |||
f25841fe59 | |||
08f5edeffe | |||
444ff9d492 | |||
6f048b8d7d | |||
6c9c70962c | |||
4a912cad9a |
@ -1,9 +0,0 @@
|
||||
---
|
||||
build_from:
|
||||
amd64: ghcr.io/hassio-addons/debian-base/amd64:7.5.1
|
||||
armhf: ghcr.io/hassio-addons/debian-base/armhf:7.5.1
|
||||
armv7: ghcr.io/hassio-addons/debian-base/armv7:7.5.1
|
||||
aarch64: ghcr.io/hassio-addons/debian-base/aarch64:7.5.1
|
||||
codenotary:
|
||||
base_image: codenotary@frenck.dev
|
||||
signer: codenotary@degatano.com
|
@ -1,27 +0,0 @@
|
||||
---
|
||||
- job_name: journal
|
||||
journal:
|
||||
json: false
|
||||
max_age: 12h
|
||||
labels:
|
||||
job: systemd-journal
|
||||
path: "${JOURNAL_PATH}"
|
||||
relabel_configs:
|
||||
- source_labels:
|
||||
- __journal__systemd_unit
|
||||
target_label: unit
|
||||
- source_labels:
|
||||
- __journal__hostname
|
||||
target_label: nodename
|
||||
- source_labels:
|
||||
- __journal_syslog_identifier
|
||||
target_label: syslog_identifier
|
||||
- source_labels:
|
||||
- __journal_container_name
|
||||
target_label: container_name
|
||||
pipeline_stages:
|
||||
- match:
|
||||
selector: '{container_name=~"homeassistant|hassio_supervisor"}'
|
||||
stages:
|
||||
- multiline:
|
||||
firstline: '^\x{001b}'
|
1
freqtrade-NFIx5/.README.j2
Normal file
1
freqtrade-NFIx5/.README.j2
Normal file
@ -0,0 +1 @@
|
||||
# Home Assistant Community Add-on: Freqtrade Robot NFI
|
139
freqtrade-NFIx5/DOCS.md
Normal file
139
freqtrade-NFIx5/DOCS.md
Normal file
@ -0,0 +1,139 @@
|
||||
# Home Assistant Community Add-on: Example
|
||||
|
||||
This is an example add-on for Home Assistant. When started, it displays a
|
||||
random quote every 5 seconds.
|
||||
|
||||
It shows off several features and structures like:
|
||||
|
||||
- Full blown GitHub repository.
|
||||
- General Dockerfile structure and setup.
|
||||
- The use of the `config.yaml` and `build.yaml` files.
|
||||
- General shell scripting structure (`run.sh`).
|
||||
- Quality assurance using CodeClimate.
|
||||
- Continuous integration and deployment using GitLab.
|
||||
- Usage of the Community Home Assistant Add-ons build environment.
|
||||
- Small use of the Bash function library in our base images.
|
||||
- The use of Docker label schema.
|
||||
|
||||
## Installation
|
||||
|
||||
The installation of this add-on is pretty straightforward and not different in
|
||||
comparison to installing any other Home Assistant add-on.
|
||||
|
||||
1. Click the Home Assistant My button below to open the add-on on your Home
|
||||
Assistant instance.
|
||||
|
||||
[![Open this add-on in your Home Assistant instance.][addon-badge]][addon]
|
||||
|
||||
1. Click the "Install" button to install the add-on.
|
||||
1. Start the "Example" add-on.
|
||||
1. Check the logs of the "Example" add-on to see it in action.
|
||||
|
||||
## Configuration
|
||||
|
||||
Eventought this add-on is just an example add-on, it does come with some
|
||||
configuration options to play around with.
|
||||
|
||||
**Note**: _Remember to restart the add-on when the configuration is changed._
|
||||
|
||||
Example add-on configuration:
|
||||
|
||||
```yaml
|
||||
log_level: info
|
||||
seconds_between_quotes: 5
|
||||
```
|
||||
|
||||
### Option: `log_level`
|
||||
|
||||
The `log_level` option controls the level of log output by the add-on and can
|
||||
be changed to be more or less verbose, which might be useful when you are
|
||||
dealing with an unknown issue. Possible values are:
|
||||
|
||||
- `trace`: Show every detail, like all called internal functions.
|
||||
- `debug`: Shows detailed debug information.
|
||||
- `info`: Normal (usually) interesting events.
|
||||
- `warning`: Exceptional occurrences that are not errors.
|
||||
- `error`: Runtime errors that do not require immediate action.
|
||||
- `fatal`: Something went terribly wrong. Add-on becomes unusable.
|
||||
|
||||
Please note that each level automatically includes log messages from a
|
||||
more severe level, e.g., `debug` also shows `info` messages. By default,
|
||||
the `log_level` is set to `info`, which is the recommended setting unless
|
||||
you are troubleshooting.
|
||||
|
||||
### Option: `seconds_between_quotes`
|
||||
|
||||
Sets the number of seconds between the output of each quote. The value
|
||||
must be between `1` and `120` seconds. This value is set to `5` seconds by
|
||||
default.
|
||||
|
||||
## Changelog & Releases
|
||||
|
||||
This repository keeps a change log using [GitHub's releases][releases]
|
||||
functionality.
|
||||
|
||||
Releases are based on [Semantic Versioning][semver], and use the format
|
||||
of `MAJOR.MINOR.PATCH`. In a nutshell, the version will be incremented
|
||||
based on the following:
|
||||
|
||||
- `MAJOR`: Incompatible or major changes.
|
||||
- `MINOR`: Backwards-compatible new features and enhancements.
|
||||
- `PATCH`: Backwards-compatible bugfixes and package updates.
|
||||
|
||||
## Support
|
||||
|
||||
Got questions?
|
||||
|
||||
You have several options to get them answered:
|
||||
|
||||
- The [Home Assistant Community Add-ons Discord chat server][discord] for add-on
|
||||
support and feature requests.
|
||||
- The [Home Assistant Discord chat server][discord-ha] for general Home
|
||||
Assistant discussions and questions.
|
||||
- The Home Assistant [Community Forum][forum].
|
||||
- Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit]
|
||||
|
||||
You could also [open an issue here][issue] GitHub.
|
||||
|
||||
## Authors & contributors
|
||||
|
||||
The original setup of this repository is by [Franck Nijhof][frenck].
|
||||
|
||||
For a full list of all authors and contributors,
|
||||
check [the contributor's page][contributors].
|
||||
|
||||
## License
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017-2024 Franck Nijhof
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
[addon-badge]: https://my.home-assistant.io/badges/supervisor_addon.svg
|
||||
[addon]: https://my.home-assistant.io/redirect/supervisor_addon/?addon=a0d7b954_example&repository_url=https%3A%2F%2Fgithub.com%2Fhassio-addons%2Frepository
|
||||
[contributors]: https://github.com/hassio-addons/addon-example/graphs/contributors
|
||||
[discord-ha]: https://discord.gg/c5DvZ4e
|
||||
[discord]: https://discord.me/hassioaddons
|
||||
[forum]: https://community.home-assistant.io/t/repository-community-hass-io-add-ons/24705?u=frenck
|
||||
[frenck]: https://github.com/frenck
|
||||
[issue]: https://github.com/hassio-addons/addon-example/issues
|
||||
[reddit]: https://reddit.com/r/homeassistant
|
||||
[releases]: https://github.com/hassio-addons/addon-example/releases
|
||||
[semver]: http://semver.org/spec/v2.0.0.html
|
122
freqtrade-NFIx5/Dockerfile
Normal file
122
freqtrade-NFIx5/Dockerfile
Normal file
@ -0,0 +1,122 @@
|
||||
ARG BUILD_FROM=ghcr.io/hassio-addons/base:17.1.0
|
||||
# hadolint ignore=DL3006
|
||||
FROM ${BUILD_FROM}
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
|
||||
# Build arguments
|
||||
ARG BUILD_ARCH
|
||||
ARG BUILD_DATE
|
||||
ARG BUILD_DESCRIPTION
|
||||
ARG BUILD_NAME
|
||||
ARG BUILD_REF
|
||||
ARG BUILD_REPOSITORY
|
||||
ARG BUILD_VERSION
|
||||
|
||||
# Copy root filesystem
|
||||
COPY rootfs /
|
||||
|
||||
# Install required build tools and dependencies
|
||||
RUN apk add --no-cache \
|
||||
gcc \
|
||||
g++ \
|
||||
make \
|
||||
cmake \
|
||||
ninja \
|
||||
musl-dev \
|
||||
linux-headers \
|
||||
python3 \
|
||||
py3-pip \
|
||||
git \
|
||||
libffi-dev \
|
||||
openssl-dev \
|
||||
hdf5 \
|
||||
hdf5-dev \
|
||||
zlib-dev \
|
||||
libxml2-dev \
|
||||
libxslt-dev \
|
||||
libpq-dev \
|
||||
libstdc++ \
|
||||
gfortran \
|
||||
python3-dev \
|
||||
lapack-dev \
|
||||
openblas-dev \
|
||||
tcl-dev \
|
||||
tk-dev \
|
||||
snappy-dev \
|
||||
bzip2-dev \
|
||||
lz4-dev \
|
||||
zstd-dev \
|
||||
curl-dev \
|
||||
boost-dev \
|
||||
re2-dev \
|
||||
llvm-dev \
|
||||
libffi-dev
|
||||
|
||||
# Clone the Apache Arrow source code
|
||||
RUN git clone https://github.com/apache/arrow.git /arrow
|
||||
|
||||
# Build and install Apache Arrow
|
||||
WORKDIR /arrow/cpp
|
||||
RUN mkdir -p build && cd build && \
|
||||
cmake -GNinja \
|
||||
-DARROW_PARQUET=ON \
|
||||
-DARROW_PYTHON=ON \
|
||||
-DARROW_DATASET=ON \
|
||||
-DARROW_FILESYSTEM=ON \
|
||||
-DARROW_CSV=ON \
|
||||
-DARROW_WITH_SNAPPY=ON \
|
||||
-DARROW_WITH_LZ4=ON \
|
||||
-DARROW_WITH_ZSTD=ON \
|
||||
-DARROW_JSON=ON \
|
||||
-DARROW_WITH_BZ2=ON \
|
||||
-DARROW_BUILD_STATIC=ON \
|
||||
-DARROW_BUILD_SHARED=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr/local .. && \
|
||||
ninja && \
|
||||
ninja install
|
||||
|
||||
# Cleanup Arrow source to reduce image size
|
||||
RUN rm -rf /arrow
|
||||
|
||||
# Set the working directory
|
||||
WORKDIR /freqtrade
|
||||
|
||||
# Clone the Freqtrade repository
|
||||
RUN git clone -b stable --single-branch https://github.com/freqtrade/freqtrade.git /freqtrade
|
||||
|
||||
# Install Ta-lib
|
||||
RUN chmod +x ./build_helpers/install_ta-lib.sh
|
||||
WORKDIR /freqtrade/build_helpers
|
||||
RUN ./install_ta-lib.sh
|
||||
|
||||
WORKDIR /freqtrade
|
||||
RUN python3 -m venv .venv
|
||||
RUN echo "source /freqtrade/.venv/bin/activate" >> ~/.bashrc
|
||||
RUN source /freqtrade/.venv/bin/activate
|
||||
# Upgrade pip to the latest version
|
||||
RUN pip install --upgrade pip setuptools wheel setuptools_scm cython
|
||||
RUN python3 -m pip install -r requirements.txt
|
||||
|
||||
# install freqtrade
|
||||
RUN python3 -m pip install -e .
|
||||
|
||||
RUN chmod +x /etc/s6-overlay/s6-rc.d/fqmbotnfix5/*
|
||||
|
||||
# Labels
|
||||
LABEL \
|
||||
io.hass.name="Freqtrade NostalgiaForInfinity x5 bot" \
|
||||
io.hass.description="Freqtrade NostalgiaForInfinity x5 bot" \
|
||||
io.hass.arch="${BUILD_ARCH}" \
|
||||
io.hass.type="addon" \
|
||||
io.hass.version="v0.0.0"\
|
||||
maintainer="feres mezned" \
|
||||
org.opencontainers.image.title="Freqtrade NostalgiaForInfinity x5 bot" \
|
||||
org.opencontainers.image.description="Freqtrade NostalgiaForInfinity x5 bot" \
|
||||
org.opencontainers.image.vendor="Home Assistant Local Add-ons" \
|
||||
org.opencontainers.image.authors="Feres MEZNED" \
|
||||
org.opencontainers.image.licenses="NO" \
|
||||
org.opencontainers.image.url="https://mezgit.duckdns.org/mezned/HAddons" \
|
||||
org.opencontainers.image.source="https://mezgit.duckdns.org/mezned/HAddons/freqtrade-NFIx5"
|
||||
|
8
freqtrade-NFIx5/build.yaml
Normal file
8
freqtrade-NFIx5/build.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
build_from:
|
||||
aarch64: ghcr.io/hassio-addons/base:17.1.0
|
||||
amd64: ghcr.io/hassio-addons/base:17.1.0
|
||||
armv7: ghcr.io/hassio-addons/base:17.1.0
|
||||
codenotary:
|
||||
base_image: codenotary@feres.dev
|
||||
signer: codenotary@feres.dev
|
61
freqtrade-NFIx5/config.yaml
Normal file
61
freqtrade-NFIx5/config.yaml
Normal file
@ -0,0 +1,61 @@
|
||||
---
|
||||
name: "Freqtrade NFI Bot Add-on"
|
||||
version: "1.0.0"
|
||||
slug: "afreqtrade_nfi_bot"
|
||||
description: "Home Assistant add-on that runs Freqtrade NFI Bot"
|
||||
url: https://mezgit.duckdns.org/mezned/HAddons/freqtrade-NFIx5
|
||||
init: false
|
||||
arch:
|
||||
- aarch64
|
||||
- amd64
|
||||
- armv7
|
||||
hassio_api: true
|
||||
homeassistant_api: true
|
||||
auth_api: true
|
||||
docker_api: true
|
||||
host_network: true
|
||||
host_pid: true
|
||||
map:
|
||||
- share:rw
|
||||
ports:
|
||||
8989/tcp: 8989
|
||||
options:
|
||||
bot_name: "fqm_bot_nfix5"
|
||||
max_open_trade: "4"
|
||||
trading_mode: "spot"
|
||||
exchange_name: "binance"
|
||||
exchange_key: ""
|
||||
exchange_token: ""
|
||||
telegram_enabled: "true"
|
||||
telegram_token: ""
|
||||
telegram_chat_id: ""
|
||||
api_server_enabled: "true"
|
||||
api_server_port: "8989"
|
||||
api_server_username: ""
|
||||
api_server_password: ""
|
||||
api_server_jwt_secret_key: ""
|
||||
api_server_ws_token: ""
|
||||
timezone: "Europe/Paris"
|
||||
dry_run: "true"
|
||||
strategy: "NostalgiaForInfinityX5"
|
||||
log_level: "info"
|
||||
schema:
|
||||
bot_name: str
|
||||
max_open_trade: str
|
||||
trading_mode: str
|
||||
exchange_name: str
|
||||
exchange_key: str
|
||||
exchange_token: str
|
||||
telegram_enabled: str
|
||||
telegram_token: str
|
||||
telegram_chat_id: str
|
||||
api_server_enabled: str
|
||||
api_server_port: str
|
||||
api_server_username: str
|
||||
api_server_password: str
|
||||
api_server_jwt_secret_key: str
|
||||
api_server_ws_token: str
|
||||
timezone: str
|
||||
dry_run: str
|
||||
strategy: str
|
||||
log_level: list(trace|debug|info|notice|warning|error|fatal)?
|
@ -0,0 +1,45 @@
|
||||
#!/command/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
# ==============================================================================
|
||||
# Home Assistant Community Add-on: Example
|
||||
# ==============================================================================
|
||||
declare exit_code
|
||||
readonly exit_code_container=$(</run/s6-linux-init-container-results/exitcode)
|
||||
readonly exit_code_service="${1}"
|
||||
readonly exit_code_signal="${2}"
|
||||
readonly service="fqmbotnfix5"
|
||||
|
||||
bashio::log.info \
|
||||
"Service ${service} exited with code ${exit_code_service}" \
|
||||
"(by signal ${exit_code_signal})"
|
||||
|
||||
# Received a signal
|
||||
if [[ "${exit_code_service}" -eq 256 ]]; then
|
||||
|
||||
# The signal might be a result of another service crashing. Only
|
||||
# overwrite the container exit code if it is not already set.
|
||||
if [[ "${exit_code_container}" -eq 0 ]]; then
|
||||
echo $((128 + $exit_code_signal)) > /run/s6-linux-init-container-results/exitcode
|
||||
fi
|
||||
|
||||
# If the signal is SIGTERM, we should halt the container and take down
|
||||
# the whole process tree.
|
||||
[[ "${exit_code_signal}" -eq 15 ]] && exec /run/s6/basedir/bin/halt
|
||||
|
||||
# The service exited with a non-zero exit code, which means it crashed.
|
||||
elif [[ "${exit_code_service}" -ne 0 ]]; then
|
||||
|
||||
# The service might be a result of another service crashing. Only
|
||||
# overwrite the container exit code if it is not already set.
|
||||
if [[ "${exit_code_container}" -eq 0 ]]; then
|
||||
echo "${exit_code_service}" > /run/s6-linux-init-container-results/exitcode
|
||||
fi
|
||||
|
||||
# We should halt the container and take down the whole process tree.
|
||||
exec /run/s6/basedir/bin/halt
|
||||
|
||||
# The service exited with a zero exit code, which means it exited, let
|
||||
# S6 supervision restart it.
|
||||
else
|
||||
bashio::log.info "Service ${service} restarting..."
|
||||
fi
|
@ -0,0 +1,65 @@
|
||||
#!/command/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
# ==============================================================================
|
||||
# Home Assistant Community Add-on: Example
|
||||
# Example init script, runs before any other service
|
||||
# ==============================================================================
|
||||
|
||||
declare log_level
|
||||
|
||||
bashio::log.info 'Starting Freqtrade NostalgiaForInfinity x5 bot...'
|
||||
|
||||
journal_path='/var/log/journal'
|
||||
if ! bashio::fs.directory_exists "${journal_path}" || [ -z "$(ls -A ${journal_path})" ]; then
|
||||
bashio::log.info "No journal at ${journal_path}, looking for journal in /run/log/journal instead"
|
||||
journal_path='/run/log/journal'
|
||||
fi
|
||||
|
||||
case "$(bashio::config 'log_level')" in \
|
||||
trace) ;& \
|
||||
debug) log_level='debug' ;; \
|
||||
notice) ;& \
|
||||
warning) log_level='warn' ;; \
|
||||
error) ;& \
|
||||
fatal) log_level='error' ;; \
|
||||
*) log_level='info' ;; \
|
||||
esac;
|
||||
bashio::log.info "Freqtrade log level set to ${log_level}"
|
||||
|
||||
export "JOURNAL_PATH=${journal_path}"
|
||||
export "LOG_LEVEL=${log_level}"
|
||||
|
||||
bashio::log.info "Export Freqtrade environment variables"
|
||||
|
||||
export "FREQTRADE__BOT_NAME=$(bashio::config 'bot_name')"
|
||||
export "FREQTRADE__MAX_OPEN_TRADES=$(bashio::config 'max_open_trade')"
|
||||
export "FREQTRADE__TRADING_MODE=$(bashio::config 'trading_mode')"
|
||||
export "FREQTRADE__EXCHANGE__NAME=$(bashio::config 'exchange_name')"
|
||||
export "FREQTRADE__EXCHANGE__KEY=$(bashio::config 'exchange_key')"
|
||||
export "FREQTRADE__EXCHANGE__SECRET=$(bashio::config 'exchange_token')"
|
||||
export "FREQTRADE__TELEGRAM__ENABLED=$(bashio::config 'telegram_enabled')"
|
||||
export "FREQTRADE__TELEGRAM__TOKEN=$(bashio::config 'telegram_token')"
|
||||
export "FREQTRADE__TELEGRAM__CHAT_ID=$(bashio::config 'telegram_chat_id')"
|
||||
export "FREQTRADE__API_SERVER__ENABLED=$(bashio::config 'api_server_enabled')"
|
||||
export "FREQTRADE__API_SERVER__LISTEN_PORT=$(bashio::config 'api_server_port')"
|
||||
export "FREQTRADE__API_SERVER__USERNAME=$(bashio::config 'api_server_username')"
|
||||
export "FREQTRADE__API_SERVER__PASSWORD=$(bashio::config 'api_server_password')"
|
||||
export "FREQTRADE__API_SERVER__JWT_SECRET_KEY=$(bashio::config 'api_server_jwt_secret_key')"
|
||||
export "FREQTRADE__API_SERVER__WS_TOKEN=$(bashio::config 'api_server_ws_token')"
|
||||
# Time Zone
|
||||
export "TZ=$(bashio::config 'timezone')"
|
||||
export "FREQTRADE__DRY_RUN=$(bashio::config 'dry_run')"
|
||||
export "FREQTRADE__STRATEGY=$(bashio::config 'strategy')"
|
||||
|
||||
bashio::log.info "starting the bot ..."
|
||||
|
||||
source /freqtrade/.venv/bin/activate
|
||||
|
||||
pip install --upgrade pip setuptools wheel setuptools_scm cython
|
||||
pip install --no-cache-dir -r /share/fqm_bot_nfix5/tests/requirements.txt
|
||||
|
||||
source /freqtrade/.venv/bin/activate
|
||||
freqtrade install-ui
|
||||
cd /share/fqm_bot_nfix5
|
||||
|
||||
exec freqtrade trade --db-url sqlite:////share/fqm_bot_nfix5/user_data/${FREQTRADE__BOT_NAME:-Example_Test_Account}_${FREQTRADE__EXCHANGE__NAME:-binance}_${FREQTRADE__TRADING_MODE:-spot}-tradesv3.sqlite --log-file /share/fqm_bot_nfix5/user_data/logs/${FREQTRADE__BOT_NAME:-Example_Test_Account}-${FREQTRADE__EXCHANGE__NAME:-binance}-${FREQTRADE__STRATEGY:-NostalgiaForInfinityX5}-${FREQTRADE__TRADING_MODE:-spot}.log --config /share/fqm_bot_nfix5/user_data/config.json
|
@ -0,0 +1 @@
|
||||
longrun
|
@ -1,45 +1,33 @@
|
||||
---
|
||||
|
||||
# This is a complete configuration to deploy Loki backed by the filesystem.
|
||||
# The index will be shipped to the storage via tsdb-shipper.
|
||||
|
||||
auth_enabled: false
|
||||
|
||||
server: {}
|
||||
server:
|
||||
http_listen_port: 3100
|
||||
|
||||
ingester:
|
||||
lifecycler:
|
||||
address: 127.0.0.1
|
||||
ring:
|
||||
kvstore:
|
||||
store: inmemory
|
||||
replication_factor: 1
|
||||
final_sleep: 0s
|
||||
chunk_idle_period: 1h
|
||||
max_chunk_age: 1h
|
||||
chunk_target_size: 1048576
|
||||
chunk_retain_period: 30s
|
||||
wal:
|
||||
dir: /data/loki/wal
|
||||
common:
|
||||
ring:
|
||||
instance_addr: 127.0.0.1
|
||||
kvstore:
|
||||
store: inmemory
|
||||
replication_factor: 1
|
||||
path_prefix: /tmp/loki
|
||||
|
||||
schema_config:
|
||||
configs:
|
||||
- from: 2020-11-09
|
||||
store: tsdb # Changed to tsdb
|
||||
object_store: filesystem
|
||||
schema: v13 # Changed to v13
|
||||
index:
|
||||
prefix: index_
|
||||
period: 24h
|
||||
- from: 2020-05-15
|
||||
store: tsdb
|
||||
object_store: filesystem
|
||||
schema: v13
|
||||
index:
|
||||
prefix: index_
|
||||
period: 24h
|
||||
|
||||
storage_config:
|
||||
tsdb_shipper:
|
||||
active_index_directory: /data/loki/tsdb-active # Set this path
|
||||
cache_location: /data/loki/tsdb-cache # Set this path
|
||||
filesystem:
|
||||
directory: /data/loki/chunks
|
||||
|
||||
compactor:
|
||||
working_directory: /data/loki/boltdb-shipper-compactor
|
||||
retention_enabled: true
|
||||
delete_request_store: filesystem # Added this line
|
||||
|
||||
directory: /tmp/loki/chunks
|
||||
limits_config:
|
||||
reject_old_samples: true
|
||||
reject_old_samples_max_age: 168h
|
||||
|
@ -1,6 +1,3 @@
|
||||
# https://github.com/mdegat01/promtail-journal/releases
|
||||
#FROM ghcr.io/mdegat01/promtail-journal/${BUILD_ARCH}:1.6.0 as build_promtail
|
||||
|
||||
# https://github.com/hassio-addons/addon-debian-base/releases
|
||||
# hadolint ignore=DL3006
|
||||
ARG BUILD_FROM
|
||||
@ -8,19 +5,22 @@ FROM ${BUILD_FROM}
|
||||
|
||||
# https://github.com/mikefarah/yq/releases
|
||||
ARG YQ_VERSION=4.44.3
|
||||
ARG PROMTAIL_VERSION=3.2.1
|
||||
|
||||
ARG BUILD_ARCH
|
||||
|
||||
COPY rootfs /
|
||||
|
||||
# Add yq and tzdata (required for the timestamp stage)
|
||||
RUN echo "deb http://deb.debian.org/debian bullseye-backports main" >> /etc/apt/sources.list
|
||||
RUN apt-get update && apt-get install -t bullseye-backports -qy libsystemd-dev
|
||||
RUN set -eux; \
|
||||
apt-get update; \
|
||||
apt-get install -qy --no-install-recommends \
|
||||
tar=1.34+dfsg-1 \
|
||||
; \
|
||||
update-ca-certificates; \
|
||||
apk update; \
|
||||
\
|
||||
case "${BUILD_ARCH}" in \
|
||||
apk add --no-cache --virtual .build-deps \
|
||||
tar;
|
||||
RUN apk add --no-cache \
|
||||
ca-certificates;
|
||||
RUN update-ca-certificates;
|
||||
RUN case "${BUILD_ARCH}" in \
|
||||
amd64) BINARCH='amd64' ;; \
|
||||
armhf) BINARCH='arm' ;; \
|
||||
armv7) BINARCH='arm' ;; \
|
||||
@ -35,16 +35,27 @@ RUN set -eux; \
|
||||
rm /tmp/yq.tar.gz; \
|
||||
yq --version; \
|
||||
\
|
||||
apt-get clean; \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*; \
|
||||
chmod +x /etc/cont-init.d/promtail_setup.sh; \
|
||||
chmod +x /etc/services.d/promtail/*;
|
||||
|
||||
# Add promtail
|
||||
COPY --from=grafana/promtail:latest /usr/bin/promtail /usr/bin/promtail
|
||||
RUN promtail --version
|
||||
# Install dependencies for building Promtail
|
||||
RUN apk add --no-cache go git build-base
|
||||
|
||||
COPY rootfs /
|
||||
# Download the Promtail source code
|
||||
RUN git clone --branch "v${PROMTAIL_VERSION}" https://github.com/grafana/loki.git /promtail-src
|
||||
|
||||
# Build Promtail
|
||||
WORKDIR /promtail-src/clients/cmd/promtail
|
||||
RUN go build -o /usr/bin/promtail
|
||||
|
||||
# Clean up source and unnecessary packages
|
||||
RUN apk del go git build-base && \
|
||||
rm -rf /promtail-src
|
||||
|
||||
# Verify the installation
|
||||
RUN /usr/bin/promtail -version
|
||||
|
||||
WORKDIR /data/promtail
|
||||
|
||||
# Build arguments
|
9
promtail/build.yaml
Normal file
9
promtail/build.yaml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
build_from:
|
||||
amd64: ghcr.io/hassio-addons/base/amd64:16.3.4
|
||||
armhf: ghcr.io/hassio-addons/base/armhf:16.3.4
|
||||
armv7: ghcr.io/hassio-addons/base/armv7:16.3.4
|
||||
aarch64: ghcr.io/hassio-addons/base/aarch64:16.3.4
|
||||
codenotary:
|
||||
base_image: codenotary@frenck.dev
|
||||
signer: codenotary@degatano.com
|
@ -11,10 +11,15 @@ arch:
|
||||
description: Promtail for Home Assistant
|
||||
codenotary: codenotary@degatano.com
|
||||
init: false
|
||||
journald: true
|
||||
hassio_api: true
|
||||
homeassistant_api: true
|
||||
auth_api: true
|
||||
docker_api: true
|
||||
host_network: true
|
||||
host_pid: true
|
||||
map:
|
||||
- config
|
||||
- share
|
||||
- config:rw
|
||||
- share:rw
|
||||
- ssl
|
||||
watchdog: http://[HOST]:[PORT:9080]/ready
|
||||
ports:
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
9
promtail/rootfs/etc/promtail/default-scrape-config.yaml
Normal file
9
promtail/rootfs/etc/promtail/default-scrape-config.yaml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
- job_name: home_assistant_logs
|
||||
static_configs:
|
||||
- targets:
|
||||
- localhost # Target for the logs, can be anything since it's just a label
|
||||
labels:
|
||||
job: home_assistant # Job label for your logs in Loki
|
||||
host: home_assistant # Optional label for host, useful if running multiple Home Assistant instances
|
||||
__path__: /config/home-assistant.log # Path to Home Assistant log file
|
Reference in New Issue
Block a user