initial commit
This commit is contained in:
commit
879d596740
3
Readme.md
Normal file
3
Readme.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Docker-Compose Library
|
||||
A collection of docker-compose files for different open-source projects.
|
||||
|
196
bookstack/bookstack_db_data/custom.cnf
Normal file
196
bookstack/bookstack_db_data/custom.cnf
Normal file
@ -0,0 +1,196 @@
|
||||
## custom configuration file based on https://github.com/just-containers/mariadb/blob/master/rootfs/etc/mysql/my.cnf
|
||||
## please be aware that changing options here may break things
|
||||
#
|
||||
# The MySQL database server configuration file.
|
||||
#
|
||||
# One can use all long options that the program supports.
|
||||
# Run program with --help to get a list of available options and with
|
||||
# --print-defaults to see which it would actually understand and use.
|
||||
#
|
||||
# For explanations see
|
||||
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
|
||||
|
||||
# This will be passed to all mysql clients
|
||||
# It has been reported that passwords should be enclosed with ticks/quotes
|
||||
# especially if they contain "#" chars...
|
||||
[client]
|
||||
port = 3306
|
||||
socket = /var/run/mysqld/mysqld.sock
|
||||
|
||||
default-character-set = utf8mb4
|
||||
|
||||
# Here is entries for some specific programs
|
||||
# The following values assume you have at least 32M ram
|
||||
|
||||
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
|
||||
[mysqld_safe]
|
||||
socket = /var/run/mysqld/mysqld.sock
|
||||
nice = 0
|
||||
|
||||
[mysqld]
|
||||
#
|
||||
# * Basic Settings
|
||||
#
|
||||
user = abc
|
||||
pid-file = /var/run/mysqld/mysqld.pid
|
||||
socket = /var/run/mysqld/mysqld.sock
|
||||
port = 3306
|
||||
basedir = /usr
|
||||
datadir = /var/lib/mysql
|
||||
tmpdir = /tmp
|
||||
lc_messages_dir = /usr/share/mariadb
|
||||
lc_messages = en_US
|
||||
skip-external-locking
|
||||
#
|
||||
# Instead of skip-networking the default is now to listen only on
|
||||
# localhost which is more compatible and is not less secure.
|
||||
#bind-address = 127.0.0.1
|
||||
#
|
||||
# * Fine Tuning
|
||||
#
|
||||
key_buffer_size = 128M
|
||||
max_connections = 100
|
||||
connect_timeout = 5
|
||||
wait_timeout = 600
|
||||
max_allowed_packet = 16M
|
||||
thread_cache_size = 128
|
||||
thread_stack = 192K
|
||||
sort_buffer_size = 4M
|
||||
bulk_insert_buffer_size = 16M
|
||||
tmp_table_size = 32M
|
||||
max_heap_table_size = 32M
|
||||
|
||||
#performance_schema = on
|
||||
character_set_server = utf8mb4
|
||||
collation_server = utf8mb4_general_ci
|
||||
transaction_isolation = READ-COMMITTED
|
||||
binlog_format = MIXED
|
||||
|
||||
#
|
||||
# * MyISAM
|
||||
#
|
||||
# This replaces the startup script and checks MyISAM tables if needed
|
||||
# the first time they are touched. On error, make copy and try a repair.
|
||||
myisam-recover-options = BACKUP
|
||||
#open-files-limit = 2000
|
||||
table_open_cache = 400
|
||||
#table_cache = 64
|
||||
#thread_concurrency = 10
|
||||
myisam_sort_buffer_size = 512M
|
||||
concurrent_insert = 2
|
||||
read_buffer_size = 2M
|
||||
read_rnd_buffer_size = 1M
|
||||
#
|
||||
# * Query Cache Configuration
|
||||
#
|
||||
# Cache only tiny result sets, so we can fit more in the query cache.
|
||||
query_cache_limit = 128K
|
||||
query_cache_size = 64M
|
||||
# for more write intensive setups, set to DEMAND or OFF
|
||||
query_cache_type = DEMAND
|
||||
#
|
||||
# * Logging and Replication
|
||||
#
|
||||
console = 1
|
||||
# Both location gets rotated by the cronjob.
|
||||
# Be aware that this log type is a performance killer.
|
||||
# As of 5.1 you can enable the log at runtime!
|
||||
#general_log = 1
|
||||
#general_log_file = /config/log/mysql/mysql.log
|
||||
#
|
||||
# Error log - should be very few entries.
|
||||
#
|
||||
log_warnings = 2
|
||||
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf
|
||||
#log_error = /config/log/mysql/mysql.log
|
||||
#
|
||||
# Enable the slow query log to see queries with especially long duration
|
||||
slow_query_log = 1
|
||||
slow_query_log_file = /config/log/mysql/mariadb-slow.log
|
||||
long_query_time = 5
|
||||
#log_slow_rate_limit = 1000
|
||||
#log-queries-not-using-indexes
|
||||
#log_slow_admin_statements
|
||||
#
|
||||
# The following can be used as easy to replay backup logs or for replication.
|
||||
# note: if you are setting up a replication slave, see
|
||||
# https://mariadb.com/kb/en/setting-up-replication/
|
||||
# about other settings you may need to change.
|
||||
#server-id = 1
|
||||
#report_host = master1
|
||||
#auto_increment_increment = 2
|
||||
#auto_increment_offset = 1
|
||||
log_bin = /config/log/mysql/mariadb-bin
|
||||
log_bin_index = /config/log/mysql/mariadb-bin.index
|
||||
# not fab for performance, but safer
|
||||
#sync_binlog = 1
|
||||
#binlog_do_db = include_database_name
|
||||
#binlog_ignore_db = include_database_name
|
||||
expire_logs_days = 10
|
||||
max_binlog_size = 100M
|
||||
# slaves
|
||||
#relay_log = /config/log/mysql/relay-bin
|
||||
#relay_log_index = /config/log/mysql/relay-bin.index
|
||||
#relay_log_info_file = /config/log/mysql/relay-bin.info
|
||||
#log_slave_updates
|
||||
#read_only
|
||||
#
|
||||
# If applications support it, this stricter sql_mode prevents some
|
||||
# mistakes like inserting invalid dates etc.
|
||||
#sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL
|
||||
#
|
||||
# * InnoDB
|
||||
#
|
||||
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
|
||||
# Read the manual for more InnoDB related options. There are many!
|
||||
default_storage_engine = InnoDB
|
||||
# you can't just change log file size, requires special procedure
|
||||
#innodb_log_file_size = 50M
|
||||
innodb_buffer_pool_size = 256M
|
||||
innodb_log_buffer_size = 8M
|
||||
innodb_file_per_table = 1
|
||||
innodb_open_files = 400
|
||||
innodb_io_capacity = 400
|
||||
innodb_flush_method = O_DIRECT
|
||||
#
|
||||
# * Security Features
|
||||
#
|
||||
# Read the manual, too, if you want chroot!
|
||||
# chroot = /var/lib/mysql/
|
||||
#
|
||||
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
|
||||
#
|
||||
# ssl-ca=/etc/mysql/cacert.pem
|
||||
# ssl-cert=/etc/mysql/server-cert.pem
|
||||
# ssl-key=/etc/mysql/server-key.pem
|
||||
|
||||
[mysqldump]
|
||||
quick
|
||||
quote-names
|
||||
max_allowed_packet = 16M
|
||||
|
||||
[mysql]
|
||||
#no-auto-rehash # faster start of mysql but no tab completion
|
||||
|
||||
[isamchk]
|
||||
key_buffer = 16M
|
||||
|
||||
#
|
||||
# * Galera-related settings
|
||||
#
|
||||
[galera]
|
||||
# Mandatory settings
|
||||
#wsrep_on=ON
|
||||
#wsrep_provider=
|
||||
#wsrep_cluster_address=
|
||||
#binlog_format=MIXED
|
||||
#default_storage_engine=InnoDB
|
||||
#innodb_autoinc_lock_mode=2
|
||||
#
|
||||
# Allow server to accept connections on all interfaces.
|
||||
#
|
||||
#bind-address=0.0.0.0
|
||||
#
|
||||
# Optional setting
|
||||
#wsrep_slave_threads=1
|
||||
#innodb_flush_log_at_trx_commit=0
|
36
bookstack/docker-compose.yml
Normal file
36
bookstack/docker-compose.yml
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
version: "2"
|
||||
services:
|
||||
bookstack:
|
||||
image: lscr.io/linuxserver/bookstack
|
||||
container_name: bookstack
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- APP_URL=https://your.domain
|
||||
- DB_HOST=bookstack_db
|
||||
- DB_PORT=3306
|
||||
- DB_USER=bookstackuser
|
||||
- DB_PASS=yourpassword
|
||||
- DB_DATABASE=bookstackapp
|
||||
volumes:
|
||||
- ./bookstack_app_data:/config
|
||||
ports:
|
||||
- 6875:80
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- bookstack_db
|
||||
bookstack_db:
|
||||
image: lscr.io/linuxserver/mariadb
|
||||
container_name: bookstack_db
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- MYSQL_ROOT_PASSWORD=yourpassword
|
||||
- TZ=Europe/Berlin
|
||||
- MYSQL_DATABASE=bookstackapp
|
||||
- MYSQL_USER=bookstackuser
|
||||
- MYSQL_PASSWORD=yourpassword
|
||||
volumes:
|
||||
- ./bookstack_db_data:/config
|
||||
restart: unless-stopped
|
25
dashy/config.yml
Normal file
25
dashy/config.yml
Normal file
@ -0,0 +1,25 @@
|
||||
appConfig:
|
||||
theme: matrix
|
||||
layout: auto
|
||||
iconSize: medium
|
||||
language: de
|
||||
pageInfo:
|
||||
title: Your Dashy
|
||||
description: ''
|
||||
navLinks: []
|
||||
footerText: ''
|
||||
sections:
|
||||
- name: your.domain
|
||||
items:
|
||||
- title: YourDomain
|
||||
icon: https://your.domain/img/logo.png
|
||||
url: https://your.domain
|
||||
items:
|
||||
- title: Minecraft Dynmap
|
||||
url: https://meinspaces.org
|
||||
- name: personal links
|
||||
items:
|
||||
- title: Github
|
||||
url: https://github.com/youruser
|
||||
- title: Youtube
|
||||
url: https://www.youtube.com/channel/yourchannel
|
22
dashy/docker-compose.yml
Normal file
22
dashy/docker-compose.yml
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
version: "3.8"
|
||||
services:
|
||||
dashy:
|
||||
image: lissy93/dashy
|
||||
container_name: Dashy
|
||||
# Pass in your config file below, by specifying the path on your host machine
|
||||
volumes:
|
||||
- ./config.yml:/app/public/conf.yml
|
||||
ports:
|
||||
- 80:80
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- UID=1000
|
||||
- GID=1000
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ['CMD', 'node', '/app/services/healthcheck']
|
||||
interval: 1m30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 40s
|
24
gitea/docker-compose.yml
Normal file
24
gitea/docker-compose.yml
Normal file
@ -0,0 +1,24 @@
|
||||
version: "3"
|
||||
|
||||
networks:
|
||||
gitea:
|
||||
external: false
|
||||
|
||||
services:
|
||||
server:
|
||||
image: gitea/gitea:latest
|
||||
container_name: gitea
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
- DISABLE_REGISTRATION=true
|
||||
restart: always
|
||||
networks:
|
||||
- gitea
|
||||
volumes:
|
||||
- ./gitea:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- "3000:3000"
|
||||
- "22:22"
|
18
grafana/docker-compose.yml
Normal file
18
grafana/docker-compose.yml
Normal file
@ -0,0 +1,18 @@
|
||||
version: "3.3"
|
||||
|
||||
services:
|
||||
grafana:
|
||||
image: grafana/grafana:latest
|
||||
container_name: grafana
|
||||
restart: always
|
||||
user: "1000"
|
||||
ports:
|
||||
- "3000:3000" # expose for localhost
|
||||
volumes:
|
||||
- ./data:/var/lib/grafana # data path
|
||||
- ./grafana/grafana.ini:/etc/grafana/grafana.ini
|
||||
- ./grafana/provisioning:/etc/grafana/provisioning
|
||||
environment:
|
||||
- GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource
|
||||
- GF_SECURITY_ADMIN_USER=your-username
|
||||
- GF_SECURITY_ADMIN_PASSWORD=your-super-secret-password
|
2
grafana/grafana/grafana.ini
Normal file
2
grafana/grafana/grafana.ini
Normal file
@ -0,0 +1,2 @@
|
||||
[plugin.marcusolsson-csv-datasource]
|
||||
allow_local_mode = true
|
47
gramps/docker-compose.yml
Normal file
47
gramps/docker-compose.yml
Normal file
@ -0,0 +1,47 @@
|
||||
version: "3.7"
|
||||
|
||||
services:
|
||||
grampsweb: &grampsweb
|
||||
image: ghcr.io/gramps-project/grampsweb:latest
|
||||
restart: always
|
||||
ports:
|
||||
- "5000:5000" # host:docker
|
||||
environment:
|
||||
GRAMPSWEB_TREE: "<YourTreeName>" # will create a new tree if not exists
|
||||
GRAMPSWEB_CELERY_CONFIG__broker_url: "redis://grampsweb_redis:6379/0"
|
||||
GRAMPSWEB_CELERY_CONFIG__result_backend: "redis://grampsweb_redis:6379/0"
|
||||
GRAMPSWEB_RATELIMIT_STORAGE_URI: redis://grampsweb_redis:6379/1
|
||||
depends_on:
|
||||
- grampsweb_redis
|
||||
volumes:
|
||||
- ./data/users:/app/users # persist user database
|
||||
- ./data/index:/app/indexdir # persist search index
|
||||
- ./data/thumbnail_cache:/app/thumbnail_cache # persist thumbnails
|
||||
- ./data/cache:/app/cache # persist export and report caches
|
||||
- ./data/secret:/app/secret # persist flask secret
|
||||
- ./data/db:/root/.gramps/grampsdb # persist Gramps database
|
||||
- ./data/media:/app/media # persist media files
|
||||
- ./data/tmp:/tmp
|
||||
|
||||
grampsweb_celery:
|
||||
<<: *grampsweb # YAML merge key copying the entire grampsweb service config
|
||||
ports: []
|
||||
container_name: grampsweb_celery
|
||||
depends_on:
|
||||
- grampsweb_redis
|
||||
command: celery -A gramps_webapi.celery worker --loglevel=INFO
|
||||
|
||||
grampsweb_redis:
|
||||
image: redis:alpine
|
||||
container_name: grampsweb_redis
|
||||
restart: always
|
||||
|
||||
volumes:
|
||||
gramps_users:
|
||||
gramps_index:
|
||||
gramps_thumb_cache:
|
||||
gramps_cache:
|
||||
gramps_secret:
|
||||
gramps_db:
|
||||
gramps_media:
|
||||
gramps_tmp:
|
15
jenkins/docker-compose.yml
Normal file
15
jenkins/docker-compose.yml
Normal file
@ -0,0 +1,15 @@
|
||||
version: '3.7'
|
||||
services:
|
||||
jenkins:
|
||||
image: jenkins/jenkins:lts
|
||||
privileged: true
|
||||
restart: always
|
||||
user: root
|
||||
ports:
|
||||
- 8080:8080
|
||||
- 50000:50000
|
||||
container_name: jenkins
|
||||
volumes:
|
||||
- ./jenkins:/var/jenkins_home
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /usr/bin/docker:/usr/bin/docker
|
10
kanboard/docker-compose.yml
Normal file
10
kanboard/docker-compose.yml
Normal file
@ -0,0 +1,10 @@
|
||||
version: '2'
|
||||
services:
|
||||
kanboard:
|
||||
restart: always
|
||||
image: kanboard/kanboard:latest
|
||||
ports:
|
||||
- "80:80"
|
||||
volumes:
|
||||
- ./data:/var/www/app/data
|
||||
- ./plugins:/var/www/app/plugins
|
49
keycloak/docker-compose.yml
Normal file
49
keycloak/docker-compose.yml
Normal file
@ -0,0 +1,49 @@
|
||||
volumes:
|
||||
mariadb_data:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
local:
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 172.16.0.0/29
|
||||
|
||||
services:
|
||||
mariadb:
|
||||
image: mariadb:latest
|
||||
environment:
|
||||
MARIADB_ROOT_PASSWORD: mariadbpassword
|
||||
MARIADB_DATABASE: keycloak
|
||||
MARIADB_USER: keycloakuser
|
||||
MARIADB_PASSWORD: mariadbpassword
|
||||
mem_limit: 300m
|
||||
container_name: mariadb
|
||||
volumes:
|
||||
- mariadb_data:/var/lib/mysql
|
||||
restart: always
|
||||
networks:
|
||||
- local
|
||||
keycloak:
|
||||
image: quay.io/keycloak/keycloak:${KEYCLOAK_VERSION:-latest}
|
||||
environment:
|
||||
KC_DB: mariadb
|
||||
KC_DB_SCHEMA: keycloak
|
||||
KC_DB_USERNAME: keycloakuser
|
||||
KC_DB_PASSWORD: mariadbpassword
|
||||
KC_DB_URL_HOST: mariadb
|
||||
KEYCLOAK_ADMIN: admin
|
||||
KEYCLOAK_ADMIN_PASSWORD: adminpassword
|
||||
KC_PROXY_HEADERS: xforwarded
|
||||
KC_HTTP_ENABLED: true
|
||||
KC_HOSTNAME_STRICT: false
|
||||
KC_HOSTNAME_URL: https://your.domain
|
||||
mem_limit: 500m
|
||||
command: start
|
||||
ports:
|
||||
- 8080:8080
|
||||
container_name: keycloak
|
||||
restart: always
|
||||
networks:
|
||||
- local
|
||||
depends_on:
|
||||
- mariadb
|
28
mediawiki/docker-compose.yml
Normal file
28
mediawiki/docker-compose.yml
Normal file
@ -0,0 +1,28 @@
|
||||
version: '3'
|
||||
services:
|
||||
mediawiki:
|
||||
image: mediawiki
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
links:
|
||||
- database
|
||||
volumes:
|
||||
- ./images:/var/www/html/images
|
||||
- ./uploads:/uploads
|
||||
# After initial setup, download LocalSettings.php to the same directory as
|
||||
# this yaml and uncomment the following line and use compose to restart
|
||||
# the mediawiki service
|
||||
- ./LocalSettings.php:/var/www/html/LocalSettings.php
|
||||
# This key also defines the name of the database host used during setup instead of the default "localhost"
|
||||
database:
|
||||
image: mariadb
|
||||
restart: always
|
||||
environment:
|
||||
# @see https://phabricator.wikimedia.org/source/mediawiki/browse/master/includes/DefaultSettings.php
|
||||
MYSQL_DATABASE: db
|
||||
MYSQL_USER: user
|
||||
MYSQL_PASSWORD: password
|
||||
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
|
||||
volumes:
|
||||
- ./db:/var/lib/mysql
|
11
nextcloud/docker-compose.yml
Normal file
11
nextcloud/docker-compose.yml
Normal file
@ -0,0 +1,11 @@
|
||||
version: '2'
|
||||
|
||||
services:
|
||||
nextcloud:
|
||||
image: nextcloud:production
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
volumes:
|
||||
- /data:/data:rw
|
||||
- ./data:/var/www/html
|
13
offen/docker-compose.yml
Normal file
13
offen/docker-compose.yml
Normal file
@ -0,0 +1,13 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
offen:
|
||||
image: offen/offen:v1.3.4
|
||||
env_file: ./offen.env
|
||||
restart: always
|
||||
ports:
|
||||
- 8102:80
|
||||
- 4434:443
|
||||
volumes:
|
||||
- ./data:/var/opt/offen
|
||||
- ./certs:/var/www/.cache
|
1
offen/offen.env
Normal file
1
offen/offen.env
Normal file
@ -0,0 +1 @@
|
||||
OFFEN_SECRET="yoursecret"
|
8
offen/setup.sh
Normal file
8
offen/setup.sh
Normal file
@ -0,0 +1,8 @@
|
||||
docker run -it --rm \
|
||||
-v ./data:/var/opt/offen \
|
||||
-v ./certs:/var/www/.cache \
|
||||
-v .offen.env:/etc/offen/offen.env \
|
||||
offen/offen:v1.3.4 setup \
|
||||
-email you@your.domain \
|
||||
-name your.domain \
|
||||
-populate
|
Loading…
x
Reference in New Issue
Block a user