initial commit

This commit is contained in:
Sthope 2021-09-02 18:01:03 +02:00
commit 229f86d94b
43 changed files with 1063 additions and 0 deletions

9
LICENSE Normal file
View 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.

1
README.md Normal file
View File

@ -0,0 +1 @@
# Sthope.dev examples and templates

View File

@ -0,0 +1,15 @@
#!/bin/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/sthope_website_examples/raw/branch/master/custom-cmds-in-ubuntu/bin_examples/createnewuserns)" go Username Password
# Type "createnewuserns USERNAME PASSWORD" it will create new user without asking all the questions
adduser ${0} --gecos "${0},69,69,69" --disabled-password
echo "${0}:${1}" | chpasswd

View File

@ -0,0 +1,15 @@
#!/bin/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
# Type "dockerrm Container_Name" to Stop and Remove running Docker Container
# example: dockerrm Container_Name
docker stop $1
docker rm $1

View File

@ -0,0 +1,26 @@
#!/bin/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
# Type plsupgrade to update and upgrade or type plsupgrade get APP_NAME to install some app (max 9)
# example: plsupgrade get kodi vlc openssh-server
sudo apt-get update
sudo apt-get upgrade -y
case $1 in
'get') if [ "$1" = get ]; then
sudo apt-get install -y $2 $3 $4 $5 $6 $7 $8 $9
else
echo done
fi;;
*) exit 1;; #It is good practice to throw a code, hence allowing $? check
esac

View File

@ -0,0 +1,22 @@
#!/bin/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/sthope_website_examples/raw/branch/master/custom-cmds-in-ubuntu/bin_examples/proxmox_addnewuser)" Username Password
#
apt-get update
apt-get upgrade -y
apt-get install -y sudo
adduser ${0} --gecos "${0},69,69,69" --disabled-password
echo "${0}:${1}" | chpasswd
usermod -aG sudo ${0}
usermod -aG docker ${0}

View File

@ -0,0 +1,19 @@
#!/usr/bin/expect -f
###################################
############ by Sthope ############
###################################
## sudo apt-get install -y expect
## nano ~/.bashrc
## and add this to the end of the file: export PATH=$PATH:~/bin
## sudo chmod +x ~/bin/*;su -l $USER
#### USAGE
# Replace "Proxmox_Username", "Proxmox_IP", "Proxmox_Password" with your details
# Than enter on the terminal proxmoxupgradeyes and it will ssh into Proxmox and update, upgrade -y and autoremove -y
spawn ssh -o -o StrictHostKeyChecking=no -t Proxmox_Username@Proxmox_IP "apt-get update; apt-get upgrade -y;apt-get autoremove -y"
expect "assword:"
send "Proxmox_Password\r"
interact

View File

@ -0,0 +1,15 @@
#!/bin/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
# Type randomportgenerator and it will generate 10 random ports from range 50000 and 65535
for i in {1..10}; do echo $((50000 + RANDOM % 65535)); done

View File

@ -0,0 +1,15 @@
#!/bin/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
# Type randompwdgenerator and it will generate 10 random passwords with 18 chars
for i in {1..10}; do (tr -cd '[:alnum:]' < /dev/urandom | fold -w$'18' | head -n 1); done

View File

@ -0,0 +1,24 @@
#!/usr/bin/expect -f
###################################
############ by Sthope ############
###################################
## sudo apt-get install -y expect
## nano ~/.bashrc
## and add this to the end of the file: export PATH=$PATH:~/bin
## sudo chmod +x ~/bin/*;su -l $USER
### USAGE
# Type "sshnopwd USERNAME@IP PASSWORD"
# it will loggin without asking for password nor ask to confirm the new fingerprint (if applicable)
set timeout 5
set h [lindex $argv 0]
set p [lindex $argv 1]
spawn ssh -o StrictHostKeyChecking=no -t "$h"
expect "*assword:"
send "$p\r";
interact

View File

@ -0,0 +1,15 @@
#!/bin/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
# Type "y2upgrade" ans it will use first sudo apt-get update then sudo apt-get upgrade -y
# and it will update and upgrade system
sudo apt-get update
sudo apt-get upgrade -y

View 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.

View File

@ -0,0 +1,2 @@
# docker_portainer_stacks

View 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)

View 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

View 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

View 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

View File

@ -0,0 +1 @@
# Drone CI & Runner

View 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=

View 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

View 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

View 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

View 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"

View File

@ -0,0 +1,7 @@
***Docker containers:***
1. qbittorrent
2. jellyfin
3. sonarr
4. bazarr
5. radarr
6. jackett

View 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"

View 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

View 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

View 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
```

View 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

View 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 * * * *

View 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

View 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

View 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}

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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}"'

View 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

1
drone-ci/README.md Normal file
View File

@ -0,0 +1 @@
# .drone.yml