Compare commits

...

8 Commits

Author SHA1 Message Date
Fabian Schmidt
478aa02ea0 Remove sensitive data 2024-09-19 14:28:50 +02:00
Fabian Schmidt
319c9146af Add start of *arr-stack compose file 2024-09-19 14:15:16 +02:00
Fabian Schmidt
65fdf6c789 Add pihole compose file 2024-09-19 14:14:57 +02:00
Fabian Schmidt
56df7ef612 Add searxng compose file 2024-09-19 14:14:45 +02:00
Fabian Schmidt
f0969941c2 Add endlessh compose file 2024-09-19 14:14:32 +02:00
Fabian Schmidt
0cfe31dde5 Add minecraft compose file 2024-09-19 14:14:13 +02:00
Fabian Schmidt
253a921b5f Add authentik compose file 2024-09-19 14:13:18 +02:00
Fabian Schmidt
5858b44082 Add gitea compose file 2024-09-19 14:13:02 +02:00
7 changed files with 293 additions and 0 deletions

76
arr/compose.yml Normal file
View File

@ -0,0 +1,76 @@
services:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
# line above must be uncommented to allow external containers to connect.
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md#external-container-to-gluetun
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
ports:
- 6881:6881
- 6881:6881/udp
- 8085:8085 # qbittorrent
- 8989:8989 # Sonarr
- 9696:9696 # Prowlarr
volumes:
- /home/ubuntu/docker/arr-stack:/gluetun
environment:
# See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup
- VPN_SERVICE_PROVIDER=nordvpn
- VPN_TYPE=wireguard
# OpenVPN:
# - OPENVPN_USER=
# - OPENVPN_PASSWORD=
# Wireguard:
- WIREGUARD_PRIVATE_KEY=<YOUR_PRIVATE_KEY> # See https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/nordvpn.md#obtain-your-wireguard-private-key
- WIREGUARD_ADDRESSES=10.5.0.2/32
# Timezone for accurate log times
- TZ=Europe/London
# Server list updater
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-the-vpn-servers-list
- UPDATER_PERIOD=24h
qbittorrent:
image: lscr.io/linuxserver/qbittorrent
container_name: qbittorrent
network_mode: "service:gluetun"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- WEBUI_PORT=8085
volumes:
- /home/ubuntu/docker/arr-stack/qbittorrent:/config
- /home/ubuntu/docker/arr-stack/qbittorrent/downloads:/downloads
depends_on:
- gluetun
restart: always
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
network_mode: "service:gluetun"
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /home/ubuntu/docker/arr-stack/sonarr/data:/config
- /home/ubuntu/docker/arr-stack/sonarr/tvseries:/tv #optional
- /home/ubuntu/docker/arr-stack/sonarr/downloadclient-downloads:/downloads #optional
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
network_mode: "service:gluetun"
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /home/ubuntu/docker/arr-stack/prowlarr/data:/config
restart: unless-stopped

84
authentik/compose.yml Normal file
View File

@ -0,0 +1,84 @@
services:
postgresql:
image: docker.io/library/postgres:12-alpine
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
volumes:
- database:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: ${PG_PASS:?database password required}
POSTGRES_USER: ${PG_USER:-authentik}
POSTGRES_DB: ${PG_DB:-authentik}
env_file:
- .env
redis:
image: docker.io/library/redis:alpine
command: --save 60 1 --loglevel warning
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
start_period: 20s
interval: 30s
retries: 5
timeout: 3s
volumes:
- redis:/data
server:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2023.10.6}
restart: unless-stopped
command: server
environment:
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
volumes:
- ./media:/media
- ./custom-templates:/templates
env_file:
- .env
ports:
- "${COMPOSE_PORT_HTTP:-9000}:9000"
- "${COMPOSE_PORT_HTTPS:-9443}:9443"
depends_on:
- postgresql
- redis
worker:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2023.10.6}
restart: unless-stopped
command: worker
environment:
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
# `user: root` and the docker socket volume are optional.
# See more for the docker socket integration here:
# https://goauthentik.io/docs/outposts/integrations/docker
# Removing `user: root` also prevents the worker from fixing the permissions
# on the mounted folders, so when removing this make sure the folders have the correct UID/GID
# (1000:1000 by default)
user: root
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./media:/media
- ./certs:/certs
- ./custom-templates:/templates
env_file:
- .env
depends_on:
- postgresql
- redis
volumes:
database:
driver: local
redis:
driver: local

19
endlessh/compose.yml Normal file
View File

@ -0,0 +1,19 @@
services:
endlessh:
image: lscr.io/linuxserver/endlessh:latest
container_name: endlessh
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- MSDELAY=10000 #optional
- MAXLINES=32 #optional
- MAXCLIENTS=4096 #optional
- LOGFILE=true #optional
- BINDFAMILY= #optional
volumes:
- /home/fabian/endlessh/config:/config #optional
ports:
- 22:2222
restart: unless-stopped

53
git/compose.yml Normal file
View File

@ -0,0 +1,53 @@
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1001
- USER_GID=1001
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=<DB_PASSWORD>
restart: always
networks:
- gitea
volumes:
- /data/git/gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/git/.ssh:/data/git/.ssh
ports:
- "3010:3000"
- "222:22"
depends_on:
- db
db:
image: postgres:14
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=<DB_PASSWORD>
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- /data/git/postgres:/var/lib/postgresql/data
runner:
image: gitea/act_runner
restart: always
depends_on:
- server
volumes:
- /data/git/act_runner:/data
- /var/run/docker.sock:/var/run/docker.sock
environment:
- GITEA_INSTANCE_URL=https://git.plobos.xyz
- GITEA_RUNNER_REGISTRATION_TOKEN=<RUNNER_TOKEN>

25
minecraft/compose.yml Normal file
View File

@ -0,0 +1,25 @@
services:
server:
image: itzg/minecraft-server
container_name: mc
environments:
- EULA=TRUE
- VERSION="1.17.1"
- TYPE=FABRIC
ports:
- 25566:25565
volumes:
- /srv/minecraft/fabric:/data
skyblock:
image: itzg/minecraft-server:java17
container_name: skyblock
environments:
- EULA=TRUE
- VERSION="1.19.2"
- TYPE=FABRIC
- MEMORY=4G
ports:
- 25567:25565
volumes:
- /srv/minecraft/skyblock:/data

24
pihole/compose.yml Normal file
View File

@ -0,0 +1,24 @@
# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
# For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
- "80:80/tcp"
environment:
TZ: 'Europe/Berlin'
WEBPASSWORD: <PASSWORD>
PIHOLE_DNS_: 1.1.1.1;1.0.0.1
INTERFACE: 'eth0'
# Volumes store your data between container upgrades
volumes:
- './etc-pihole:/etc/pihole'
- './etc-dnsmasq.d:/etc/dnsmasq.d'
# https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
cap_add:
- NET_ADMIN
restart: unless-stopped

12
searxng/compose.yml Normal file
View File

@ -0,0 +1,12 @@
services:
searxng:
container_name: searxng
image: searxng/searxng:latest
ports:
- "8080:8080"
volumes:
- /data/searxng/etc:/etc/searxng:rw
environment:
- BASE_URL=https://searxng.plobos.xyz/
INSTANCE_NAME=plobos
restart: unless-stopped