Smaller updates and extions to docker compose files
This commit is contained in:
28
dashy/docker-compose.yml
Normal file
28
dashy/docker-compose.yml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
version: "3.8"
|
||||||
|
services:
|
||||||
|
dashy:
|
||||||
|
# To build from source, replace 'image: lissy93/dashy' with 'build: .'
|
||||||
|
# build: .
|
||||||
|
image: lissy93/dashy
|
||||||
|
container_name: Dashy
|
||||||
|
# Pass in your config file below, by specifying the path on your host machine
|
||||||
|
# volumes:
|
||||||
|
# - /root/my-config.yml:/app/public/conf.yml
|
||||||
|
ports:
|
||||||
|
- 4000:80
|
||||||
|
# Set any environmental variables
|
||||||
|
environment:
|
||||||
|
- NODE_ENV=production
|
||||||
|
# Specify your user ID and group ID. You can find this by running `id -u` and `id -g`
|
||||||
|
# - UID=1000
|
||||||
|
# - GID=1000
|
||||||
|
# Specify restart policy
|
||||||
|
restart: unless-stopped
|
||||||
|
# Configure healthchecks
|
||||||
|
healthcheck:
|
||||||
|
test: ['CMD', 'node', '/app/services/healthcheck']
|
||||||
|
interval: 1m30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 40s
|
||||||
32
grafana-tick/docker-compose.yml
Normal file
32
grafana-tick/docker-compose.yml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
|
||||||
|
version: '2'
|
||||||
|
services:
|
||||||
|
grafana:
|
||||||
|
image: grafana/grafana
|
||||||
|
container_name: grafana
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 4000:3000
|
||||||
|
networks:
|
||||||
|
- monitoring
|
||||||
|
volumes:
|
||||||
|
- grafana-volume:/var/lib/grafana
|
||||||
|
|
||||||
|
influxdb:
|
||||||
|
image: influxdb
|
||||||
|
container_name: influxdb
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 8086:8086
|
||||||
|
networks:
|
||||||
|
- monitoring
|
||||||
|
volumes:
|
||||||
|
- influxdb-volume:/var/lib/influxdb
|
||||||
|
|
||||||
|
networks:
|
||||||
|
monitoring:
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
grafana-volume:
|
||||||
|
influxdb-volume:
|
||||||
|
|
||||||
1
grafana-tick/env.grafana
Normal file
1
grafana-tick/env.grafana
Normal file
@@ -0,0 +1 @@
|
|||||||
|
GF_INSTALL_PLUGINS=grafana-clock-panel,briangann-gauge-panel,natel-plotly-panel,grafana-simple-json-datasource
|
||||||
128
grafana-tick/telegraph.conf
Normal file
128
grafana-tick/telegraph.conf
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
# Telegraf configuration
|
||||||
|
|
||||||
|
# Telegraf is entirely plugin driven. All metrics are gathered from the
|
||||||
|
# declared inputs, and sent to the declared outputs.
|
||||||
|
|
||||||
|
# Plugins must be declared in here to be active.
|
||||||
|
# To deactivate a plugin, comment out the name and any variables.
|
||||||
|
|
||||||
|
# Use 'telegraf -config telegraf.conf -test' to see what metrics a config
|
||||||
|
# file would generate.
|
||||||
|
|
||||||
|
# Global tags can be specified here in key="value" format.
|
||||||
|
[global_tags]
|
||||||
|
# dc = "us-east-1" # will tag all metrics with dc=us-east-1
|
||||||
|
# rack = "1a"
|
||||||
|
|
||||||
|
# Configuration for telegraf agent
|
||||||
|
[agent]
|
||||||
|
## Default data collection interval for all inputs
|
||||||
|
interval = "10s"
|
||||||
|
## Rounds collection interval to 'interval'
|
||||||
|
## ie, if interval="10s" then always collect on :00, :10, :20, etc.
|
||||||
|
round_interval = true
|
||||||
|
|
||||||
|
## Telegraf will cache metric_buffer_limit metrics for each output, and will
|
||||||
|
## flush this buffer on a successful write.
|
||||||
|
metric_buffer_limit = 10000
|
||||||
|
## Flush the buffer whenever full, regardless of flush_interval.
|
||||||
|
flush_buffer_when_full = true
|
||||||
|
|
||||||
|
## Collection jitter is used to jitter the collection by a random amount.
|
||||||
|
## Each plugin will sleep for a random time within jitter before collecting.
|
||||||
|
## This can be used to avoid many plugins querying things like sysfs at the
|
||||||
|
## same time, which can have a measurable effect on the system.
|
||||||
|
collection_jitter = "0s"
|
||||||
|
|
||||||
|
## Default flushing interval for all outputs. You shouldn't set this below
|
||||||
|
## interval. Maximum flush_interval will be flush_interval + flush_jitter
|
||||||
|
flush_interval = "10s"
|
||||||
|
## Jitter the flush interval by a random amount. This is primarily to avoid
|
||||||
|
## large write spikes for users running a large number of telegraf instances.
|
||||||
|
## ie, a jitter of 5s and interval 10s means flushes will happen every 10-15s
|
||||||
|
flush_jitter = "0s"
|
||||||
|
|
||||||
|
## Run telegraf in debug mode
|
||||||
|
debug = false
|
||||||
|
## Run telegraf in quiet mode
|
||||||
|
quiet = false
|
||||||
|
## Override default hostname, if empty use os.Hostname()
|
||||||
|
hostname = ""
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# OUTPUTS #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Configuration for influxdb server to send metrics to
|
||||||
|
[[outputs.influxdb]]
|
||||||
|
# The full HTTP or UDP endpoint URL for your InfluxDB instance.
|
||||||
|
# Multiple urls can be specified but it is assumed that they are part of the same
|
||||||
|
# cluster, this means that only ONE of the urls will be written to each interval.
|
||||||
|
# urls = ["udp://localhost:8089"] # UDP endpoint example
|
||||||
|
urls = ["http://influxdb:8086"] # required
|
||||||
|
# The target database for metrics (telegraf will create it if not exists)
|
||||||
|
database = "telegraf" # required
|
||||||
|
# Precision of writes, valid values are "ns", "us" (or "<22>s"), "ms", "s", "m", "h".
|
||||||
|
# note: using second precision greatly helps InfluxDB compression
|
||||||
|
precision = "s"
|
||||||
|
|
||||||
|
## Write timeout (for the InfluxDB client), formatted as a string.
|
||||||
|
## If not provided, will default to 5s. 0s means no timeout (not recommended).
|
||||||
|
timeout = "5s"
|
||||||
|
# username = "telegraf"
|
||||||
|
# password = "metricsmetricsmetricsmetrics"
|
||||||
|
# Set the user agent for HTTP POSTs (can be useful for log differentiation)
|
||||||
|
# user_agent = "telegraf"
|
||||||
|
# Set UDP payload size, defaults to InfluxDB UDP Client default (512 bytes)
|
||||||
|
# udp_payload = 512
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# INPUTS #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Read metrics about cpu usage
|
||||||
|
[[inputs.cpu]]
|
||||||
|
# Whether to report per-cpu stats or not
|
||||||
|
percpu = true
|
||||||
|
# Whether to report total system cpu stats or not
|
||||||
|
totalcpu = true
|
||||||
|
# Comment this line if you want the raw CPU time metrics
|
||||||
|
fielddrop = ["time_*"]
|
||||||
|
|
||||||
|
# Read metrics about disk usage by mount point
|
||||||
|
[[inputs.disk]]
|
||||||
|
# By default, telegraf gather stats for all mountpoints.
|
||||||
|
# Setting mountpoints will restrict the stats to the specified mountpoints.
|
||||||
|
# mount_points=["/"]
|
||||||
|
|
||||||
|
# Ignore some mountpoints by filesystem type. For example (dev)tmpfs (usually
|
||||||
|
# present on /run, /var/run, /dev/shm or /dev).
|
||||||
|
ignore_fs = ["tmpfs", "devtmpfs"]
|
||||||
|
|
||||||
|
# Read metrics about disk IO by device
|
||||||
|
[[inputs.diskio]]
|
||||||
|
# By default, telegraf will gather stats for all devices including
|
||||||
|
# disk partitions.
|
||||||
|
# Setting devices will restrict the stats to the specified devices.
|
||||||
|
# devices = ["sda", "sdb"]
|
||||||
|
# Uncomment the following line if you do not need disk serial numbers.
|
||||||
|
# skip_serial_number = true
|
||||||
|
|
||||||
|
# Read metrics about memory usage
|
||||||
|
[[inputs.mem]]
|
||||||
|
# no configuration
|
||||||
|
|
||||||
|
# Read metrics about swap memory usage
|
||||||
|
[[inputs.swap]]
|
||||||
|
# no configuration
|
||||||
|
|
||||||
|
# Read metrics about system load & uptime
|
||||||
|
[[inputs.system]]
|
||||||
|
# no configuration
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# SERVICE INPUTS #
|
||||||
|
###############################################################################
|
||||||
@@ -12,8 +12,10 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
- portainer_data:/data
|
- portainer_data:/data
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
portainer_data:
|
portainer_data:
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
nginx_network:
|
nginx_network:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
162
tandoor-recipes/.env
Normal file
162
tandoor-recipes/.env
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
# only set this to true when testing/debugging
|
||||||
|
# when unset: 1 (true) - dont unset this, just for development
|
||||||
|
DEBUG=0
|
||||||
|
SQL_DEBUG=0
|
||||||
|
|
||||||
|
# HTTP port to bind to
|
||||||
|
# TANDOOR_PORT=8080
|
||||||
|
|
||||||
|
# hosts the application can run under e.g. recipes.mydomain.com,cooking.mydomain.com,...
|
||||||
|
ALLOWED_HOSTS=*
|
||||||
|
|
||||||
|
# random secret key, use for example `base64 /dev/urandom | head -c50` to generate one
|
||||||
|
# ---------------------------- REQUIRED -------------------------
|
||||||
|
SECRET_KEY=ThisIsMySecretKeyHaHa
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
|
||||||
|
# your default timezone See https://timezonedb.com/time-zones for a list of timezones
|
||||||
|
TIMEZONE=Europe/Berlin
|
||||||
|
|
||||||
|
# add only a database password if you want to run with the default postgres, otherwise change settings accordingly
|
||||||
|
DB_ENGINE=django.db.backends.postgresql
|
||||||
|
# DB_OPTIONS= {} # e.g. {"sslmode":"require"} to enable ssl
|
||||||
|
POSTGRES_HOST=db_recipes
|
||||||
|
POSTGRES_PORT=5432
|
||||||
|
POSTGRES_USER=djangouser
|
||||||
|
# ---------------------------- REQUIRED -------------------------
|
||||||
|
POSTGRES_PASSWORD=inginf95
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
POSTGRES_DB=djangodb
|
||||||
|
|
||||||
|
# database connection string, when used overrides other database settings.
|
||||||
|
# format might vary depending on backend
|
||||||
|
# DATABASE_URL = engine://username:password@host:port/dbname
|
||||||
|
|
||||||
|
# the default value for the user preference 'fractions' (enable/disable fraction support)
|
||||||
|
# default: disabled=0
|
||||||
|
FRACTION_PREF_DEFAULT=0
|
||||||
|
|
||||||
|
# the default value for the user preference 'comments' (enable/disable commenting system)
|
||||||
|
# default comments enabled=1
|
||||||
|
COMMENT_PREF_DEFAULT=1
|
||||||
|
|
||||||
|
# Users can set a amount of time after which the shopping list is refreshed when they are in viewing mode
|
||||||
|
# This is the minimum interval users can set. Setting this to low will allow users to refresh very frequently which
|
||||||
|
# might cause high load on the server. (Technically they can obviously refresh as often as they want with their own scripts)
|
||||||
|
SHOPPING_MIN_AUTOSYNC_INTERVAL=5
|
||||||
|
|
||||||
|
# Default for user setting sticky navbar
|
||||||
|
# STICKY_NAV_PREF_DEFAULT=1
|
||||||
|
|
||||||
|
# If base URL is something other than just / (you are serving a subfolder in your proxy for instance http://recipe_app/recipes/)
|
||||||
|
# Be sure to not have a trailing slash: e.g. '/recipes' instead of '/recipes/'
|
||||||
|
# SCRIPT_NAME=/recipes
|
||||||
|
|
||||||
|
# If staticfiles are stored at a different location uncomment and change accordingly, MUST END IN /
|
||||||
|
# this is not required if you are just using a subfolder
|
||||||
|
# This can either be a relative path from the applications base path or the url of an external host
|
||||||
|
# STATIC_URL=/static/
|
||||||
|
|
||||||
|
# If mediafiles are stored at a different location uncomment and change accordingly, MUST END IN /
|
||||||
|
# this is not required if you are just using a subfolder
|
||||||
|
# This can either be a relative path from the applications base path or the url of an external host
|
||||||
|
# MEDIA_URL=/media/
|
||||||
|
|
||||||
|
# Serve mediafiles directly using gunicorn. Basically everyone recommends not doing this. Please use any of the examples
|
||||||
|
# provided that include an additional nxginx container to handle media file serving.
|
||||||
|
# If you know what you are doing turn this back on (1) to serve media files using djangos serve() method.
|
||||||
|
# when unset: 1 (true) - this is temporary until an appropriate amount of time has passed for everyone to migrate
|
||||||
|
GUNICORN_MEDIA=0
|
||||||
|
|
||||||
|
# S3 Media settings: store mediafiles in s3 or any compatible storage backend (e.g. minio)
|
||||||
|
# as long as S3_ACCESS_KEY is not set S3 features are disabled
|
||||||
|
# S3_ACCESS_KEY=
|
||||||
|
# S3_SECRET_ACCESS_KEY=
|
||||||
|
# S3_BUCKET_NAME=
|
||||||
|
# S3_REGION_NAME= # default none, set your region might be required
|
||||||
|
# S3_QUERYSTRING_AUTH=1 # default true, set to 0 to serve media from a public bucket without signed urls
|
||||||
|
# S3_QUERYSTRING_EXPIRE=3600 # number of seconds querystring are valid for
|
||||||
|
# S3_ENDPOINT_URL= # when using a custom endpoint like minio
|
||||||
|
|
||||||
|
# Email Settings, see https://docs.djangoproject.com/en/3.2/ref/settings/#email-host
|
||||||
|
# Required for email confirmation and password reset (automatically activates if host is set)
|
||||||
|
# EMAIL_HOST=
|
||||||
|
# EMAIL_PORT=
|
||||||
|
# EMAIL_HOST_USER=
|
||||||
|
# EMAIL_HOST_PASSWORD=
|
||||||
|
# EMAIL_USE_TLS=0
|
||||||
|
# EMAIL_USE_SSL=0
|
||||||
|
# email sender address (default 'webmaster@localhost')
|
||||||
|
# DEFAULT_FROM_EMAIL=
|
||||||
|
# prefix used for account related emails (default "[Tandoor Recipes] ")
|
||||||
|
# ACCOUNT_EMAIL_SUBJECT_PREFIX=
|
||||||
|
|
||||||
|
# allow authentication via reverse proxy (e.g. authelia), leave off if you dont know what you are doing
|
||||||
|
# see docs for more information https://vabene1111.github.io/recipes/features/authentication/
|
||||||
|
# when unset: 0 (false)
|
||||||
|
REVERSE_PROXY_AUTH=0
|
||||||
|
|
||||||
|
# Default settings for spaces, apply per space and can be changed in the admin view
|
||||||
|
# SPACE_DEFAULT_MAX_RECIPES=0 # 0=unlimited recipes
|
||||||
|
# SPACE_DEFAULT_MAX_USERS=0 # 0=unlimited users per space
|
||||||
|
# SPACE_DEFAULT_MAX_FILES=0 # Maximum file storage for space in MB. 0 for unlimited, -1 to disable file upload.
|
||||||
|
# SPACE_DEFAULT_ALLOW_SHARING=1 # Allow users to share recipes with public links
|
||||||
|
|
||||||
|
# allow people to create accounts on your application instance (without an invite link)
|
||||||
|
# when unset: 0 (false)
|
||||||
|
# ENABLE_SIGNUP=0
|
||||||
|
|
||||||
|
# If signup is enabled you might want to add a captcha to it to prevent spam
|
||||||
|
# HCAPTCHA_SITEKEY=
|
||||||
|
# HCAPTCHA_SECRET=
|
||||||
|
|
||||||
|
# if signup is enabled you might want to provide urls to data protection policies or terms and conditions
|
||||||
|
# TERMS_URL=
|
||||||
|
# PRIVACY_URL=
|
||||||
|
# IMPRINT_URL=
|
||||||
|
|
||||||
|
# enable serving of prometheus metrics under the /metrics path
|
||||||
|
# ATTENTION: view is not secured (as per the prometheus default way) so make sure to secure it
|
||||||
|
# trough your web server (or leave it open of you dont care if the stats are exposed)
|
||||||
|
# ENABLE_METRICS=0
|
||||||
|
|
||||||
|
# allows you to setup OAuth providers
|
||||||
|
# see docs for more information https://vabene1111.github.io/recipes/features/authentication/
|
||||||
|
# SOCIAL_PROVIDERS = allauth.socialaccount.providers.github, allauth.socialaccount.providers.nextcloud,
|
||||||
|
|
||||||
|
# Should a newly created user from a social provider get assigned to the default space and given permission by default ?
|
||||||
|
# ATTENTION: This feature might be deprecated in favor of a space join and public viewing system in the future
|
||||||
|
# default 0 (false), when 1 (true) users will be assigned space and group
|
||||||
|
# SOCIAL_DEFAULT_ACCESS = 1
|
||||||
|
|
||||||
|
# if SOCIAL_DEFAULT_ACCESS is used, which group should be added
|
||||||
|
# SOCIAL_DEFAULT_GROUP=guest
|
||||||
|
|
||||||
|
# Django session cookie settings. Can be changed to allow a single django application to authenticate several applications
|
||||||
|
# when running under the same database
|
||||||
|
# SESSION_COOKIE_DOMAIN=.example.com
|
||||||
|
# SESSION_COOKIE_NAME=sessionid # use this only to not interfere with non unified django applications under the same top level domain
|
||||||
|
|
||||||
|
# by default SORT_TREE_BY_NAME is disabled this will store all Keywords and Food in the order they are created
|
||||||
|
# enabling this setting makes saving new keywords and foods very slow, which doesn't matter in most usecases.
|
||||||
|
# however, when doing large imports of recipes that will create new objects, can increase total run time by 10-15x
|
||||||
|
# Keywords and Food can be manually sorted by name in Admin
|
||||||
|
# This value can also be temporarily changed in Admin, it will revert the next time the application is started
|
||||||
|
# This will be fixed/changed in the future by changing the implementation or finding a better workaround for sorting
|
||||||
|
# SORT_TREE_BY_NAME=0
|
||||||
|
# LDAP authentication
|
||||||
|
# default 0 (false), when 1 (true) list of allowed users will be fetched from LDAP server
|
||||||
|
#LDAP_AUTH=
|
||||||
|
#AUTH_LDAP_SERVER_URI=
|
||||||
|
#AUTH_LDAP_BIND_DN=
|
||||||
|
#AUTH_LDAP_BIND_PASSWORD=
|
||||||
|
#AUTH_LDAP_USER_SEARCH_BASE_DN=
|
||||||
|
#AUTH_LDAP_TLS_CACERTFILE=
|
||||||
|
|
||||||
|
# Enables exporting PDF (see export docs)
|
||||||
|
# Disabled by default, uncomment to enable
|
||||||
|
# ENABLE_PDF_EXPORT=1
|
||||||
|
|
||||||
|
# Recipe exports are cached for a certain time by default, adjust time if needed
|
||||||
|
# EXPORT_FILE_CACHE_DURATION=600
|
||||||
|
|
||||||
42
tandoor-recipes/docker-compose.yml
Normal file
42
tandoor-recipes/docker-compose.yml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
db_recipes:
|
||||||
|
restart: always
|
||||||
|
image: postgres:11-alpine
|
||||||
|
volumes:
|
||||||
|
- tandoor_postgresql:/var/lib/postgresql/data
|
||||||
|
env_file:
|
||||||
|
- ./.env
|
||||||
|
|
||||||
|
web_recipes:
|
||||||
|
restart: always
|
||||||
|
image: vabene1111/recipes
|
||||||
|
env_file:
|
||||||
|
- ./.env
|
||||||
|
volumes:
|
||||||
|
- tandoor_staticfiles:/opt/recipes/staticfiles
|
||||||
|
- tandoor_nginx_config:/opt/recipes/nginx/conf.d
|
||||||
|
- tandoor_mediafiles:/opt/recipes/mediafiles
|
||||||
|
depends_on:
|
||||||
|
- db_recipes
|
||||||
|
|
||||||
|
nginx_recipes:
|
||||||
|
image: nginx:mainline-alpine
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 8095:80
|
||||||
|
env_file:
|
||||||
|
- ./.env
|
||||||
|
depends_on:
|
||||||
|
- web_recipes
|
||||||
|
volumes:
|
||||||
|
- tandoor_nginx_config:/etc/nginx/conf.d:ro
|
||||||
|
- tandoor_staticfiles:/static:ro
|
||||||
|
- tandoor_mediafiles:/media:ro
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
tandoor_nginx_config:
|
||||||
|
tandoor_staticfiles:
|
||||||
|
tandoor_mediafiles:
|
||||||
|
tandoor_postgresql:
|
||||||
|
|
||||||
17
traccar/docker-compose.yml
Normal file
17
traccar/docker-compose.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
version: '3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
traccar:
|
||||||
|
image: traccar/traccar:latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "8096:8082"
|
||||||
|
- "5000-5150:5000-5150"
|
||||||
|
- "5000-5150:5000-5150/udp"
|
||||||
|
volumes:
|
||||||
|
- traccar_logs:/opt/traccar/logs:rw
|
||||||
|
- traccar_data:/opt/traccar/data:rw
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
traccar_logs:
|
||||||
|
traccar_data:
|
||||||
Reference in New Issue
Block a user