Compare commits

...

34 Commits

Author SHA1 Message Date
ab7521e826 Dateien nach "glpi/GLPI10" hochladen 2024-01-05 09:59:10 +00:00
fddcc6716f glpi/GLPI10/console-wrapper.sh hinzugefügt 2024-01-05 09:53:22 +00:00
39ccbef31c glpi/GLPI10/.env aktualisiert 2024-01-05 09:50:23 +00:00
41e87d2653 glpi/GLPI10/.env hinzugefügt 2023-11-06 10:14:42 +00:00
75574435d3 glpi/GLPI10/docker-compose.yml aktualisiert 2023-10-30 17:34:11 +00:00
7cfc5150e8 glpi/GLPI10/docker-compose.yml aktualisiert 2023-10-30 17:33:56 +00:00
5d4913a32d glpi/GLPI10/GLPI10-docker-compose.yml aktualisiert 2023-10-30 17:33:36 +00:00
192e5f38f4 Dateien nach "glpi/GLPI10" hochladen 2023-10-30 17:32:20 +00:00
180eb849b2 glpi/GLPI10-docker-compose.yml aktualisiert 2023-10-30 17:29:14 +00:00
582ba615e2 glpi/GLPI10-docker-compose.yml hinzugefügt 2023-10-30 17:04:56 +00:00
4f41d22d02 Dateien nach "glpi" hochladen 2023-10-30 15:35:41 +00:00
ab18fc2e13 paperless-ngx/docker-compose.env hinzugefügt 2023-09-07 08:27:25 +00:00
fd8e0a5175 „proxy/README.md“ hinzufügen 2023-07-17 09:10:26 +00:00
16ee189b50 „paperless-ngx/README.md“ ändern 2023-06-27 15:39:42 +00:00
b5c4c69861 „paperless-ngx/README.md“ hinzufügen 2023-06-27 15:38:35 +00:00
9fd6989757 „paperless-ngx/docker-compose.sqlite.yml“ hinzufügen 2023-06-27 15:37:38 +00:00
2c84f9cbdc „paperless-ngx/docker-compose.yml“ hinzufügen 2023-06-27 15:36:46 +00:00
0f28da4eb0 „it-tools/docker-compose.yml“ hinzufügen 2023-06-27 15:31:08 +00:00
58bf8d1657 „stirling-pdf/docker-compose.yml“ hinzufügen 2023-06-27 15:30:15 +00:00
3bd2c3542a „proxy/generate_selfsigned_cert.sh“ hinzufügen 2023-06-27 15:27:19 +00:00
ab0c393ec3 „proxy/docker-compose.yml“ hinzufügen 2023-06-27 15:25:51 +00:00
root
e37f830e85 ntopng init 2023-03-31 12:37:38 +00:00
root
d02ecd4917 peppermint ticket system. init. 2023-03-30 21:34:03 +00:00
root
ec0851c6cd cleanup 2023-03-29 15:23:07 +00:00
root
a0bb8f2d1e cleanups 2023-03-29 15:20:05 +00:00
root
5ec489e0e0 ... 2023-03-29 13:04:10 +00:00
8167183686 „glpi/docker-compose.yml“ ändern 2023-03-27 15:26:52 +00:00
root
e0b870a4bf file reorg 2023-03-27 15:24:22 +00:00
2650556d69 „glpi/docker-compose.yml“ ändern 2023-03-27 15:21:52 +00:00
d8c0f873db „glpi/.env“ ändern 2023-03-27 15:19:02 +00:00
0bc8f9df49 „glpi/.env“ ändern 2023-03-27 15:18:41 +00:00
0505d147d7 „glpi/.env“ ändern 2023-03-27 15:14:49 +00:00
root
5dce63b18f Merge branch 'main' of https://support.ostrachhelp.de/p_reichart/docker-itmgmt
i'm too dum to use git.
2023-03-27 15:05:29 +00:00
root
821c896006 glpi 2023-03-27 15:03:25 +00:00
45 changed files with 987 additions and 135 deletions

View File

@@ -0,0 +1,11 @@
TZ: Europe/Berlin
GLPI_LANG: de_DE
MARIADB_HOST: glpi-db
MARIADB_PORT: 3306
MARIADB_DATABASE: glpi
MARIADB_USER: glpi-user
MARIADB_PASSWORD: glpi-pass
MARIADB_ROOT_PASSWORD: glpi-root-pass
FQDN: it.ostrach.tld
ADMINEMAIL: user@hochvogel.de
ORGANIZATION: OstrachHELP

