initial commit
This commit is contained in:
9
docker_portainer_stacks/LICENSE
Normal file
9
docker_portainer_stacks/LICENSE
Normal file
@ -0,0 +1,9 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) <year> <copyright holders>
|
||||
|
||||
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.
|
2
docker_portainer_stacks/README.md
Normal file
2
docker_portainer_stacks/README.md
Normal file
@ -0,0 +1,2 @@
|
||||
# docker_portainer_stacks
|
||||
|
13
docker_portainer_stacks/docker-compose/README.md
Normal file
13
docker_portainer_stacks/docker-compose/README.md
Normal file
@ -0,0 +1,13 @@
|
||||
# Docker-Compose container
|
||||
|
||||
Run on the terminal
|
||||
```
|
||||
bash -c "$(wget -qLO - https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/docker-compose/docker-compose.sh)"
|
||||
```
|
||||
& (sudo user)
|
||||
```
|
||||
bash -c "$(wget -qLO - https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/docker-compose/config.sh)"
|
||||
```
|
||||
|
||||
|
||||
[LinuxServer docs](https://docs.linuxserver.io/images/docker-docker-compose)
|
4
docker_portainer_stacks/docker-compose/config.sh
Normal file
4
docker_portainer_stacks/docker-compose/config.sh
Normal file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose
|
||||
|
||||
chmod +x /usr/local/bin/docker-compose
|
5
docker_portainer_stacks/docker-compose/docker-compose.sh
Normal file
5
docker_portainer_stacks/docker-compose/docker-compose.sh
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose
|
||||
|
||||
sudo chmod +x /usr/local/bin/docker-compose
|
19
docker_portainer_stacks/doublecommander.yml
Normal file
19
docker_portainer_stacks/doublecommander.yml
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
version: "3.8"
|
||||
services:
|
||||
doublecommander:
|
||||
image: ghcr.io/linuxserver/doublecommander:latest
|
||||
container_name: doublecommander
|
||||
network_mode: bridge
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Amsterdam
|
||||
volumes:
|
||||
- /docker/doublecommander:/config
|
||||
- /docker:/data
|
||||
ports:
|
||||
- 52486:3000
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
1
docker_portainer_stacks/drone-ci/README.md
Normal file
1
docker_portainer_stacks/drone-ci/README.md
Normal file
@ -0,0 +1 @@
|
||||
# Drone CI & Runner
|
13
docker_portainer_stacks/drone-ci/gitea_conf.env
Normal file
13
docker_portainer_stacks/drone-ci/gitea_conf.env
Normal file
@ -0,0 +1,13 @@
|
||||
VOLUME_DRONE=
|
||||
|
||||
TZ=
|
||||
|
||||
DRONE_GITEA_SERVER=
|
||||
DRONE_GITEA_CLIENT_ID=
|
||||
DRONE_GITEA_CLIENT_SECRET=
|
||||
|
||||
DRONE_RPC_SECRET=
|
||||
DRONE_SERVER_HOST=
|
||||
DRONE_SERVER_PROTO=
|
||||
|
||||
USERNAME=
|
39
docker_portainer_stacks/drone-ci/gitea_stack.yml
Normal file
39
docker_portainer_stacks/drone-ci/gitea_stack.yml
Normal file
@ -0,0 +1,39 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
drone:
|
||||
image: drone/drone:2
|
||||
container_name: drone
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ${VOLUME_DRONE}:/data
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
- DRONE_GITEA_SERVER=${DRONE_GITEA_SERVER}
|
||||
- DRONE_GITEA_CLIENT_ID=${DRONE_GITEA_CLIENT_ID}
|
||||
- DRONE_GITEA_CLIENT_SECRET=${DRONE_GITEA_CLIENT_SECRET}
|
||||
- DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
|
||||
- DRONE_SERVER_HOST=${DRONE_SERVER_HOST}
|
||||
- DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO}
|
||||
- DRONE_GIT_ALWAYS_AUTH=true
|
||||
- DRONE_TLS_AUTOCERT=false
|
||||
- DRONE_RUNNER_CAPACITY=2
|
||||
- DRONE_USER_CREATE=username:${USERNAME},admin:true
|
||||
- DRONE_LOGS_TRACE=true
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
|
||||
drone_runner:
|
||||
image: drone/drone-runner-docker:latest
|
||||
container_name: drone_runner
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
- DRONE_RPC_HOST=${DRONE_SERVER_HOST}
|
||||
- DRONE_RPC_PROTO=${DRONE_SERVER_PROTO}
|
||||
- DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
|
||||
- DRONE_RUNNER_CAPACITY=2
|
||||
ports:
|
||||
- 3000:3000
|
23
docker_portainer_stacks/firefox.yml
Normal file
23
docker_portainer_stacks/firefox.yml
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
version: "3.8"
|
||||
services:
|
||||
firefox:
|
||||
image: ghcr.io/linuxserver/firefox:latest
|
||||
container_name: firefox
|
||||
network_mode: bridge
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Amsterdam
|
||||
volumes:
|
||||
- firefox_config:/config
|
||||
ports:
|
||||
- 48313:3000
|
||||
shm_size: "1gb"
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
|
||||
volumes:
|
||||
firefox_config:
|
||||
external: false
|
25
docker_portainer_stacks/hedgedoc/config.env
Normal file
25
docker_portainer_stacks/hedgedoc/config.env
Normal file
@ -0,0 +1,25 @@
|
||||
### Tags
|
||||
tag_hedgedoc=latest
|
||||
tag_db=latest
|
||||
|
||||
### Other configs
|
||||
PGID=1000
|
||||
PUID=1000
|
||||
TZ=Europe/Amsterdam
|
||||
rst_mode=unless-stopped
|
||||
|
||||
### WebUI Port
|
||||
# Randomly generated with http://www.randomnumbergenerator.com
|
||||
port_hedgedoc=19729
|
||||
|
||||
### Volumes / Folders
|
||||
volume_hedgedoc=/home/$USER/hedgedoc/config
|
||||
volume_db=/home/$USER/hedgedoc/db
|
||||
|
||||
|
||||
### Database
|
||||
# Randomly generated with https://passwordsgenerator.net
|
||||
MYSQL_ROOT_PASSWORD=tnRp9jVwXYVECyaR
|
||||
MYSQL_DATABASE=vB3S5vNUxBrWAg43
|
||||
MYSQL_USER=uBQTmEKuUhC4zxpq
|
||||
MYSQL_PASSWORD=9uDVL86q2qLzyhjS
|
38
docker_portainer_stacks/hedgedoc/stack.yml
Normal file
38
docker_portainer_stacks/hedgedoc/stack.yml
Normal file
@ -0,0 +1,38 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
|
||||
hedgedoc_db:
|
||||
image: ghcr.io/linuxserver/mariadb:${tag_db}
|
||||
container_name: hedgedoc_db
|
||||
restart: always
|
||||
volumes:
|
||||
- ${volume_db}:/config
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||
- MYSQL_USER=${MYSQL_USER}
|
||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||
- PGID=${PGID}
|
||||
- PUID=${PUID}
|
||||
- TZ=${TZ}
|
||||
|
||||
hedgedoc:
|
||||
image: ghcr.io/linuxserver/hedgedoc:${tag_hedgedoc}
|
||||
container_name: hedgedoc
|
||||
restart: ${rst_mode}
|
||||
depends_on:
|
||||
- hedgedoc_db
|
||||
volumes:
|
||||
- ${volume_hedgedoc}:/config
|
||||
environment:
|
||||
- DB_HOST=hedgedoc_db
|
||||
- DB_USER=${MYSQL_USER}
|
||||
- DB_PASS=${MYSQL_PASSWORD}
|
||||
- DB_NAME=${MYSQL_DATABASE}
|
||||
- DB_PORT=3306
|
||||
- PGID=${PGID}
|
||||
- PUID=${PUID}
|
||||
- TZ=${TZ}
|
||||
ports:
|
||||
- "${port_hedgedoc}:3000"
|
7
docker_portainer_stacks/htpc/README.md
Normal file
7
docker_portainer_stacks/htpc/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
***Docker containers:***
|
||||
1. qbittorrent
|
||||
2. jellyfin
|
||||
3. sonarr
|
||||
4. bazarr
|
||||
5. radarr
|
||||
6. jackett
|
18
docker_portainer_stacks/htpc/config.env
Normal file
18
docker_portainer_stacks/htpc/config.env
Normal file
@ -0,0 +1,18 @@
|
||||
### Volumes / Folders
|
||||
volume_qbittorrent="/HTPC/docker/qbittorrent"
|
||||
volume_jellyfin="/HTPC/docker/jellyfin"
|
||||
volume_sonarr="/HTPC/docker/sonarr"
|
||||
volume_bazarr="/HTPC/docker/bazarr"
|
||||
volume_radarr="/HTPC/docker/radarr"
|
||||
volume_jackett="/HTPC/docker/jackett"
|
||||
|
||||
### HTPC Media
|
||||
media_folder="/HTPC/media"
|
||||
media_downloads="/HTPC/downloads"
|
||||
media_tvshows="/HTPC/media/tvshows"
|
||||
media_movies="/HTPC/media/movies"
|
||||
|
||||
### Other configs
|
||||
PUID="1000"
|
||||
PGID="1000"
|
||||
TZ="Europe/Lisbon"
|
117
docker_portainer_stacks/htpc/docker-compose.yml
Normal file
117
docker_portainer_stacks/htpc/docker-compose.yml
Normal file
@ -0,0 +1,117 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
qbittorrent:
|
||||
image: linuxserver/qbittorrent:latest
|
||||
container_name: qbittorrent
|
||||
network_mode: HTPC
|
||||
volumes:
|
||||
- ${volume_qbittorrent}:/config
|
||||
- ${media_downloads}:/downloads
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "6881:6881"
|
||||
- "6881:6881/udp"
|
||||
restart: always
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
- UMASK=022
|
||||
- WEBUI_PORT=8080
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
|
||||
jellyfin:
|
||||
image: linuxserver/jellyfin:latest
|
||||
container_name: jellyfin
|
||||
network_mode: HTPC
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ${volume_jellyfin}:/config
|
||||
- ${media_folder}:/data/HTPC
|
||||
- /opt/vc/lib:/opt/vc/lib
|
||||
ports:
|
||||
- 8096:8096
|
||||
- 8920:8920
|
||||
- 7359:7359/udp
|
||||
- 1900:1900/udp
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
|
||||
sonarr:
|
||||
image: linuxserver/sonarr:latest
|
||||
container_name: sonarr
|
||||
network_mode: HTPC
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ${volume_sonarr}:/config
|
||||
- ${media_tvshows}:/tv
|
||||
- ${media_downloads}:/downloads
|
||||
ports:
|
||||
- 8989:8989
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
|
||||
bazarr:
|
||||
image: linuxserver/bazarr:latest
|
||||
container_name: bazarr
|
||||
network_mode: HTPC
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
- UMASK_SET=022
|
||||
volumes:
|
||||
- ${volume_bazarr}:/config
|
||||
- ${media_movies}:/movies
|
||||
- ${media_tvshows}:/tv
|
||||
ports:
|
||||
- 6767:6767
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
|
||||
radarr:
|
||||
image: linuxserver/radarr:latest
|
||||
container_name: radarr
|
||||
network_mode: HTPC
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
- UMASK_SET=022
|
||||
volumes:
|
||||
- ${volume_radarr}:/config
|
||||
- ${media_movies}:/movies
|
||||
- ${media_downloads}:/downloads
|
||||
ports:
|
||||
- 7878:7878
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
|
||||
jackett:
|
||||
image: linuxserver/jackett:latest
|
||||
container_name: jackett
|
||||
network_mode: HTPC
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
- AUTO_UPDATE=true
|
||||
volumes:
|
||||
- ${volume_jackett}:/config
|
||||
- ${media_downloads}:/downloads
|
||||
ports:
|
||||
- 9117:9117
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
19
docker_portainer_stacks/librenms/.env
Normal file
19
docker_portainer_stacks/librenms/.env
Normal file
@ -0,0 +1,19 @@
|
||||
### MariaDB
|
||||
# Data randomly generated with https://passwordsgenerator.net
|
||||
MYSQL_DATABASE=Vrfp9ZBbGC6f
|
||||
MYSQL_USER=66MECXdfwqRr
|
||||
MYSQL_PASSWORD=sB6eMdQhZAKF
|
||||
MYSQL_ROOT_PASSWORD=6L32c8DZxrzt
|
||||
|
||||
### Volumes
|
||||
# Create folder first with eg:
|
||||
# mkdir -p /home/$USER/librenms/{db,data}
|
||||
|
||||
volume_mariadb=/home/$USER/librenms/db
|
||||
volume_librenms=/home/$USER/librenms/data
|
||||
|
||||
### other configs
|
||||
# id $USER
|
||||
PUID=1000
|
||||
PGID=1000
|
||||
TZ=Europe/Amsterdam
|
26
docker_portainer_stacks/librenms/README.md
Normal file
26
docker_portainer_stacks/librenms/README.md
Normal file
@ -0,0 +1,26 @@
|
||||
# libreNMS
|
||||
|
||||
|
||||
Download config env's
|
||||
```
|
||||
wget -q https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/librenms/msmtpd.env; wget -q https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/librenms/librenms.env
|
||||
```
|
||||
|
||||
Download configs.env (edit with your configs)
|
||||
```
|
||||
wget -q https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/librenms/.env
|
||||
```
|
||||
|
||||
Docker-Compose file
|
||||
```
|
||||
wget -q https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/librenms/docker-compose.yml
|
||||
```
|
||||
|
||||
|
||||
All files
|
||||
```
|
||||
wget -q https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/librenms/msmtpd.env; \
|
||||
wget -q https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/librenms/librenms.env; \
|
||||
wget -q https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/librenms/.env; \
|
||||
wget -q https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/librenms/docker-compose.yml
|
||||
```
|
193
docker_portainer_stacks/librenms/docker-compose.yml
Normal file
193
docker_portainer_stacks/librenms/docker-compose.yml
Normal file
@ -0,0 +1,193 @@
|
||||
version: "3.5"
|
||||
|
||||
networks:
|
||||
librenms:
|
||||
external:
|
||||
name: librenms
|
||||
default:
|
||||
driver: bridge
|
||||
|
||||
services:
|
||||
librenms_db:
|
||||
image: ghcr.io/linuxserver/mariadb:latest
|
||||
container_name: librenms_db
|
||||
networks:
|
||||
- librenms
|
||||
volumes:
|
||||
- "${volume_mariadb}:/config"
|
||||
ports:
|
||||
- "3306:3306"
|
||||
environment:
|
||||
- "TZ=${TZ}"
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "MYSQL_DATABASE=${MYSQL_DATABASE}"
|
||||
- "MYSQL_USER=${MYSQL_USER}"
|
||||
- "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
|
||||
- "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}"
|
||||
restart: always
|
||||
|
||||
memcached:
|
||||
image: memcached:alpine
|
||||
container_name: librenms_memcached
|
||||
networks:
|
||||
- librenms
|
||||
environment:
|
||||
- "TZ=${TZ}"
|
||||
restart: always
|
||||
|
||||
redis:
|
||||
image: redis:5.0-alpine
|
||||
container_name: librenms_redis
|
||||
networks:
|
||||
- librenms
|
||||
environment:
|
||||
- "TZ=${TZ}"
|
||||
restart: always
|
||||
|
||||
msmtpd:
|
||||
image: crazymax/msmtpd:latest
|
||||
container_name: librenms_msmtpd
|
||||
networks:
|
||||
- librenms
|
||||
env_file:
|
||||
- "./msmtpd.env"
|
||||
restart: always
|
||||
|
||||
librenms:
|
||||
image: librenms/librenms:latest
|
||||
networks:
|
||||
- librenms
|
||||
container_name: librenms
|
||||
hostname: librenms
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- NET_RAW
|
||||
ports:
|
||||
- target: 8000
|
||||
published: 8000
|
||||
protocol: tcp
|
||||
depends_on:
|
||||
- librenms_db
|
||||
- memcached
|
||||
- msmtpd
|
||||
volumes:
|
||||
- "${volume_librenms}:/data"
|
||||
env_file:
|
||||
- "./librenms.env"
|
||||
environment:
|
||||
- "TZ=${TZ}"
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "DB_HOST=librenms_db"
|
||||
- "DB_NAME=${MYSQL_DATABASE}"
|
||||
- "DB_USER=${MYSQL_USER}"
|
||||
- "DB_PASSWORD=${MYSQL_PASSWORD}"
|
||||
- "DB_TIMEOUT=60"
|
||||
- "REDIS_HOST=redis"
|
||||
- "REDIS_PORT=6379"
|
||||
- "REDIS_DB=0"
|
||||
restart: always
|
||||
|
||||
dispatcher:
|
||||
image: librenms/librenms:latest
|
||||
container_name: librenms_dispatcher
|
||||
networks:
|
||||
- librenms
|
||||
hostname: librenms-dispatcher
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- NET_RAW
|
||||
depends_on:
|
||||
- librenms
|
||||
- redis
|
||||
volumes:
|
||||
- "${volume_librenms}:/data"
|
||||
env_file:
|
||||
- "./librenms.env"
|
||||
environment:
|
||||
- "TZ=${TZ}"
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "DB_HOST=librenms_db"
|
||||
- "DB_NAME=${MYSQL_DATABASE}"
|
||||
- "DB_USER=${MYSQL_USER}"
|
||||
- "DB_PASSWORD=${MYSQL_PASSWORD}"
|
||||
- "DB_TIMEOUT=60"
|
||||
- "DISPATCHER_NODE_ID=dispatcher1"
|
||||
- "REDIS_HOST=redis"
|
||||
- "REDIS_PORT=6379"
|
||||
- "REDIS_DB=0"
|
||||
- "SIDECAR_DISPATCHER=1"
|
||||
restart: always
|
||||
|
||||
syslogng:
|
||||
image: librenms/librenms:latest
|
||||
container_name: librenms_syslogng
|
||||
networks:
|
||||
- librenms
|
||||
hostname: librenms-syslogng
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- NET_RAW
|
||||
depends_on:
|
||||
- librenms
|
||||
ports:
|
||||
- target: 514
|
||||
published: 514
|
||||
protocol: tcp
|
||||
- target: 514
|
||||
published: 514
|
||||
protocol: udp
|
||||
volumes:
|
||||
- "${volume_librenms}:/data"
|
||||
env_file:
|
||||
- "./librenms.env"
|
||||
environment:
|
||||
- "TZ=${TZ}"
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "DB_HOST=librenms_db"
|
||||
- "DB_NAME=${MYSQL_DATABASE}"
|
||||
- "DB_USER=${MYSQL_USER}"
|
||||
- "DB_PASSWORD=${MYSQL_PASSWORD}"
|
||||
- "DB_TIMEOUT=60"
|
||||
- "REDIS_HOST=redis"
|
||||
- "REDIS_PORT=6379"
|
||||
- "REDIS_DB=0"
|
||||
- "SIDECAR_SYSLOGNG=1"
|
||||
restart: always
|
||||
|
||||
snmptrapd:
|
||||
image: librenms/librenms:latest
|
||||
container_name: librenms_snmptrapd
|
||||
networks:
|
||||
- librenms
|
||||
hostname: librenms-snmptrapd
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- NET_RAW
|
||||
depends_on:
|
||||
- librenms
|
||||
ports:
|
||||
- target: 162
|
||||
published: 162
|
||||
protocol: tcp
|
||||
- target: 162
|
||||
published: 162
|
||||
protocol: udp
|
||||
volumes:
|
||||
- "${volume_librenms}:/data"
|
||||
env_file:
|
||||
- "./librenms.env"
|
||||
environment:
|
||||
- "TZ=${TZ}"
|
||||
- "PUID=${PUID}"
|
||||
- "PGID=${PGID}"
|
||||
- "DB_HOST=librenms_db"
|
||||
- "DB_NAME=${MYSQL_DATABASE}"
|
||||
- "DB_USER=${MYSQL_USER}"
|
||||
- "DB_PASSWORD=${MYSQL_PASSWORD}"
|
||||
- "DB_TIMEOUT=60"
|
||||
- "SIDECAR_SNMPTRAPD=1"
|
||||
restart: always
|
13
docker_portainer_stacks/librenms/librenms.env
Normal file
13
docker_portainer_stacks/librenms/librenms.env
Normal file
@ -0,0 +1,13 @@
|
||||
MEMORY_LIMIT=256M
|
||||
UPLOAD_MAX_SIZE=16M
|
||||
OPCACHE_MEM_SIZE=128
|
||||
REAL_IP_FROM=0.0.0.0/32
|
||||
REAL_IP_HEADER=X-Forwarded-For
|
||||
LOG_IP_VAR=remote_addr
|
||||
|
||||
LIBRENMS_SNMP_COMMUNITY=librenmsdocker
|
||||
MEMCACHED_HOST=memcached
|
||||
MEMCACHED_PORT=11211
|
||||
|
||||
LIBRENMS_WEATHERMAP=false
|
||||
LIBRENMS_WEATHERMAP_SCHEDULE=*/5 * * * *
|
10
docker_portainer_stacks/librenms/msmtpd.env
Normal file
10
docker_portainer_stacks/librenms/msmtpd.env
Normal file
@ -0,0 +1,10 @@
|
||||
# https://github.com/crazy-max/docker-msmtpd
|
||||
SMTP_HOST=smtp.gmail.com
|
||||
SMTP_PORT=587
|
||||
SMTP_TLS=on
|
||||
SMTP_STARTTLS=on
|
||||
SMTP_TLS_CHECKCERT=on
|
||||
SMTP_AUTH=on
|
||||
SMTP_USER=foo
|
||||
SMTP_PASSWORD=bar
|
||||
SMTP_FROM=foo@gmail.com
|
17
docker_portainer_stacks/libreoffice.yml
Normal file
17
docker_portainer_stacks/libreoffice.yml
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
version: "3.8"
|
||||
services:
|
||||
libreoffice:
|
||||
image: ghcr.io/linuxserver/libreoffice:latest
|
||||
container_name: libreoffice
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Amsterdam
|
||||
volumes:
|
||||
- /docker/libreoffice:/config
|
||||
ports:
|
||||
- 3000:3000
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
52
docker_portainer_stacks/nginx/nginx-stack.yml
Normal file
52
docker_portainer_stacks/nginx/nginx-stack.yml
Normal file
@ -0,0 +1,52 @@
|
||||
version: "3.8"
|
||||
|
||||
networks:
|
||||
nginx_network:
|
||||
external:
|
||||
name: nginx_network
|
||||
default:
|
||||
driver: bridge
|
||||
|
||||
services:
|
||||
nginx:
|
||||
image: ghcr.io/linuxserver/swag:${tag_nginx}
|
||||
container_name: ${nginx_container_name}
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
networks:
|
||||
- nginx_network
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
- URL=${nginx_domain}
|
||||
- SUBDOMAINS=${nginx_subdomains}
|
||||
- VALIDATION=${nginx_validation}
|
||||
- DNSPLUGIN=${nginx_dnsplugin}
|
||||
- EMAIL=${user_email}
|
||||
- MAXMINDDB_LICENSE_KEY=${maximunddb_license_key}
|
||||
- STAGING=false
|
||||
- ONLY_SUBDOMAINS=false
|
||||
volumes:
|
||||
- ${volume_nginx}:/config
|
||||
ports:
|
||||
- ${nginx_httpsPort}:443
|
||||
- ${nginx_httpPort}:80
|
||||
restart: ${rst_mode}
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=${autoupdate_nginx}
|
||||
|
||||
authelia:
|
||||
image: authelia/authelia:${tag_authelia}
|
||||
container_name: ${authelia_container_name}
|
||||
networks:
|
||||
- nginx_network
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ${volume_authelia}:/config
|
||||
restart: ${rst_mode}
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=${autoupdate_authelia}
|
41
docker_portainer_stacks/nginx/nginx.env
Normal file
41
docker_portainer_stacks/nginx/nginx.env
Normal file
@ -0,0 +1,41 @@
|
||||
# envs
|
||||
# create a docker network with:
|
||||
# docker network create nginx_network
|
||||
|
||||
### Domain Configs..
|
||||
domain=example.com
|
||||
domain_subdomains=homeassistant,plex,nodered,jellyfin,sonarr,radarr
|
||||
user_email=example@gmail.com
|
||||
|
||||
### NGINX Validation
|
||||
nginx_validation=dns
|
||||
nginx_dnsplugin=cloudflare
|
||||
#nginx_duckdnstoken=
|
||||
|
||||
### Container Names
|
||||
nginx_container_name=nginx
|
||||
authelia_container_name=authelia
|
||||
|
||||
### Other Configs..
|
||||
PUID=1000
|
||||
PGID=1000
|
||||
TZ=Europe/Amsterdam
|
||||
rst_mode=unless-stopped
|
||||
maximunddb_license_key=
|
||||
|
||||
### Volumes
|
||||
# create the folders manually
|
||||
volume_nginx=/docker/nginx/nginx
|
||||
volume_authelia=/docker/nginx/authelia
|
||||
|
||||
### AutoUpdate (WatchTower)
|
||||
autoupdate_nginx=true
|
||||
autoupdate_authelia=true
|
||||
|
||||
### Docker Containers TAGs
|
||||
tag_nginx=latest
|
||||
tag_authelia=latest
|
||||
|
||||
### NGINX Ports
|
||||
nginx_httpsPort=443
|
||||
nginx_httpPort=80
|
21
docker_portainer_stacks/nodered.yml
Normal file
21
docker_portainer_stacks/nodered.yml
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
version: "3.8"
|
||||
services:
|
||||
nodered:
|
||||
image: nodered/node-red:latest
|
||||
container_name: nodered
|
||||
network_mode: bridge
|
||||
environment:
|
||||
- TZ=Europe/Amsterdam
|
||||
volumes:
|
||||
- nodered:/data
|
||||
ports:
|
||||
- 37815:1880
|
||||
- 37816:80
|
||||
restart: always
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
|
||||
volumes:
|
||||
nodered:
|
||||
external: false
|
21
docker_portainer_stacks/portainer/README.md
Normal file
21
docker_portainer_stacks/portainer/README.md
Normal file
@ -0,0 +1,21 @@
|
||||
# Portainer
|
||||
|
||||
Docker-compose stack with Portainer, VSCode, WatchTower
|
||||
|
||||
|
||||
Install with 1 line cmd (running as sudo/root)
|
||||
```
|
||||
clear;bash -c "$(wget -qLO - https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/portainer/script/install_nosudo)"
|
||||
```
|
||||
|
||||
download docker-compose.yml with:
|
||||
```
|
||||
wget https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/portainer/docker-compose.yml
|
||||
```
|
||||
|
||||
# Portainer Agent
|
||||
|
||||
```
|
||||
bash -c "$(wget -qLO - https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/portainer/install-portainer-agent)" EDGE_ID EDGE_KEY
|
||||
```
|
||||
Replace `EDGE_ID` and `EDGE_KEY` with ones given by Portainer
|
48
docker_portainer_stacks/portainer/docker-compose.yml
Normal file
48
docker_portainer_stacks/portainer/docker-compose.yml
Normal file
@ -0,0 +1,48 @@
|
||||
---
|
||||
version: "3.8"
|
||||
services:
|
||||
portainer:
|
||||
container_name: portainer
|
||||
image: portainer/portainer-ce:latest
|
||||
restart: unless-stopped
|
||||
network_mode: bridge
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ~/docker/portainer:/data
|
||||
ports:
|
||||
- 8000:8000
|
||||
- 9000:9000
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
|
||||
vscode:
|
||||
image: ghcr.io/linuxserver/code-server:latest
|
||||
container_name: vscode
|
||||
network_mode: bridge
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Amsterdam
|
||||
- PASSWORD=bTWsTrs5uyuJjz6PG6
|
||||
- SUDO_PASSWORD=TKMSajXxJ9Pj9uDFe4
|
||||
volumes:
|
||||
- ~/docker/vscode:/config
|
||||
- ~/docker:/config/workspace/server
|
||||
ports:
|
||||
- 8443:8443
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
|
||||
watchtower:
|
||||
container_name: watchtower
|
||||
image: containrrr/watchtower:latest
|
||||
restart: unless-stopped
|
||||
network_mode: bridge
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
- TZ=Europe/Amsterdam
|
||||
- WATCHTOWER_CLEANUP=true
|
||||
- WATCHTOWER_POLL_INTERVAL=86400
|
||||
- WATCHTOWER_LABEL_ENABLE=true
|
22
docker_portainer_stacks/portainer/install-portainer-agent
Normal file
22
docker_portainer_stacks/portainer/install-portainer-agent
Normal file
@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
###################################
|
||||
############ by Sthope ############
|
||||
###################################
|
||||
|
||||
#### USAGE
|
||||
# bash -c "$(wget -qLO - https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/portainer/install-portainer-agent)" EDGE_ID EDGE_KEY
|
||||
#
|
||||
|
||||
sudo docker run -d \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
|
||||
-v /:/host \
|
||||
-v portainer_agent_data:/data \
|
||||
--restart always \
|
||||
-e EDGE=1 \
|
||||
-e EDGE_ID=${1} \
|
||||
-e EDGE_KEY=${2} \
|
||||
-e CAP_HOST_MANAGEMENT=1 \
|
||||
--label=hide_container=true \
|
||||
--name portainer_edge_agent \
|
||||
portainer/agent
|
24
docker_portainer_stacks/portainer/script/install_nosudo
Normal file
24
docker_portainer_stacks/portainer/script/install_nosudo
Normal file
@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
###################################
|
||||
############ by Sthope ############
|
||||
###################################
|
||||
|
||||
## nano ~/.bashrc
|
||||
## and add this to the end of the file: export PATH=$PATH:~/bin
|
||||
## sudo chmod +x ~/bin/*;su -l $USER
|
||||
|
||||
#### USAGE
|
||||
# bash -c "$(wget -qLO - https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/portainer/script/install_nosudo)"
|
||||
#
|
||||
|
||||
apt-get update
|
||||
apt-get upgrade -y
|
||||
|
||||
bash -c "$(wget -qLO - https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/docker-compose/config.sh)"
|
||||
|
||||
mkdir -p /docker/portainer
|
||||
mkdir -p /docker/vscode
|
||||
|
||||
wget https://git.sthope.dev/sthope/docker_portainer_stacks/raw/branch/master/portainer/docker-compose.yml -P /docker/
|
||||
|
||||
cd /test/;docker-compose up -d
|
13
docker_portainer_stacks/samba/config.env
Normal file
13
docker_portainer_stacks/samba/config.env
Normal file
@ -0,0 +1,13 @@
|
||||
USERNAME=JApoOgeY1PF7qqylo4
|
||||
PASSWORD=uJ6CYqSp266IiijD7K
|
||||
|
||||
folder_to_share=/docker/
|
||||
|
||||
PUID=1000
|
||||
PGID=1000
|
||||
|
||||
TZ=Europe/Lisbon
|
||||
Reset_Mode=unless-stopped
|
||||
|
||||
tag_samba=latest
|
||||
watchtower_autoupdate=false
|
18
docker_portainer_stacks/samba/samba.yml
Normal file
18
docker_portainer_stacks/samba/samba.yml
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
version: "3.5"
|
||||
services:
|
||||
samba:
|
||||
image: elswork/samba:${tag_samba}
|
||||
container_name: samba
|
||||
hostname: samba
|
||||
network_mode: bridge
|
||||
restart: ${Reset_Mode}
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ${folder_to_share}:/share
|
||||
ports:
|
||||
- 445:445
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=${watchtower_autoupdate}
|
||||
command: '-u "${PUID}:${PGID}:${USERNAME}:${USERNAME}:${PASSWORD}" -s "HomeLAB:/share:rw:${USERNAME}"'
|
15
docker_portainer_stacks/watchtower.yml
Normal file
15
docker_portainer_stacks/watchtower.yml
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
version: "3.8"
|
||||
services:
|
||||
watchtower:
|
||||
container_name: watchtower
|
||||
image: containrrr/watchtower:latest
|
||||
restart: unless-stopped
|
||||
network_mode: bridge
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
- TZ=Europe/Amsterdam
|
||||
- WATCHTOWER_CLEANUP=true
|
||||
- WATCHTOWER_POLL_INTERVAL=86400
|
||||
- WATCHTOWER_LABEL_ENABLE=true
|
Reference in New Issue
Block a user