Compare commits

...

14 Commits

Author SHA1 Message Date
25a3121748 Merge pull request 'dev' (#7) from dev into main
Reviewed-on: #7
2025-05-16 14:05:34 -05:00
poslop
42cdbeeb02 redme 2025-05-16 14:04:00 -05:00
poslop
1351d9d0a0 acutal 2025-05-10 16:42:19 -05:00
poslop
dc98c7080a paste bin 2025-03-14 21:13:45 -05:00
poslop
3515d1f2d2 Merge branch 'main' of https://git.archfox.org/poslop/DockerConfigs 2025-02-17 16:41:56 -06:00
poslop
3ec7edfc87 ddns added and like mre stuff idk 2025-02-17 16:40:34 -06:00
poslop
754acd3544 idk what i did tbh 2025-01-14 10:29:32 -06:00
poslop
cc9bad6569 Changed domain 2024-12-29 23:30:22 -06:00
poslop
3a69c4b3f8 installed piped 2024-11-18 13:29:10 -06:00
poslop
9c4534330c Merge pull request 'added openwebui' (#6) from dev into main
Reviewed-on: https://git.mintyserver.net/poslop/DockerConfigs/pulls/6
2024-11-15 19:52:24 -06:00
poslop
7a3c868e98 added openwebui 2024-11-15 19:47:19 -06:00
poslop
6e813a5e99 Merge pull request 'dev' (#5) from dev into main
Reviewed-on: https://git.mintyserver.net/poslop/DockerConfigs/pulls/5
2024-11-02 19:15:41 -05:00
poslop
0eb4b91639 Update README.md 2024-10-29 15:04:02 -05:00
poslop
212833ca3c Merge pull request 'dev' (#4) from dev into main
Reviewed-on: https://git.mintyserver.net/poslop/DockerConfigs/pulls/4
2024-10-29 15:02:53 -05:00
15 changed files with 138 additions and 13 deletions

View File

@@ -3,6 +3,6 @@ This repository is for documenting my homelab. Most documentation is found in t
I use docker for all of my services that I run with a docker compose file. I use ssh through a peer to peer vpn service called [Tailscale](https://tailscale.com/). Tailscale has functionality to store ssh keys and makes managing them very simple and easy with github accounts. I use docker for all of my services that I run with a docker compose file. I use ssh through a peer to peer vpn service called [Tailscale](https://tailscale.com/). Tailscale has functionality to store ssh keys and makes managing them very simple and easy with github accounts.
The homelab is run off of a dedicated server running a headless instance of Arch Linux. Arch linux is my Distro of preference however if I were to run a server that is required for reliability I would most likely prefer RedHat or similar for a stable environment over rolling release Arch. The homelab is run off of a dedicated server running a headless instance of Arch Linux. Arch linux is my Distro of preference however if I were to run a server that is required for reliability I would most likely prefer RedHat or similar for a stable environment over rolling release Arch but so far Arch has been fine.
Caddy is currently used to share my publicly facing services with a subdomain of mintyserver.net eg https://git.mintyserver.net. Not all services are reverse proxied such as my pihole as they are only needed to be accessed by me and therefore only accessible via local or vpn connections. Caddy is currently used to share my publicly facing services with a subdomain of archox.org eg https://git.archox.org. Not all services are reverse proxied such as my DNS server as they are only needed to be accessed by me and therefore only accessible via local or vpn connections.

View File

@@ -6,7 +6,7 @@ services:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
- TZ=America/Chicago - TZ=America/Chicago
- APP_URL=https://bookstack.mintyserver.net - APP_URL=https://bookstack.archfox.org
- APP_KEY=${BOOKKEY} - APP_KEY=${BOOKKEY}
- DB_HOST=bookstack_db - DB_HOST=bookstack_db
- DB_PORT=3306 - DB_PORT=3306

View File

@@ -4,7 +4,7 @@ services:
container_name: vaultwarden container_name: vaultwarden
restart: unless-stopped restart: unless-stopped
environment: environment:
DOMAIN: "https://vault.mintyserver.net" DOMAIN: "https://vault.archfox.org"
WEBSOCKET_ENABLED: true WEBSOCKET_ENABLED: true
SIGNUPS_ALLOWED: false SIGNUPS_ALLOWED: false
ADMIN_TOKEN: ${PASS} ADMIN_TOKEN: ${PASS}

View File

@@ -28,5 +28,4 @@ networks:
volumes: volumes:
jellyfin: jellyfin:
name: jellyfin
external: true external: true

View File

@@ -2,7 +2,7 @@ services:
shoko: shoko:
shm_size: 256m shm_size: 256m
container_name: shoko container_name: shoko
image: shokoanime/server:daily image: shokoanime/server:latest
restart: always restart: always
environment: environment:
- "PUID=1000" - "PUID=1000"

View File

@@ -1,6 +1,6 @@
services: services:
caddy: caddy:
image: caddy:latest image: ghcr.io/caddybuilds/caddy-cloudflare:latest
container_name: caddy container_name: caddy
restart: unless-stopped restart: unless-stopped
cap_add: cap_add:
@@ -14,6 +14,10 @@ services:
- caddy_srv:/srv - caddy_srv:/srv
- caddy_data:/data - caddy_data:/data
- caddy_config:/config - caddy_config:/config
environment:
- CLOUDFLARE_API_TOKEN=${CF_CADDY_KEY}
extra_hosts:
- "host.docker.internal:host-gateway"
networks: networks:
- caddy - caddy
@@ -35,3 +39,5 @@ volumes:
caddy_set: caddy_set:
name: caddy_set name: caddy_set
external: true external: true
caddy_html:
external: true

View File

@@ -0,0 +1,14 @@
services:
cloudflare-ddns:
container_name: ddns
image: favonia/cloudflare-ddns:latest
network_mode: host
restart: always
user: "1000:1000"
read_only: true
cap_drop: [all]
security_opt: [no-new-privileges:true]
environment:
- CLOUDFLARE_API_TOKEN=${CFKEY}
- DOMAINS=archfox.org, jelly.archfox.org, searxng.archfox.org, bookstack.archfox.org, vault.archfox.org, git.archfox.org, nextcloud.archfox.org, aria.archfox.org, wings.archfox.org, panel.archfox.org, omada.archfox.org, mc.archfox.org, ai.archfox.org, p.archfox.org, actual.archfox.org
- PROXIED=false

View File

@@ -0,0 +1,27 @@
services:
actual_server:
container_name: actual
image: docker.io/actualbudget/actual-server:latest
environment:
- ACTUAL_UPLOAD_FILE_SYNC_SIZE_LIMIT_MB=100
- ACTUAL_UPLOAD_SYNC_ENCRYPTED_FILE_SYNC_SIZE_LIMIT_MB=100
- ACTUAL_UPLOAD_FILE_SIZE_LIMIT_MB=100
volumes:
- actual-data:/data
networks:
- caddy
healthcheck:
test: ['CMD-SHELL', 'node src/scripts/health-check.js']
interval: 60s
timeout: 10s
retries: 3
start_period: 20s
restart: unless-stopped
volumes:
actual-data:
external: true
networks:
caddy:
external: true

View File

@@ -0,0 +1,21 @@
services:
open-webui:
container_name: open-webui
image: ghcr.io/open-webui/open-webui:main
restart: unless-stopped
environment:
- OLLAMA_BASE_URL=http://poslop-w:11434
volumes:
- open-webui:/app/backend/data
networks:
- caddy
volumes:
open-webui:
external: true
networks:
caddy:
name: caddy
external: true

View File

@@ -12,7 +12,7 @@ services:
- 3333:3333 - 3333:3333
- 37889:37889 - 37889:37889
command: >- command: >-
--wallet "48Whozrwq4jDA6JZ3vJw3Z22VFCCdi4MnLDH5WfHX33w8ehHZ3hRsJC6JBFmgau8BjbXzfL6Um1GdGNfzzbqueDGPhSusji" --wallet "452KRkV1ekYiMh1iy6g3TWbBUGjcJLZH8NYbcd8uaso7Z65CxHsjCmshNaRikDWnRy84kkDZxSfw7DXitNQvhpPW3rmRasA"
--stratum "0.0.0.0:3333" --p2p "0.0.0.0:37889" --rpc-port "18089" --stratum "0.0.0.0:3333" --p2p "0.0.0.0:37889" --rpc-port "18089"
--host "monerod" --host "monerod"
--loglevel 1 --loglevel 1

View File

@@ -0,0 +1,45 @@
services:
pastedb:
container_name: pastedb
image: mariadb:10.11
volumes:
- pastedb:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: pastefy
MYSQL_DATABASE: pastefy
MYSQL_USER: pastefy
MYSQL_PASSWORD: pastefy
networks:
- pastefy
pastefy:
container_name: pastefy
depends_on:
- pastedb
image: interaapps/pastefy:latest
environment:
HTTP_SERVER_PORT: 80
HTTP_SERVER_CORS: "*"
DATABASE_DRIVER: mysql
DATABASE_NAME: pastefy
DATABASE_USER: pastefy
DATABASE_PASSWORD: pastefy
DATABASE_HOST: pastedb
DATABASE_PORT: 3306
SERVER_NAME: "https://p.archfox.org"
networks:
- caddy
- pastefy
volumes:
pastedb:
external: true
networks:
pastefy:
name: pastefy
caddy:
name: caddy
external: true

View File

@@ -19,7 +19,7 @@ services:
gluetun: gluetun:
image: ghcr.io/qdm12/gluetun image: qmcgaw/gluetun:v3
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
container_name: gluetun container_name: gluetun
@@ -27,12 +27,14 @@ services:
- VPN_SERVICE_PROVIDER=mullvad - VPN_SERVICE_PROVIDER=mullvad
- VPN_TYPE=wireguard - VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=${MULLKEY} - WIREGUARD_PRIVATE_KEY=${MULLKEY}
- WIREGUARD_ADDRESSES=10.73.138.162/32 - WIREGUARD_ADDRESSES=10.75.99.140/32
- SERVER_COUNTRIES=USA
- SERVER_CITIES=Chicago IL - SERVER_CITIES=Chicago IL
#- DNS_ADDRESS=10.64.0.1
volumes: volumes:
- gluetun:/gluetun - gluetun:/gluetun
devices: devices:
- /dev/net/tun - /dev/net/tun:/dev/net/tun
ports: ports:
- 8181:8181 - 8181:8181
- 6881:6881 - 6881:6881

View File

@@ -3,7 +3,7 @@ services:
image: searxng/searxng:latest image: searxng/searxng:latest
container_name: searxng container_name: searxng
environment: environment:
- BASE_URL=https://searxng.mintyserver.net - BASE_URL=https://searxng.archfox.org
volumes: volumes:
- searxng:/etc/searxng - searxng:/etc/searxng
restart: unless-stopped restart: unless-stopped

View File

@@ -0,0 +1,6 @@
services:
watchtower:
container_name: watchtower
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock

View File

@@ -17,12 +17,17 @@ services=(
"Networking/technitium.yml" "Networking/technitium.yml"
"Networking/caddy.yml" "Networking/caddy.yml"
"Networking/omada.yml" "Networking/omada.yml"
"Networking/ddns.yml"
"Tools/searxng.yml" "Tools/searxng.yml"
"Tools/monerod.yml" "Tools/monerod.yml"
"Tools/p2pool.yml" "Tools/p2pool.yml"
"Tools/ariang.yml" "Tools/ariang.yml"
"Tools/nextcloud-aio.yml" "Tools/nextcloud-aio.yml"
"Tools/qbit.yml" "Tools/qbit.yml"
"Tools/open-webui.yml"
"Tools/watchtower.yml"
"Tools/pastefy.yml"
"Tools/actual.yml"
"pterodactyl/docker-compose.yml" "pterodactyl/docker-compose.yml"
) )
@@ -35,7 +40,7 @@ for service in "${services[@]}"; do
done done
# Add the up command to the final docker compose command # Add the up command to the final docker compose command
COMPOSE_COMMAND+=" up -d" COMPOSE_COMMAND+=" --profile panel --profile daemon up -d"
# Execute the composed command # Execute the composed command
eval $COMPOSE_COMMAND eval $COMPOSE_COMMAND