4
glpi/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
./volumes/glpi-files/**
./volumes/glpi-nginx/**
./volumes/glpi-plugins/**
./volumes/mariadb/**

11
glpi/GLPI10/.env Normal file
View File

@@ -0,0 +1,11 @@
TZ: Europe/Berlin
GLPI_LANG: de_DE
MARIADB_HOST: glpi-db
MARIADB_PORT: 3306
MARIADB_DATABASE: glpi
MARIADB_USER: glpi-user
MARIADB_PASSWORD: glpi-pass
MARIADB_ROOT_PASSWORD: glpi-root-pass
FQDN: it.ostrach.tld
ADMINEMAIL: user@foo.bar
ORGANIZATION: "My Organization"

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,3 @@
#!/bin/sh
docker compose exec glpi ./bin/console $1 $2 $3 $4 $5

View File

@@ -0,0 +1,49 @@
version: "3.5"
services:
mariadb:
image: mariadb:latest
container_name: glpi-db
restart: unless-stopped
volumes:
- ./volumes/mariadb:/var/lib/mysql:rw
environment:
MARIADB_DATABASE: ${MARIADB_DATABASE}
MARIADB_USER: ${MARIADB_USER}
MARIADB_PASSWORD: ${MARIADB_PASSWORD}
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
TZ: ${TZ}
# ports:
# - 3306:3306
networks:
- glpi-backend
glpi:
image: ghcr.io/glpi-project/glpi-nightly:10.0-bugfixes
container_name: glpi-app
restart: unless-stopped
volumes:
- ./volumes/glpi-config:/var/glpi/config:rw
- ./volumes/glpi-files:/var/glpi/files:rw
- ./volumes/glpi-plugins:/var/www/glpi/plugins:rw
environment:
MARIADB_HOST: ${MARIADB_HOST}
MARIADB_PORT: ${MARIADB_PORT}
MARIADB_DATABASE: ${MARIADB_DATABASE}
MARIADB_USER: ${MARIADB_USER}
MARIADB_PASSWORD: ${MARIADB_PASSWORD}
GLPI_LANG: ${GLPI_LANG}
VERSION: "10.0"
PLUGINS: "all"
TIMEZONE: ${TZ}
FQDN: ${FQDN}
ADMINEMAIL: ${ADMINEMAIL}
ORGANIZATION: ${ORGANIZATION}
depends_on:
- mariadb
ports:
- 8075:80
networks:
- glpi-frontend
- glpi-backend
networks:
glpi-frontend:
glpi-backend:

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,17 +1,17 @@
version: "3.5"
services:
mariadb-glpi:
mariadb:
image: fametec/glpi:mariadb
container_name: glpi-db
restart: unless-stopped
volumes:
- ./volumes/mariadb:/var/lib/mysql:rw
environment:
MYSQL_DATABASE: glpi
MYSQL_USER: glpi-user
MYSQL_PASSWORD: glpi-pass
MYSQL_RANDOM_ROOT_PASSWORD: 1
TZ: Europe/Berlin
MARIADB_DATABASE: ${MARIADB_DATABASE}
MARIADB_USER: ${MARIADB_USER}
MARIADB_PASSWORD: ${MARIADB_PASSWORD}
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
TZ: ${TZ}
# ports:
# - 3306:3306
networks:
@@ -24,20 +24,20 @@ services:
- ./volumes/glpi-files:/var/www/html/files:rw
- ./volumes/glpi-plugins:/var/www/html/plugins:rw
environment:
GLPI_LANG: de_DE
MARIADB_HOST: mariadb-glpi
MARIADB_PORT: 3306
MARIADB_DATABASE: glpi
MARIADB_USER: glpi-user
MARIADB_PASSWORD: glpi-pass
MARIADB_HOST: ${MARIADB_HOST}
MARIADB_PORT: ${MARIADB_PORT}
MARIADB_DATABASE: ${MARIADB_DATABASE}
MARIADB_USER: ${MARIADB_USER}
MARIADB_PASSWORD: ${MARIADB_PASSWORD}
GLPI_LANG: ${GLPI_LANG}
VERSION: "9.5.6"
PLUGINS: "all"
TIMEZONE: Europe/Berlin
FQDN: it.ostrach.tld
ADMINEMAIL: user@hochvogel.de
ORGANIZATION: OstrachHELP
TIMEZONE: ${TZ}
FQDN: ${FQDN}
ADMINEMAIL: ${ADMINEMAIL}
ORGANIZATION: ${ORGANIZATION}
depends_on:
- mariadb-glpi
- mariadb
ports:
- 8075:80
networks:
@@ -55,26 +55,17 @@ services:
- ./volumes/glpi-files:/var/www/html/files:rw
- ./volumes/glpi-plugins:/var/www/html/plugins:rw
depends_on:
- mariadb-glpi
- mariadb
environment:
MARIADB_HOST: mariadb-glpi
MARIADB_PORT: 3306
MARIADB_DATABASE: glpi
MARIADB_USER: glpi-user
MARIADB_PASSWORD: glpi-pass
MARIADB_HOST: ${MARIADB_HOST}
MARIADB_PORT: ${MARIADB_PORT}
MARIADB_DATABASE: ${MARIADB_DATABASE}
MARIADB_USER: ${MARIADB_USER}
MARIADB_PASSWORD: ${MARIADB_PASSWORD}
networks:
- glpi-backend
#
# VOLUMES
#
#volumes:
# glpi-volume:
# glpi-volume-files:
# glpi-volume-plugins:
# mariadb-glpi-volume:
#
# NETWORKS
#
networks:
glpi-frontend:
glpi-backend:

Binary file not shown.

View File

@@ -0,0 +1,6 @@
TZ=Europe/Berlin
IPAM_DATABASE_WEBHOST=%
SCAN_INTERVAL=1h
MARIADB_HOST=ipam_db
MARIADB_ROOT_PASSWORD=IPAMrootpwd

76
ipam/Dockerfile Normal file
View File

@@ -0,0 +1,76 @@
FROM php:7.2-apache
MAINTAINER Pierre Cheynier <pierre.cheynier@gmail.com>
ENV PHPIPAM_SOURCE https://github.com/phpipam/phpipam/
ARG PHPIPAM_VERSION=1.5.1
ENV PHPMAILER_SOURCE https://github.com/PHPMailer/PHPMailer/
ARG PHPMAILER_VERSION=6.7.1
ENV PHPSAML_SOURCE https://github.com/onelogin/php-saml/
ARG PHPSAML_VERSION=3.4.1
ENV WEB_REPO /var/www/html
# Install required deb packages
RUN sed -i /etc/apt/sources.list -e 's/$/ non-free'/ && \
apt-get update && apt-get -y upgrade && \
rm /etc/apt/preferences.d/no-debian-php && \
apt-get install -y libcurl4-gnutls-dev libgmp-dev libmcrypt-dev libfreetype6-dev libjpeg-dev libpng-dev libldap2-dev libsnmp-dev snmp-mibs-downloader iputils-ping && \
rm -rf /var/lib/apt/lists/*
# Install required packages and files required for snmp
RUN mkdir -p /var/lib/mibs/ietf && \
curl -sL https://github.com/cisco/cisco-mibs/raw/main/v2/CISCO-SMI.my -o /var/lib/mibs/ietf/CISCO-SMI.txt && \
curl -sL https://github.com/cisco/cisco-mibs/raw/main/v2/CISCO-TC.my -o /var/lib/mibs/ietf/CISCO-TC.txt && \
curl -sL https://github.com/cisco/cisco-mibs/raw/main/v2/CISCO-VTP-MIB.my -o /var/lib/mibs/ietf/CISCO-VTP-MIB.txt && \
curl -sL https://github.com/cisco/cisco-mibs/raw/main/v2/MPLS-VPN-MIB.my -o /var/lib/mibs/ietf/MPLS-VPN-MIB.txt
# Configure apache and required PHP modules
RUN docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \
docker-php-ext-install mysqli && \
docker-php-ext-configure gd --with-freetype-dir=/usr/include/freetype2 --with-png-dir=/usr/include --with-jpeg-dir=/usr/include && \
docker-php-ext-install gd && \
docker-php-ext-install curl && \
docker-php-ext-install json && \
docker-php-ext-install snmp && \
docker-php-ext-install sockets && \
docker-php-ext-install pdo_mysql && \
docker-php-ext-install gettext && \
ln -s /usr/include/$(uname -m)-linux-gnu/gmp.h /usr/include/gmp.h && \
docker-php-ext-configure gmp --with-gmp=/usr/include/$(uname -m)-linux-gnu && \
docker-php-ext-install gmp && \
docker-php-ext-install pcntl && \
docker-php-ext-configure ldap --with-libdir=lib/$(uname -m)-linux-gnu && \
docker-php-ext-install ldap && \
pecl install mcrypt-1.0.1 && \
docker-php-ext-enable mcrypt && \
echo ". /etc/environment" >> /etc/apache2/envvars && \
a2enmod rewrite
COPY php.ini /usr/local/etc/php/
# Copy phpipam sources to web dir
ADD ${PHPIPAM_SOURCE}/archive/v${PHPIPAM_VERSION}.tar.gz /tmp/
RUN tar -xzf /tmp/v${PHPIPAM_VERSION}.tar.gz -C ${WEB_REPO}/ --strip-components=1
# Copy referenced submodules into the right directory
ADD ${PHPMAILER_SOURCE}/archive/v${PHPMAILER_VERSION}.tar.gz /tmp/
RUN tar -xzf /tmp/v${PHPMAILER_VERSION}.tar.gz -C ${WEB_REPO}/functions/PHPMailer/ --strip-components=1
ADD ${PHPSAML_SOURCE}/archive/refs/tags/${PHPSAML_VERSION}.tar.gz /tmp/
RUN tar -xzf /tmp/${PHPSAML_VERSION}.tar.gz -C ${WEB_REPO}/functions/php-saml/ --strip-components=1
# Use system environment variables into config.php
ENV PHPIPAM_BASE /
RUN cp ${WEB_REPO}/config.dist.php ${WEB_REPO}/config.php && \
chown www-data /var/www/html/app/admin/import-export/upload && \
chown www-data /var/www/html/app/subnets/import-subnet/upload && \
chown www-data /var/www/html/css/images/logo && \
echo "\$db['webhost'] = '%';" >> ${WEB_REPO}/config.php && \
sed -i -e "s/\['host'\] = '127.0.0.1'/\['host'\] = getenv(\"MYSQL_ENV_MYSQL_HOST\") ?: \"mysql\"/" \
-e "s/\['user'\] = 'phpipam'/\['user'\] = getenv(\"MYSQL_ENV_MYSQL_USER\") ?: \"root\"/" \
-e "s/\['name'\] = 'phpipam'/\['name'\] = getenv(\"MYSQL_ENV_MYSQL_DB\") ?: \"phpipam\"/" \
-e "s/\['pass'\] = 'phpipamadmin'/\['pass'\] = getenv(\"MYSQL_ENV_MYSQL_ROOT_PASSWORD\")/" \
-e "s/\['port'\] = 3306;/\['port'\] = 3306;\n\n\$password_file = getenv(\"MYSQL_ENV_MYSQL_PASSWORD_FILE\");\nif(file_exists(\$password_file))\n\$db\['pass'\] = preg_replace(\"\/\\\\s+\/\", \"\", file_get_contents(\$password_file));/" \
-e "s/define('BASE', \"\/\")/define('BASE', getenv(\"PHPIPAM_BASE\"))/" \
-e "s/\$gmaps_api_key.*/\$gmaps_api_key = getenv(\"GMAPS_API_KEY\") ?: \"\";/" \
-e "s/\$gmaps_api_geocode_key.*/\$gmaps_api_geocode_key = getenv(\"GMAPS_API_GEOCODE_KEY\") ?: \"\";/" \
${WEB_REPO}/config.php
EXPOSE 80

130
ipam/INSTALL.md Normal file
View File

@@ -0,0 +1,130 @@
# docker-phpipam
phpIPAM is an open-source web IP address management application. Its goal is to provide light and simple IP address management application.
phpIPAM is developed and maintained by Miha Petkovsek, released under the GPL v3 license, project source is [here](https://github.com/phpipam/phpipam).
Learn more on [phpIPAM homepage](http://phpipam.net).
![phpIPAM logo](http://phpipam.net/wp-content/uploads/2014/12/phpipam_logo_small.png)
## How to use this Docker image
### Mysql
Run a MySQL database, dedicated to phpipam.
```bash
$ docker run --name phpipam-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -v /my_dir/phpipam:/var/lib/mysql -d mysql:5.6
```
Here, we store data on the host system under `/my_dir/phpipam` and use a specific root password.
### Phpipam
```bash
$ docker run -ti -d -p 80:80 -e MYSQL_ENV_MYSQL_ROOT_PASSWORD=my-secret-pw --name ipam --link phpipam-mysql:mysql pierrecdn/phpipam
```
We are linking the two containers and exposing the HTTP port.
### First install scenario
* Browse to `http://<ip>[:<specific_port>]/install/`
* Step 1 : Choose 'Automatic database installation'
![step1](https://cloud.githubusercontent.com/assets/4225738/8746785/01758b9e-2c8d-11e5-8643-7f5862c75efe.png)
* Step 2 : Re-Enter connection information
![step2](https://cloud.githubusercontent.com/assets/4225738/8746789/0ad367e2-2c8d-11e5-80bb-f5093801e139.png)
* Note that these two first steps could be swapped by patching phpipam (see https://github.com/phpipam/phpipam/issues/25)
* Step 3 : Configure the admin user password
![step3](https://cloud.githubusercontent.com/assets/4225738/8746790/0c434bf6-2c8d-11e5-9ae7-b7d1021b7aa0.png)
* You're done !
![done](https://cloud.githubusercontent.com/assets/4225738/8746792/0d6fa34e-2c8d-11e5-8002-3793361ae34d.png)
### Docker compose
You can also create an all-in-one YAML deployment descriptor with Docker compose, like this:
```yaml
version: '2'
services:
mysql:
image: mysql:5.6
environment:
- MYSQL_ROOT_PASSWORD=my-secret-pw
restart: always
volumes:
- db_data:/var/lib/mysql
ipam:
depends_on:
- mysql
image: pierrecdn/phpipam
environment:
- MYSQL_ENV_MYSQL_USER=root
- MYSQL_ENV_MYSQL_ROOT_PASSWORD=my-secret-pw
- MYSQL_ENV_MYSQL_HOST=mysql
ports:
- "80:80"
volumes:
db_data:
```
And next :
```bash
$ docker-compose up -d
```
You can also point the `MYSQL_ENV_PASSWORD_FILE` environment variable to a file,
in which case the contents of this file will be used as the password.
This makes it possible to use docker secrets for instance:
```yaml
version: '3'
services:
ipam:
environment:
- MYSQL_ENV_MYSQL_PASSWORD_FILE=/run/secrets/phpipam_mysql_root_password
secrets:
- phpipam_mysql_root_password
```
The secret can be created by running `echo my-secret-pw | docker secret create phpipam_mysql_root_password -`
### Advanced Configuration
Here is the list of the available environment variables in the phpipam container, pass them to docker using `-e`.
None of them are actually needed to run the container, this is only to tweak the behavior.
| Environment variable | Default value | Description |
| ------------------------------ |:-------------:| --------------------------------------------------------------------------------------------------------:|
| MYSQL_ENV_MYSQL_HOST | mysql | The host used to reach the MySQL instance |
| MYSQL_ENV_MYSQL_USER | root | The user to connect the MySQL instance |
| MYSQL_ENV_MYSQL_ROOT_PASSWORD | (empty) | The MySQL password. Can be set using the Web UI during the first install |
| MYSQL_ENV_MYSQL_DB | phpipam | The name of the MySQL DB to connect to |
| MYSQL_ENV_MYSQL_PASSWORD_FILE | (empty) | A file containing the password (if not using MYSQL_ROOT_PASSWORD) this allows to leverage docker secrets |
| PHPIPAM_BASE | / | The base URI under which phpipam runs. Useful when performing rewrites with a reverse-proxy |
| GMAPS_API_KEY | (empty) | Google Maps API Key, used to display maps of your devices |
| GMAPS_API_GEOCODE_KEY | (empty) | Google Maps Geocode API Key, used to find coordinates from an address/ a location of your device |
### Specific integration (HTTPS, multi-host containers, etc.)
Regarding your requirements and docker setup, you've to expose resources.
For HTTPS, run a reverse-proxy in front of your phpipam container and link it to.
For multi-host containers, expose ports, run etcd or consul to make service discovery works etc.
### Notes
phpIPAM is under heavy development by the amazing Miha.
To upgrade the release version, just change the `PHPIPAM_VERSION` environment variable to the target release (see [here](https://github.com/phpipam/phpipam/releases)).

View File

@@ -2,45 +2,43 @@
version: '3'
services:
phpipam-web:
web:
image: phpipam/phpipam-www:latest
container_name: phpipam_www
container_name: ipam_www
ports:
- "8080:80"
environment:
- TZ=Europe/Berlin
- IPAM_DATABASE_HOST=phpipam-mariadb
- IPAM_DATABASE_PASS=IPAMpass
- TZ=${TZ}
- IPAM_DATABASE_HOST=${MARIADB_HOST}
- IPAM_DATABASE_PASS=${MARIADB_ROOT_PASSWORD}
- IPAM_DATABASE_WEBHOST=%
restart: unless-stopped
volumes:
- phpipam-logo:/phpipam/css/images/logo
- ./volumes/logo:/phpipam/css/images/logo
depends_on:
- phpipam-mariadb
- mariadb
phpipam-cron:
cron:
image: phpipam/phpipam-cron:latest
container_name: phpipam_cron
container_name: ipam_cron
environment:
- TZ=Europe/London
- IPAM_DATABASE_HOST=phpipam-mariadb
- IPAM_DATABASE_PASS=IPAMpass
- SCAN_INTERVAL=1h
- TZ=${TZ}
- SCAN_INTERVAL=1
- PHPIPAM_BASE=/
- MYSQL_ENV_MYSQL_USER=root
- MYSQL_ENV_MYSQL_DB=phpipam
- MYSQL_ENV_MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
- MYSQL_ENV_MYSQL_HOST=${MARIADB_HOST}
restart: unless-stopped
depends_on:
- phpipam-mariadb
- mariadb
phpipam-mariadb:
mariadb:
image: mariadb:latest
container_name: phpipam_db
container_name: ipam_db
environment:
- MYSQL_ROOT_PASSWORD=IPAMrootpwd
- MARIADB_USER=phpipam-mariadb
- MARIADB_PASSWORD=IPAMpass
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
restart: unless-stopped
volumes:
- phpipam-db-data:/var/lib/mysql
- ./volumes/mariadb:/var/lib/mysql
volumes:
phpipam-db-data:
phpipam-logo:

72
ipam/php.ini Normal file
View File

@@ -0,0 +1,72 @@
[PHP]
engine = On
short_open_tag = Off
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
serialize_precision = 17
zend.enable_gc = On
expose_php = Off
max_execution_time = 600
max_input_time = 60
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
log_errors = On
log_errors_max_len = 1024
default_mimetype = "text/html"
default_charset = "UTF-8"
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
[Date]
date.timezone = "UTC"
[mail function]
smtp_port = 25
mail.add_x_header = On
[SQL]
sql.safe_mode = Off
[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.cache_size = 2000
mysqli.default_port = 3306
mysqli.reconnect = Off
[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = Off
[Session]
session.save_handler = files
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
[ldap]
ldap.max_links = -1

View File

@@ -0,0 +1,8 @@
version: '3.9'
services:
it-tools:
image: 'corentinth/it-tools:latest'
ports:
- '8010:80'
restart: unless-stopped
container_name: it-tools

View File

@@ -0,0 +1,12 @@
MW_SCRIPT_PATH=/w
MW_SERVER=http://localhost:8080
MW_DOCKER_PORT=8080
MEDIAWIKI_USER=Admin
MEDIAWIKI_PASSWORD=dockerpass
XDEBUG_CONFIG=
XDEBUG_ENABLE=true
XHPROF_ENABLE=true
MYSQL_DATABASE: my_wiki
MYSQL_USER: wikiuser
MYSQL_PASSWORD: example
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'

View File

@@ -6,14 +6,14 @@ version: '3'
services:
mediawiki:
image: mediawiki
container_name: mediawiki
container_name: wiki
restart: always
ports:
- 8070:80
links:
- database
volumes:
- /var/www/html/images
- ./volumes/images:/var/www/html/images
# 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
@@ -21,11 +21,13 @@ services:
# This key also defines the name of the database host used during setup instead of the default "localhost"
database:
image: mariadb
container_name: mediawiki_db
container_name: wikidb
restart: always
environment:
# @see https://phabricator.wikimedia.org/source/mediawiki/browse/master/includes/DefaultSettings.php
MYSQL_DATABASE: my_wiki
MYSQL_DATABASE: wiki
MYSQL_USER: wikiuser
MYSQL_PASSWORD: example
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
volumes:
- ./volumes/mariadb:/var/lib/mysql

1
ntop/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
./volumes/**

29
ntop/docker-compose.yml Normal file
View File

@@ -0,0 +1,29 @@
version: "3.9"
services:
nprobe_collector:
image: ntop/nprobe:stable
restart: always
network_mode: "host"
volumes:
- ./volumes/nprobe.license:/etc/nprobe.license:ro
command: ['nprobe', '--zmq', '"tcp://ntopng:5556"', '--interface', 'none', '-n', 'none', '--collector-port', '2055', '-T', '"@NTOPNG@"', '--collector-passthrough']
ntopng:
image: ntop/ntopng:latest
restart: always
network_mode: "host"
volumes:
- ./volumes/ntopng.license:/etc/ntopng.license:ro
command: ['--disable-login', '--interface', 'tcp://*:5556c', '-F', 'clickhouse'] # , '--insecure']
depends_on:
- clickhouse
- nprobe_collector
clickhouse:
image: clickhouse/clickhouse-server:latest
network_mode: "host"
restart: always
volumes:
- ./volumes/clickhouse_data:/var/lib/clickhouse
- ./volumes/clickhouse_logs:/var/log/clickhouse-server/

101
paperless-ngx/README.md Normal file
View File

@@ -0,0 +1,101 @@
<p align="center">
<img src="https://github.com/paperless-ngx/paperless-ngx/raw/main/resources/logo/web/png/Black%20logo%20-%20no%20background.png#gh-light-mode-only" width="50%" />
<!-- omit in toc -->
# Paperless-ngx
Paperless-ngx is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, _less paper_.
Paperless-ngx forked from [paperless-ng](https://github.com/jonaswinkler/paperless-ng) to continue the great work and distribute responsibility of supporting and advancing the project among a team of people. [Consider joining us!](#community-support) Discussion of this transition can be found in issues
[#1599](https://github.com/jonaswinkler/paperless-ng/issues/1599) and [#1632](https://github.com/jonaswinkler/paperless-ng/issues/1632).
A demo is available at [demo.paperless-ngx.com](https://demo.paperless-ngx.com) using login `demo` / `demo`. _Note: demo content is reset frequently and confidential information should not be uploaded._
- [Features](#features)
- [Getting started](#getting-started)
- [Contributing](#contributing)
- [Community Support](#community-support)
- [Translation](#translation)
- [Feature Requests](#feature-requests)
- [Bugs](#bugs)
- [Affiliated Projects](#affiliated-projects)
- [Important Note](#important-note)
# Features
![Dashboard](https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docs/assets/screenshots/documents-smallcards.png#gh-light-mode-only)
![Dashboard](https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docs/assets/screenshots/documents-smallcards-dark.png#gh-dark-mode-only)
- Organize and index your scanned documents with tags, correspondents, types, and more.
- Performs OCR on your documents, adds selectable text to image only documents and adds tags, correspondents and document types to your documents.
- Supports PDF documents, images, plain text files, and Office documents (Word, Excel, Powerpoint, and LibreOffice equivalents).
- Office document support is optional and provided by Apache Tika (see [configuration](https://docs.paperless-ngx.com/configuration/#tika))
- Paperless stores your documents plain on disk. Filenames and folders are managed by paperless and their format can be configured freely.
- Single page application front end.
- Includes a dashboard that shows basic statistics and has document upload.
- Filtering by tags, correspondents, types, and more.
- Customizable views can be saved and displayed on the dashboard.
- Full text search helps you find what you need.
- Auto completion suggests relevant words from your documents.
- Results are sorted by relevance to your search query.
- Highlighting shows you which parts of the document matched the query.
- Searching for similar documents ("More like this")
- Email processing: Paperless adds documents from your email accounts.
- Configure multiple accounts and filters for each account.
- When adding documents from mail, paperless can move these mail to a new folder, mark them as read, flag them as important or delete them.
- Machine learning powered document matching.
- Paperless-ngx learns from your documents and will be able to automatically assign tags, correspondents and types to documents once you've stored a few documents in paperless.
- Optimized for multi core systems: Paperless-ngx consumes multiple documents in parallel.
- The integrated sanity checker makes sure that your document archive is in good health.
- [More screenshots are available in the documentation](https://docs.paperless-ngx.com/#screenshots).
# Getting started
The easiest way to deploy paperless is docker-compose. The files in the [`/docker/compose` directory](https://github.com/paperless-ngx/paperless-ngx/tree/main/docker/compose) are configured to pull the image from Github Packages.
If you'd like to jump right in, you can configure a docker-compose environment with our install script:
```bash
bash -c "$(curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)"
```
Alternatively, you can install the dependencies and setup apache and a database server yourself. The [documentation](https://docs.paperless-ngx.com/setup/#installation) has a step by step guide on how to do it.
Migrating from Paperless-ng is easy, just drop in the new docker image! See the [documentation on migrating](https://docs.paperless-ngx.com/setup/#migrating-to-paperless-ngx) for more details.
<!-- omit in toc -->
### Documentation
The documentation for Paperless-ngx is available at [https://docs.paperless-ngx.com](https://docs.paperless-ngx.com/).
# Contributing
If you feel like contributing to the project, please do! Bug fixes, enhancements, visual fixes etc. are always welcome. If you want to implement something big: Please start a discussion about that! The [documentation](https://docs.paperless-ngx.com/development/) has some basic information on how to get started.
## Community Support
People interested in continuing the work on paperless-ngx are encouraged to reach out here on github and in the [Matrix Room](https://matrix.to/#/#paperless:adnidor.de). If you would like to contribute to the project on an ongoing basis there are multiple [teams](https://github.com/orgs/paperless-ngx/people) (frontend, ci/cd, etc) that could use your help so please reach out!
## Translation
Paperless-ngx is available in many languages that are coordinated on Crowdin. If you want to help out by translating paperless-ngx into your language, please head over to https://crwd.in/paperless-ngx, and thank you! More details can be found in [CONTRIBUTING.md](https://github.com/paperless-ngx/paperless-ngx/blob/main/CONTRIBUTING.md#translating-paperless-ngx).
## Feature Requests
Feature requests can be submitted via [GitHub Discussions](https://github.com/paperless-ngx/paperless-ngx/discussions/categories/feature-requests), you can search for existing ideas, add your own and vote for the ones you care about.
## Bugs
For bugs please [open an issue](https://github.com/paperless-ngx/paperless-ngx/issues) or [start a discussion](https://github.com/paperless-ngx/paperless-ngx/discussions) if you have questions.
# Affiliated Projects
Please see [the wiki](https://github.com/paperless-ngx/paperless-ngx/wiki/Affiliated-Projects) for a user-maintained list of affiliated projects and software that is compatible with Paperless-ngx.
# Important Note
> Document scanners are typically used to scan sensitive documents like your social insurance number, tax records, invoices, etc. **Paperless-ngx should never be run on an untrusted host** because information is stored in clear text without encryption. No guarantees are made regarding security (but we do try!) and you use the app at your own risk.
> **The safest way to run Paperless-ngx is on a local server in your own home with backups in place**.

View File

@@ -0,0 +1,7 @@
PAPERLESS_URL=http://localhost:8000
USERMAP_UID=1000
USERMAP_GID=1000
PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_OCR_LANGUAGE=deu
PAPERLESS_SECRET_KEY=3f4Xd1AtwjkfkQyc5QgokOG7AbFCc5mvt1lAj0iFsYH6s7VOMraoaseJiHMI5WXT
PAPERLESS_OCR_LANGUAGES="deu eng fra ita spa"

View File

@@ -0,0 +1,59 @@
# docker-compose file for running paperless from the Docker Hub.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# SQLite is used as the database. The SQLite file is stored in the data volume.
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
# and '.env' into a folder.
# - Run 'docker-compose pull'.
# - Run 'docker-compose run --rm webserver createsuperuser' to create a user.
# - Run 'docker-compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.
version: "3.4"
services:
broker:
image: docker.io/library/redis:7
restart: unless-stopped
volumes:
- redisdata:/data
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- broker
ports:
- "8000:8000"
healthcheck:
test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
volumes:
data:
media:
redisdata:

View File

@@ -0,0 +1,81 @@
# docker-compose file for running paperless from the Docker Hub.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# In addition to that, this docker-compose file adds the following optional
# configurations:
#
# - Instead of SQLite (default), MariaDB is used as the database server.
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
# and '.env' into a folder.
# - Run 'docker-compose pull'.
# - Run 'docker-compose run --rm webserver createsuperuser' to create a user.
# - Run 'docker-compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.
version: "3.4"
services:
broker:
image: docker.io/library/redis:7
restart: unless-stopped
volumes:
- redisdata:/data
db:
image: docker.io/library/mariadb:10
restart: unless-stopped
volumes:
- dbdata:/var/lib/mysql
environment:
MARIADB_HOST: paperless
MARIADB_DATABASE: paperless
MARIADB_USER: paperless
MARIADB_PASSWORD: paperless
MARIADB_ROOT_PASSWORD: paperless
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
ports:
- "8000:8000"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBENGINE: mariadb
PAPERLESS_DBHOST: db
PAPERLESS_DBUSER: paperless # only needed if non-default username
PAPERLESS_DBPASS: paperless # only needed if non-default password
PAPERLESS_DBPORT: 3306
volumes:
data:
media:
dbdata:
redisdata:

1
peppermint/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
./volumes/**

View File

@@ -0,0 +1,31 @@
version: "3.1"
services:
postgres:
container_name: ppmint-db
image: postgres:latest
restart: always
volumes:
- ./volumes/db:/data/db
environment:
POSTGRES_USER: peppermint
POSTGRES_PASSWORD: 1234
POSTGRES_DB: peppermint
client:
container_name: ppmint
image: pepperlabs/peppermint:latest
ports:
- 5000:5000
restart: on-failure
depends_on:
- postgres
environment:
PORT: 5000
DB_USERNAME: peppermint
DB_PASSWORD: 1234
DB_HOST: 'ppmint-db'
BASE_URL: "http://itmgmt.ostrach.tld:5000/"
# Login: admin@admin.com / 1234

View File

@@ -0,0 +1,13 @@
version: '2.4'
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: always
ports:
- 8000:8000
- 9443:9443
volumes:
- ./volumes/data:/data
- /var/run/docker.sock:/var/run/docker.sock

111
proxy/README.md Normal file
View File

@@ -0,0 +1,111 @@
<p align="center">
<img src="https://nginxproxymanager.com/github.png">
<br><br>
<img src="https://img.shields.io/badge/version-2.10.3-green.svg?style=for-the-badge">
<a href="https://hub.docker.com/repository/docker/jc21/nginx-proxy-manager">
<img src="https://img.shields.io/docker/stars/jc21/nginx-proxy-manager.svg?style=for-the-badge">
</a>
<a href="https://hub.docker.com/repository/docker/jc21/nginx-proxy-manager">
<img src="https://img.shields.io/docker/pulls/jc21/nginx-proxy-manager.svg?style=for-the-badge">
</a>
</p>
This project comes as a pre-built docker image that enables you to easily forward to your websites
running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt.
- [Quick Setup](#quick-setup)
- [Full Setup](https://nginxproxymanager.com/setup/)
- [Screenshots](https://nginxproxymanager.com/screenshots/)
## Project Goal
I created this project to fill a personal need to provide users with a easy way to accomplish reverse
proxying hosts with SSL termination and it had to be so easy that a monkey could do it. This goal hasn't changed.
While there might be advanced options they are optional and the project should be as simple as possible
so that the barrier for entry here is low.
<a href="https://www.buymeacoffee.com/jc21" target="_blank"><img src="http://public.jc21.com/github/by-me-a-coffee.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;" ></a>
## Features
- Beautiful and Secure Admin Interface based on [Tabler](https://tabler.github.io/)
- Easily create forwarding domains, redirections, streams and 404 hosts without knowing anything about Nginx
- Free SSL using Let's Encrypt or provide your own custom SSL certificates
- Access Lists and basic HTTP Authentication for your hosts
- Advanced Nginx configuration available for super users
- User management, permissions and audit log
## Hosting your home network
I won't go in to too much detail here but here are the basics for someone new to this self-hosted world.
1. Your home router will have a Port Forwarding section somewhere. Log in and find it
2. Add port forwarding for port 80 and 443 to the server hosting this project
3. Configure your domain name details to point to your home, either with a static ip or a service like DuckDNS or [Amazon Route53](https://github.com/jc21/route53-ddns)
4. Use the Nginx Proxy Manager as your gateway to forward to your other web based services
## Quick Setup
1. Install Docker and Docker-Compose
- [Docker Install documentation](https://docs.docker.com/install/)
- [Docker-Compose Install documentation](https://docs.docker.com/compose/install/)
2. Create a docker-compose.yml file similar to this:
```yml
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
```
This is the bare minimum configuration required. See the [documentation](https://nginxproxymanager.com/setup/) for more.
3. Bring up your stack by running
```bash
docker-compose up -d
# If using docker-compose-plugin
docker compose up -d
```
4. Log in to the Admin UI
When your docker container is running, connect to it on port `81` for the admin interface.
Sometimes this can take a little bit because of the entropy of keys.
[http://127.0.0.1:81](http://127.0.0.1:81)
Default Admin User:
```
Email: admin@example.com
Password: changeme
```
Immediately after logging in with this default user you will be asked to modify your details and change your password.
## Contributors
Special thanks to [all of our contributors](https://github.com/NginxProxyManager/nginx-proxy-manager/graphs/contributors).
## Getting Support
1. [Found a bug?](https://github.com/NginxProxyManager/nginx-proxy-manager/issues)
2. [Discussions](https://github.com/NginxProxyManager/nginx-proxy-manager/discussions)
3. [Development Gitter](https://gitter.im/nginx-proxy-manager/community)
4. [Reddit](https://reddit.com/r/nginxproxymanager)

13
proxy/docker-compose.yml Normal file
View File

@@ -0,0 +1,13 @@
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
# network_mode: "host"
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt

View File

@@ -0,0 +1,5 @@
#!/bin/sh
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes \
-subj "/C=XX/ST=Bayern/L=Musterstadt/O=Organisation/OU=Development/CN=SelfSigned" \
-addext "subjectAltName=DNS:*.example.com"

View File

@@ -2,7 +2,7 @@ MYSQL_ROOT_PASSWORD=Holdiom,snipeit,root
MYSQL_DATABASE=snipeit
MYSQL_USER=snipeit
MYSQL_PASSWORD=Holdiom,snipeit
MYSQL_PORT_3306_TCP_ADDR=snipeit-db
MYSQL_PORT_3306_TCP_ADDR=snipe_db
MYSQL_PORT_3306_TCP_PORT=3306
MAIL_PORT_587_TCP_ADDR=192.168.75.25
MAIL_PORT_587_TCP_PORT=587
@@ -14,6 +14,6 @@ MAIL_ENV_PASSWORD=pass
APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:i/+ZvT6C4LEWcBNL7vWwicRVtEt05pv22RhWMJy+yZ8=
APP_URL=http://it.ostrach.tld:8090
APP_URL=http://itmgmt.ostrach.tld:8090
APP_TIMEZONE=Europe/Berlin
APP_LOCALE=de

1
snipeit/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
./volumes/**

View File

@@ -3,18 +3,18 @@ version: '3'
services:
mysql:
image: mysql:latest
container_name: snipeit-db
image: mariadb:latest
container_name: snipe_db
env_file:
- ./.env
restart: unless-stopped
volumes:
- db:/var/lib/mysql
- ./volumes/db:/var/lib/mysql
app:
image: snipe/snipe-it:latest
container_name: snipeit-app
container_name: snipe_app
env_file:
- ./.env
ports:
@@ -22,7 +22,4 @@ services:
restart: unless-stopped
depends_on:
- mysql
volumes:
db:

View File

@@ -1,19 +0,0 @@
MYSQL_ROOT_PASSWORD=Holdiom,snipeit,root
MYSQL_DATABASE=snipeit
MYSQL_USER=snipeit
MYSQL_PASSWORD=Holdiom,snipeit
MYSQL_PORT_3306_TCP_ADDR=snipeit-db
MYSQL_PORT_3306_TCP_PORT=3306
MAIL_PORT_587_TCP_ADDR=192.168.75.25
MAIL_PORT_587_TCP_PORT=587
MAIL_ENV_FROM_ADDR=it@hochvogel.de
MAIL_ENV_FROM_NAME=Snipe-IT
MAIL_ENV_ENCRYPTION=tcp
MAIL_ENV_USERNAME=user
MAIL_ENV_PASSWORD=pass
APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:i/+ZvT6C4LEWcBNL7vWwicRVtEt05pv22RhWMJy+yZ8=
APP_URL=http://it.ostrach.tld:8090
APP_TIMEZONE=Europe/Berlin
APP_LOCALE=de

1
speedtest/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
./volumes/**

View File

@@ -6,7 +6,7 @@ services:
ports:
- 8765:80
volumes:
- /path/to/data:/config
- ./volumes/config:/config
environment:
- TZ=Europe/Berlin
- PGID=
@@ -17,4 +17,4 @@ services:
options:
max-file: "10"
max-size: "200k"
restart: unless-stopped
restart: unless-stopped

View File

@@ -27,6 +27,20 @@ compose()
done
}
clean()
{
for STACK in $STACKS;
do
echo "Verzeichnis: $STACK"
if [ -e $STACK/volumes ]
then
echo " Volumes in $STACK loeschen..."
rm $STACK/volumes/* -rfv
fi
done
}
case $1 in
down)
@@ -41,6 +55,15 @@ stop)
compose "docker compose stop"
;;
pull)
compose "docker compose pull"
;;
cleanup)
#compose "rm ./volumes/* -rf"
clean
;;
*)
echo "Usage: $0 [start|stop|down]"
;;

View File

@@ -0,0 +1,22 @@
version: '3.9'
services:
stirling-pdf:
container_name: Stirling-PDF
image: frooodle/s-pdf
mem_limit: 2g
cpu_shares: 768
security_opt:
- no-new-privileges:true
ports:
- 8020:8080
volumes:
- ./volume/data:/usr/share/tesseract-ocr/4.00/tessdata:rw # Required for extra OCR languages
- ./volume/config:/configs:rw
environment:
APP_LOCALE: de_DE # or fr_FR or de_DE
APP_HOME_NAME: Stirling PDF
APP_HOME_DESCRIPTION: Stirling PDF
APP_NAVBAR_NAME: Stirling PDF
APP_ROOT_PATH: /pdf
# ALLOW_GOOGLE_VISABILITY: true # or false
restart: on-failure:5

View File

@@ -0,0 +1,14 @@
MYSQL_ROOT_PASSWORD=zabbixrootsqlsecret
MYSQL_USER=zabbix
MYSQL_PASSWORD=zabbixsqlsecret
MYSQL_DATABASE=zabbix
DB_SERVER_HOST=zbxdb
DB_SERVER_PORT=3306
ZBX_DEBUGLEVEL=3
ZBX_SERVER_HOST="zabbix"
PHP_TZ="Europe/Berlin"
SERVER_NAME=itmgmt.ostrach.tld
ZBX_SERVER_HOST=zabbix
ZBX_HOSTNAME=agent2
ZBX_STARTAGENTS=5

1
zabbix/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
./volumes/**

View File

@@ -4,69 +4,65 @@ version: '3.3'
services:
mysql:
image: mysql:latest
container_name: zabbix-db
image: mariadb:10.7.8
container_name: zbxdb
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=zabbixrootsqlsecret
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbixsqlsecret
- MYSQL_DATABASE=zabbix
- DB_SERVER_HOST=zabbix-db
- DB_SERVER_PORT=3306
- ZBX_DEBUGLEVEL=3
- ZBX_SERVER_HOST=zabbix-server
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- DB_SERVER_HOST=${DB_SERVER_HOST}
- DB_SERVER_PORT=${DB_SERVER_PORT}
- ZBX_DEBUGLEVEL=${ZBX_DEBUGLEVEL}
- ZBX_SERVER_HOST=${ZBX_SERVER_HOST}
cap_add:
- SYS_NICE # CAP_SYS_NICE
volumes:
- db:/var/lib/mysql
- ./volumes/db:/var/lib/mysql
server:
image: zabbix/zabbix-server-mysql
container_name: zabbix-server
container_name: zabbix
ports:
- "10051:10051"
restart: unless-stopped
environment:
- SERVER_NAME=server
- MYSQL_ROOT_PASSWORD=zabbixrootsqlsecret
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbixsqlsecret
- MYSQL_DATABASE=zabbix
- DB_SERVER_HOST=zabbix-db
- DB_SERVER_PORT=3306
- ZBX_DEBUGLEVEL=3
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- DB_SERVER_HOST=${DB_SERVER_HOST}
- DB_SERVER_PORT=${DB_SERVER_PORT}
- ZBX_DEBUGLEVEL=${ZBX_DEBUGLEVEL}
depends_on:
- mysql
agent:
image: zabbix/zabbix-agent2
container_name: zabbix-agent2
container_name: zbxagent2
privileged: true
environment:
- ZBX_SERVER_HOST=zabbix-server
- ZBX_HOSTNAME=zabbix-agent2
- ZBX_STARTAGENTS=3
- ZBX_SERVER_HOST=${ZBX_SERVER_HOST}
- ZBX_HOSTNAME=${ZBX_HOSTNAME}
- ZBX_STARTAGENTS=${ZBX_STARTAGENTS}
restart: unless-stopped
web:
image: zabbix/zabbix-web-apache-mysql
container_name: zabbix-web
container_name: zbxweb
ports:
- "8085:8080"
restart: unless-stopped
environment:
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbixsqlsecret
- MYSQL_DATABASE=zabbix
- DB_SERVER_HOST=zabbix-db
- DB_SERVER_PORT=3306
- ZBX_DEBUGLEVEL=3
- ZBX_SERVER_HOST=zabbix-server
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- DB_SERVER_HOST=${DB_SERVER_HOST}
- DB_SERVER_PORT=${DB_SERVER_PORT}
- ZBX_DEBUGLEVEL=${ZBX_DEBUGLEVEL}
- ZBX_SERVER_HOST=${ZBX_SERVER_HOST}
depends_on:
- mysql
volumes:
db:

View File

@@ -1,9 +0,0 @@
MYSQL_ROOT_PASSWORD=zabbixrootsqlsecret
MYSQL_USER=zabbix
MYSQL_PASSWORD=zabbixsqlsecret
MYSQL_DATABASE=zabbix
DB_SERVER_HOST=zabbix-db
DB_SERVER_PORT=3306
ZBX_DEBUGLEVEL=3
ZBX_SERVER_HOST="zabbix-server"
PHP_TZ="Europe/Berlin"