Compare commits

...

149 Commits

Author SHA1 Message Date
79c859e876 build 2025-12-14 10:45:29 +01:00
d333a7928b build 2025-12-14 10:43:26 +01:00
f6d4ec9801 build 2025-12-14 10:40:22 +01:00
79fc3b6880 build 2025-12-14 10:34:40 +01:00
c373e27f68 build 2025-12-14 10:30:34 +01:00
17db71682e build 2025-12-14 10:28:24 +01:00
67b908b5ad build 2025-12-14 10:22:19 +01:00
2a2aa81e5f build 2025-12-14 10:08:30 +01:00
b6d6c62071 build 2025-12-14 10:05:40 +01:00
cc0df08051 build 2025-12-14 02:06:26 +01:00
bf2772103a build 2025-12-14 02:05:47 +01:00
e23498073d build 2025-12-14 02:04:35 +01:00
a75e61ef72 build 2025-12-14 02:04:03 +01:00
d0d3a56a7c build 2025-12-14 02:03:02 +01:00
c6d44a83e2 build 2025-12-14 01:50:14 +01:00
91d00911e5 build 2025-12-14 01:19:08 +01:00
9594626646 build 2025-12-13 21:26:29 +01:00
e96c3015fb build 2025-12-13 15:17:49 +01:00
5b340d6b3d build 2025-12-12 18:10:59 +01:00
94c59d85fc build 2025-12-12 18:07:34 +01:00
f78408484b build 2025-12-12 16:42:51 +01:00
42adb45e9f build 2025-12-12 16:38:53 +01:00
e986f77d26 build 2025-12-12 16:32:23 +01:00
4e1dcb5009 build 2025-12-12 16:25:04 +01:00
4f7c3a285c build 2025-12-12 16:23:39 +01:00
62cab99470 build 2025-12-12 16:22:47 +01:00
1bc1b0dcb9 build 2025-12-12 16:19:03 +01:00
b37bf9f699 build 2025-12-12 16:02:28 +01:00
bed32a51a6 build 2025-12-12 16:00:49 +01:00
cf04cb7f74 build 2025-12-12 15:57:16 +01:00
c835e3fbea build 2025-12-12 15:55:48 +01:00
6affd9f1a4 build 2025-12-12 15:53:56 +01:00
9a064b469e build 2025-12-12 15:23:20 +01:00
c206590073 build 2025-12-12 15:18:18 +01:00
565b25dc9b build 2025-12-12 12:16:10 +01:00
24179fade8 build 2025-12-11 17:12:09 +01:00
1ed48b84c4 build 2025-12-11 16:45:19 +01:00
2cf269a868 build 2025-12-10 23:42:15 +01:00
c01c495b41 build 2025-12-10 23:34:38 +01:00
e2748ccda8 build 2025-12-10 23:33:15 +01:00
a4eb29de87 build 2025-12-10 23:25:37 +01:00
005616c0a6 Merge branch 'main' of gitlab.sectorq.eu:home/docker-compose 2025-12-10 23:24:13 +01:00
74213b1de9 build 2025-12-10 23:23:26 +01:00
ladislav.dusa
f3de9e0995 build 2025-12-09 09:21:14 +01:00
ladislav.dusa
f82f7e0f25 build 2025-12-09 09:20:58 +01:00
a98a226099 build 2025-12-08 18:57:14 +01:00
f6536c0e6c build 2025-12-08 18:53:19 +01:00
b73b3dc929 build 2025-12-08 18:15:05 +01:00
4e8fe0a1a1 build 2025-12-08 18:14:12 +01:00
6484de18e8 build 2025-12-08 18:00:55 +01:00
a92d32e73b build 2025-12-08 16:51:22 +01:00
178f30e9f1 build 2025-12-08 16:49:06 +01:00
121abc76b0 build 2025-12-08 16:48:20 +01:00
62a3ba833f build 2025-12-08 16:47:44 +01:00
cd2dc573f4 build 2025-12-08 16:46:24 +01:00
7b6229bb39 build 2025-12-08 16:41:58 +01:00
f06bcd22a6 build 2025-12-08 16:41:10 +01:00
fa00fadccf build 2025-12-08 16:06:47 +01:00
4537da6174 build 2025-12-08 15:21:02 +01:00
020b784632 build 2025-12-08 15:20:18 +01:00
2963ee88f9 build 2025-12-08 15:08:41 +01:00
682a727d50 build 2025-12-08 14:02:49 +01:00
fca4bb4508 build 2025-12-08 00:02:56 +01:00
8f2d400301 build 2025-12-07 23:25:42 +01:00
bc41a0431d build 2025-12-07 23:22:52 +01:00
838fe4ed2a build 2025-12-07 23:21:54 +01:00
d932db7b28 build 2025-12-07 23:18:19 +01:00
abaf235fed build 2025-12-07 21:13:21 +01:00
914bd21457 build 2025-12-07 21:04:38 +01:00
0a746ab637 build 2025-12-07 21:01:33 +01:00
3191ca5b55 build 2025-12-07 21:00:52 +01:00
5a2235ae06 build 2025-12-07 20:59:57 +01:00
4f212e10f2 build 2025-12-07 20:54:15 +01:00
fc0ea98def build 2025-12-07 20:47:22 +01:00
0d9b5ef975 build 2025-12-07 20:44:01 +01:00
4ce8f2ec9f build 2025-12-07 20:40:26 +01:00
5f24941a59 build 2025-12-07 20:32:19 +01:00
fe563de936 build 2025-12-07 20:17:21 +01:00
324244afac build 2025-12-07 20:06:38 +01:00
106e53fd0e build 2025-12-07 20:05:50 +01:00
ecdbbfb69f build 2025-12-07 20:00:33 +01:00
eb676c9dc6 build 2025-12-07 13:24:10 +01:00
139908ad56 build 2025-12-07 13:19:02 +01:00
46a0ae669c build 2025-12-07 13:16:00 +01:00
4708260c5c build 2025-12-07 13:11:24 +01:00
8fedeb155a build 2025-12-07 13:05:41 +01:00
bd29257d19 build 2025-12-07 13:04:52 +01:00
f5628ee014 build 2025-12-07 12:55:51 +01:00
b70c372e07 build 2025-12-06 16:38:51 +01:00
dcee21d9d5 build 2025-12-06 16:36:27 +01:00
5748b06dee build 2025-12-06 16:32:49 +01:00
042a50b572 build 2025-12-06 16:27:33 +01:00
80781812de build 2025-12-06 16:26:01 +01:00
718dd27570 build 2025-12-06 16:22:19 +01:00
d2e18a53e6 build 2025-12-06 16:20:53 +01:00
7a5291fb37 build 2025-12-06 16:19:30 +01:00
5651b03906 build 2025-12-06 16:18:26 +01:00
246dc997b5 build 2025-12-06 16:17:27 +01:00
81b430e23d build 2025-12-06 16:15:23 +01:00
43b82acc66 build 2025-12-06 16:12:53 +01:00
7b95fd74cd build 2025-12-06 16:10:40 +01:00
403f9396c5 build 2025-12-06 16:08:57 +01:00
1f82d674f8 build 2025-12-06 16:06:47 +01:00
6f66064c8b build 2025-12-06 16:05:02 +01:00
504eb1229a build 2025-12-06 16:01:52 +01:00
c5c66dc914 build 2025-12-06 15:59:44 +01:00
b7efad7a12 build 2025-12-06 15:55:55 +01:00
4d98f7f39e build 2025-12-06 15:53:02 +01:00
f449431a91 build 2025-12-06 15:51:42 +01:00
8f36939703 build 2025-12-06 15:48:47 +01:00
136e637aed build 2025-12-06 15:46:41 +01:00
6ba2c2dd0f build 2025-12-06 15:27:44 +01:00
b4961f5961 build 2025-12-06 15:14:25 +01:00
e34addb608 build 2025-12-06 15:11:35 +01:00
89321a9b46 build 2025-12-06 15:10:34 +01:00
0e31d85bc7 build 2025-12-06 13:25:29 +01:00
68046f8bb3 build 2025-12-06 02:22:16 +01:00
cc3b725b59 build 2025-12-06 02:19:58 +01:00
7af37e4adf build 2025-12-06 02:18:09 +01:00
59276f0a0d build 2025-12-06 02:13:52 +01:00
53a2087e21 build 2025-12-06 01:53:54 +01:00
c4a5822ee7 build 2025-12-06 01:50:44 +01:00
6c65d61a9d build 2025-12-06 01:17:11 +01:00
a3661ef551 build 2025-12-06 01:14:42 +01:00
99c4787189 build 2025-12-06 01:10:29 +01:00
7ee17ad41c build 2025-12-06 01:05:53 +01:00
f414ced56e build 2025-12-06 01:04:34 +01:00
43966299d7 build 2025-12-06 01:01:07 +01:00
df897ceee3 build 2025-12-06 00:59:20 +01:00
4c73d641e8 build 2025-12-06 00:55:48 +01:00
34cb6e28d6 build 2025-12-06 00:54:38 +01:00
690d1a2a15 build 2025-12-06 00:47:35 +01:00
cdd64767f4 build 2025-12-06 00:33:08 +01:00
9080a8914c build 2025-12-06 00:30:40 +01:00
a428b50ecd build 2025-12-06 00:29:45 +01:00
630946ad99 build 2025-12-06 00:20:51 +01:00
0fc0f74183 build 2025-12-06 00:14:24 +01:00
bab3fd7ec3 build 2025-12-06 00:11:34 +01:00
116855a14c build 2025-12-06 00:07:08 +01:00
db91ebd75e build 2025-12-06 00:03:52 +01:00
914ceee33c build 2025-12-05 23:45:12 +01:00
b784bc08e9 build 2025-12-05 23:31:00 +01:00
3eb5938c7d build 2025-12-05 23:28:27 +01:00
05b09e3ab4 build 2025-12-05 23:27:54 +01:00
b1336936a7 build 2025-12-05 23:23:16 +01:00
e3e59b73c6 build 2025-12-05 23:15:16 +01:00
9c8f603390 build 2025-12-05 23:14:25 +01:00
e77462a602 build 2025-12-05 23:05:40 +01:00
3b3a520099 build 2025-12-05 23:02:56 +01:00
44 changed files with 471 additions and 266 deletions

View File

@@ -3,7 +3,7 @@ PG_USER=authentik
PG_DB=authentik PG_DB=authentik
AUTHENTIK_SECRET_KEY=ZKkVCxj8kKj5ZklvzxKG2IgYQOftDoLPRjc57yomr1qzbKEQVZ AUTHENTIK_SECRET_KEY=ZKkVCxj8kKj5ZklvzxKG2IgYQOftDoLPRjc57yomr1qzbKEQVZ
AUTHENTIK_ERROR_REPORTING__ENABLED=true AUTHENTIK_ERROR_REPORTING__ENABLED=true
AUTHENTIK_TAG=2025.8.4 AUTHENTIK_TAG=2025.10.2
POSTGRES_PASSWORD=499NU6Ze5HcJK4IwSShO8oDbj3j0i0CalyEzfgEp POSTGRES_PASSWORD=499NU6Ze5HcJK4IwSShO8oDbj3j0i0CalyEzfgEp
POSTGRES_USER=authentik POSTGRES_USER=authentik
POSTGRES_DB=authentik POSTGRES_DB=authentik

View File

@@ -35,7 +35,7 @@ services:
homepage.name: Gitea homepage.name: Gitea
homepage.server: my-docker-swarm homepage.server: my-docker-swarm
homepage.weight: '1' homepage.weight: '1'
homepage.widget.key: ${TOKEN} homepage.widget.key: "b7b6e21beb7489c170215e2b7ae0d9b0099132d6"
homepage.widget.type: ${APPNAME} homepage.widget.type: ${APPNAME}
homepage.widget.url: https://${APPNAME}.sectorq.eu homepage.widget.url: https://${APPNAME}.sectorq.eu
homepage.widget.version: '2' homepage.widget.version: '2'
@@ -56,6 +56,7 @@ services:
GITEA_RUNNER_NAME: jaydee GITEA_RUNNER_NAME: jaydee
GITEA_RUNNER_LABELS: jaydee GITEA_RUNNER_LABELS: jaydee
volumes: volumes:
- runner_config:/config - runner_config:/config
- runner_data:/data - runner_data:/data
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock

View File

@@ -1,5 +1,16 @@
services: services:
runner:
container_name: gitlab-runner
restart: always
volumes:
- runner:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock
image: ${DOCKER_REGISTRY:-}gitlab/gitlab-runner:latest
labels:
- wud.watch.digest=true
- wud.watch=true
web: web:
container_name: gitlab container_name: gitlab
environment: environment:
GITLAB_OMNIBUS_CONFIG: "external_url 'https://gitlab.sectorq.eu'\nnginx['listen_port']\ GITLAB_OMNIBUS_CONFIG: "external_url 'https://gitlab.sectorq.eu'\nnginx['listen_port']\
@@ -47,8 +58,13 @@ services:
restart: unless-stopped restart: unless-stopped
shm_size: 4gb shm_size: 4gb
volumes: volumes:
- /share/docker_data/gitlab/config:/etc/gitlab - config:/etc/gitlab
- /share/docker_data/gitlab/logs:/var/log/gitlab - logs:/var/log/gitlab
- /share/docker_data/gitlab/data:/var/opt/gitlab - data:/var/opt/gitlab
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
version: '3.6' version: '3.6'
volumes:
runner:
config:
logs:
data:

View File

@@ -1,73 +1,101 @@
services: services:
web: runner:
environment: container_name: gitlab-runner
GITLAB_OMNIBUS_CONFIG: "external_url 'https://gitlab.sectorq.eu'\nnginx['listen_port']\ restart: always
\ = 80\nnginx['listen_https'] = false\nweb_server['username'] = 'git'\ngitlab_rails['time_zone']\ volumes:
\ = 'Europe/Bratislava'\ngitlab_rails['omniauth_enabled'] = true\ngitlab_rails['omniauth_allow_single_sign_on']\ - runner:/etc/gitlab-runner
\ = ['saml']\ngitlab_rails['omniauth_sync_email_from_provider'] = 'saml'\n\ - /var/run/docker.sock:/var/run/docker.sock
gitlab_rails['omniauth_sync_profile_from_provider'] = ['saml']\ngitlab_rails['omniauth_sync_profile_attributes']\ image: ${DOCKER_REGISTRY:-}gitlab/gitlab-runner:latest
\ = ['email']\ngitlab_rails['omniauth_auto_sign_in_with_provider'] = 'saml'\n\
gitlab_rails['omniauth_block_auto_created_users'] = false\ngitlab_rails['omniauth_auto_link_saml_user']\
\ = true\ngitlab_rails['omniauth_providers'] = [\n {\n name: 'saml',\n\
\ args: {\n assertion_consumer_service_url: 'https://gitlab.sectorq.eu/users/auth/saml/callback',\n\
\ # Shown when navigating to certificates in authentik1\n idp_cert_fingerprint:\
\ 'f7:fd:49:03:b3:38:52:b3:23:f5:43:c4:8d:08:65:32:e0:5a:7b:0e',\n idp_sso_target_url:\
\ 'https://auth.sectorq.eu/application/saml/gitlab/sso/binding/redirect/',\n\
\ issuer: 'https://gitlab.sectorq.eu',\n name_identifier_format:\
\ 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',\n attribute_statements:\
\ {\n email: ['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress'],\n\
\ first_name: ['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'],\n\
\ nickname: ['http://schemas.goauthentik.io/2021/02/saml/username']\n\
\ }\n },\n label: 'authentik'\n }\n]\n"
TZ: Europe/Bratislava
hostname: gitlab.sectorq.eu
image: ${DOCKER_REGISTRY:-}gitlab/gitlab-ce:latest
network_mode: bridge
ports:
- target: 80
published: 8785
protocol: tcp
mode: ingress
- target: 443
published: 8743
protocol: tcp
mode: ingress
- target: 22
published: 8722
protocol: tcp
mode: ingress
shm_size: 4gb
volumes:
- config:/etc/gitlab
- logs:/var/log/gitlab
- data:/var/opt/gitlab
- /etc/localtime:/etc/localtime:ro
deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' - wud.watch.digest=true
homepage.container: gitlab - wud.watch=true
homepage.description: Version control dns:
homepage.group: Infrastructure - 192.168.77.1
homepage.href: https://gitlab.sectorq.eu - 192.168.77.101
homepage.icon: gitlab.png app:
homepage.name: Gitlab environment:
homepage.server: my-docker-swarm GITLAB_OMNIBUS_CONFIG: |
homepage.weight: '1' external_url 'https://gitlab.sectorq.eu'
homepage.widget.key: glpat-BuMKcaDqeD-Wx3dW4TM9 nginx['listen_port'] = 80
homepage.widget.type: gitlab nginx['listen_https'] = false
homepage.widget.url: https://gitlab.sectorq.eu web_server['username'] = 'git'
homepage.widget.user_id: '2' gitlab_rails['time_zone'] = 'Europe/Bratislava'
wud.watch: 'true' gitlab_rails['omniauth_enabled'] = true
wud.watch.digest: 'true' gitlab_rails['omniauth_allow_single_sign_on'] = ['saml']
replicas: 1 gitlab_rails['omniauth_sync_email_from_provider'] = 'saml'
placement: gitlab_rails['omniauth_sync_profile_from_provider'] = ['saml']
constraints: gitlab_rails['omniauth_sync_profile_attributes'] = ['email']
- node.role == manager gitlab_rails['omniauth_auto_sign_in_with_provider'] = 'saml'
gitlab_rails['omniauth_block_auto_created_users'] = false
gitlab_rails['omniauth_auto_link_saml_user'] = true
gitlab_rails['omniauth_providers'] = [
{
name: 'saml',
args: {
assertion_consumer_service_url: 'https://gitlab.sectorq.eu/users/auth/saml/callback',
# Shown when navigating to certificates in authentik1
idp_cert_fingerprint: 'f7:fd:49:03:b3:38:52:b3:23:f5:43:c4:8d:08:65:32:e0:5a:7b:0e',
idp_sso_target_url: 'https://auth.sectorq.eu/application/saml/gitlab/sso/binding/redirect/',
issuer: 'https://gitlab.sectorq.eu',
name_identifier_format: 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',
attribute_statements: {
email: ['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress'],
first_name: ['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'],
nickname: ['http://schemas.goauthentik.io/2021/02/saml/username']
}
},
label: 'authentik'
}
]
TZ: Europe/Bratislava
hostname: gitlab.sectorq.eu
image: ${DOCKER_REGISTRY:-}gitlab/gitlab-ce:latest
network_mode: bridge
ports:
- target: 80
published: 8785
protocol: tcp
mode: ingress
- target: 443
published: 8743
protocol: tcp
mode: ingress
- target: 22
published: 8722
protocol: tcp
mode: ingress
shm_size: 4gb
volumes:
- config:/etc/gitlab
- logs:/var/log/gitlab
- data:/var/opt/gitlab
- /etc/localtime:/etc/localtime:ro
deploy:
labels:
com.centurylinklabs.watchtower.enable: 'true'
homepage.container: gitlab
homepage.description: Version control
homepage.group: Infrastructure
homepage.href: https://gitlab.sectorq.eu
homepage.icon: gitlab.png
homepage.name: Gitlab
homepage.server: my-docker-swarm
homepage.weight: '1'
homepage.widget.key: glpat-BuMKcaDqeD-Wx3dW4TM9
homepage.widget.type: gitlab
homepage.widget.url: https://gitlab.sectorq.eu
homepage.widget.user_id: '2'
wud.watch: 'true'
wud.watch.digest: 'true'
replicas: 1
placement:
constraints:
- node.role == manager
volumes: volumes:
config: config:
driver: local driver: local
logs: logs:
driver: local driver: local
data: data:
driver: local driver: local

View File

@@ -0,0 +1,47 @@
services:
vault:
image: hashicorp/vault:latest
command: server -config=/vault/config/vault.hcl
volumes:
- data:/vault/data
configs:
- source: vault_hcl
target: /vault/config/vault.hcl
ports:
- "8200:8200"
environment:
VAULT_LOCAL_CONFIG: |
{
"backend": {
"file": {
"path": "/vault/file"
}
},
"listener": {
"tcp": {
"address": "0.0.0.0:8200",
"tls_disable": 1
}
},
"disable_mlock": true
}
VAULT_API_ADDR: "http://192.168.77.101:8200"
cap_add:
- IPC_LOCK
networks:
- vault-net
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
configs:
vault_hcl:
external: true
volumes:
data:
networks:
vault-net:
driver: overlay

View File

@@ -1,11 +1,16 @@
services: services:
homeassistant: homeassistant:
network_mode: host
image: ${DOCKER_REGISTRY:-}ghcr.io/home-assistant/home-assistant:latest image: ${DOCKER_REGISTRY:-}ghcr.io/home-assistant/home-assistant:latest
volumes: volumes:
- ha_config:/config - ha_config:/config
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- /run/dbus:/run/dbus:ro - /run/dbus:/run/dbus:ro
networks:
- swarm-ipvlan
- traefik-public
- homeassistant-internal
privileged: true privileged: true
environment: environment:
DISABLE_JEMALLOC: value DISABLE_JEMALLOC: value

View File

@@ -1,16 +1,12 @@
networks:
pihole_pihole:
external: true
services: services:
homepage: homepage:
dns: dns:
- 192.168.78.254 - 192.168.77.1
- 192.168.77.101
environment: environment:
HOMEPAGE_ALLOWED_HOSTS: sectorq.eu,active.home.lan:3003,m-server.home.lan:3003,rpi5.home.lan:3003,nas.home.lan:3003,192.168.77.238:3003,rack.home.lan:3003,192.168.80.222:3003 HOMEPAGE_ALLOWED_HOSTS: sectorq.eu,active.home.lan:3003,m-server.home.lan:3003,rpi5.home.lan:3003,nas.home.lan:3003,192.168.77.238:3003,rack.home.lan:3003,192.168.80.222:3003
TZ: Europe/Bratislava TZ: Europe/Bratislava
image: ${DOCKER_REGISTRY:-}ghcr.io/gethomepage/homepage:latest image: ${DOCKER_REGISTRY:-}ghcr.io/gethomepage/homepage:latest
networks:
- pihole_pihole
ports: ports:
- target: 3000 - target: 3000
published: 3003 published: 3003

View File

@@ -21,4 +21,6 @@ DB_PASSWORD=postgres
DB_USERNAME=postgres DB_USERNAME=postgres
DB_DATABASE_NAME=immich DB_DATABASE_NAME=immich
HW_MODE1=vaapi HW_MODE1=vaapi
HW_MODE2=openvino HW_MODE2=openvino
APPNAME=immich
DOCKER_REGISTRY=r.sectorq.eu/library/

View File

@@ -1,5 +1,5 @@
services: services:
immich-server: server:
image: ${DOCKER_REGISTRY:-}ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} image: ${DOCKER_REGISTRY:-}ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# devices: # devices:
# - /dev/dri:/dev/dri # - /dev/dri:/dev/dri
@@ -38,7 +38,7 @@ services:
placement: placement:
constraints: constraints:
- node.role == manager - node.role == manager
immich-machine-learning: machine-learning:
image: ${DOCKER_REGISTRY:-}ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} image: ${DOCKER_REGISTRY:-}ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
# device_cgroup_rules: # device_cgroup_rules:
# - 'c 189:* rmw' # - 'c 189:* rmw'

View File

@@ -20,4 +20,6 @@ DB_PASSWORD=postgres
################################################################################### ###################################################################################
DB_USERNAME=postgres DB_USERNAME=postgres
DB_DATABASE_NAME=immich DB_DATABASE_NAME=immich
POSTGRES_PASSWORD=postgres POSTGRES_PASSWORD=postgres
APPNAME=immich
DOCKER_REGISTRY=r.sectorq.eu/library/

View File

@@ -29,9 +29,6 @@ services:
wud.watch: 'true' wud.watch: 'true'
wud.watch.digest: 'true' wud.watch.digest: 'true'
replicas: 1 replicas: 1
placement:
constraints:
- node.role == manager
secrets: secrets:
influxdb2-admin-token: influxdb2-admin-token:
external: true external: true

View File

@@ -10,7 +10,7 @@ services:
image: ${DOCKER_REGISTRY:-}jupyter/base-notebook:latest image: ${DOCKER_REGISTRY:-}jupyter/base-notebook:latest
deploy: deploy:
labels: labels:
homepage.container: jupyter-base-notebook-1 homepage.container: jupyter_base-notebook
homepage.description: Python server homepage.description: Python server
homepage.group: Utils homepage.group: Utils
homepage.href: http://m-server.home.lan:8888/ homepage.href: http://m-server.home.lan:8888/

View File

@@ -4,15 +4,37 @@ services:
environment: environment:
SECRET_MYPASSWORD: bDRjMWo0eWQzM0R1NWxv SECRET_MYPASSWORD: bDRjMWo0eWQzM0R1NWxv
SECRET_GITLAB: Z2xwYXQtdWotbi1lRWZUWTM5OFBFNHZLU1M= SECRET_GITLAB: Z2xwYXQtdWotbi1lRWZUWTM5OFBFNHZLU1M=
KESTRA_CONFIGURATION: "datasources:\n postgres:\n url: jdbc:postgresql://postgres:5432/kestra\n\ KESTRA_CONFIGURATION: |
\ driverClassName: org.postgresql.Driver\n username: kestra\n password:\ datasources:
\ k3str4\nkestra:\n server:\n basicAuth:\n enabled: false\n \ postgres:
\ username: \"jaydee@sectorq.eu\" # it must be a valid email address\n \ url: jdbc:postgresql://postgres:5432/kestra
\ password: ${PASSWORD}\n repository:\n type: postgres\n storage:\n\ driverClassName: org.postgresql.Driver
\ type: local\n local:\n basePath: \"/app/storage\"\n queue:\n\ username: kestra
\ type: postgres\n tasks:\n tmpDir:\n path: /tmp/kestra-wd/tmp\n\ password: k3str4
\ url: http://localhost:8080/\n tutorial-flows:\n enabled: false\nmicronaut:\n\ kestra:
\ server:\n cors:\n enabled: true\n" server:
basicAuth:
enabled: false
username: "jaydee@sectorq.eu" # it must be a valid email address
password: ${PASSWORD}
repository:
type: postgres
storage:
type: local
local:
basePath: "/app/storage"
queue:
type: postgres
tasks:
tmpDir:
path: /tmp/kestra-wd/tmp
url: http://localhost:8080/
tutorial-flows:
enabled: false
micronaut:
server:
cors:
enabled: true
image: ${DOCKER_REGISTRY:-}kestra/kestra:${KESTRA_VERSION:-latest} image: ${DOCKER_REGISTRY:-}kestra/kestra:${KESTRA_VERSION:-latest}
ports: ports:
- target: 8080 - target: 8080
@@ -32,7 +54,7 @@ services:
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
homepage.container: kestra-kestra-1 homepage.container: kestra_kestra
homepage.description: Automation homepage.description: Automation
homepage.group: Infrastructure homepage.group: Infrastructure
homepage.href: https://${APPNAME}.sectorq.eu homepage.href: https://${APPNAME}.sectorq.eu

View File

@@ -1,5 +1,5 @@
services: services:
mealie: app:
image: ${DOCKER_REGISTRY}ghcr.io/mealie-recipes/mealie:v2.8.0 image: ${DOCKER_REGISTRY}ghcr.io/mealie-recipes/mealie:v2.8.0
ports: ports:
- target: 9000 - target: 9000
@@ -11,7 +11,7 @@ services:
limits: limits:
memory: 1000M memory: 1000M
labels: labels:
homepage.container: mealie homepage.container: mealie_app
homepage.description: Recipe server homepage.description: Recipe server
homepage.group: Utils homepage.group: Utils
homepage.href: https://${APPNAME}.sectorq.eu homepage.href: https://${APPNAME}.sectorq.eu

View File

@@ -16,8 +16,18 @@ volumes:
radarr_config: radarr_config:
sonarr_config: sonarr_config:
bazarr_config: bazarr_config:
flaresolverr_config: m-server_music:
driver: local
driver_opts:
type: nfs
o: addr=192.168.77.101,rw,nfsvers=4.2,nolock
device: :/music
m-server_movies:
driver: local
driver_opts:
type: nfs
o: addr=192.168.77.101,rw,nfsvers=4.2,nolock
device: :/movies
services: services:
bazarr: bazarr:
environment: environment:
@@ -28,6 +38,8 @@ services:
image: ${DOCKER_REGISTRY:-}lscr.io/linuxserver/bazarr:latest image: ${DOCKER_REGISTRY:-}lscr.io/linuxserver/bazarr:latest
networks: networks:
- mediarr - mediarr
dns:
- 192.168.77.101
ports: ports:
- target: 6767 - target: 6767
published: 6767 published: 6767
@@ -42,7 +54,7 @@ services:
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
homepage.container: bazarr homepage.container: mediacenter_bazarr
homepage.description: Subtitles homepage.description: Subtitles
homepage.group: Media homepage.group: Media
homepage.href: https://bazarr.sectorq.eu homepage.href: https://bazarr.sectorq.eu
@@ -59,6 +71,7 @@ services:
placement: placement:
constraints: constraints:
- node.role == manager - node.role == manager
flaresolverr: flaresolverr:
environment: environment:
LOG_LEVEL: info LOG_LEVEL: info
@@ -81,6 +94,7 @@ services:
placement: placement:
constraints: constraints:
- node.role == manager - node.role == manager
homarr: homarr:
hostname: homarr hostname: homarr
image: ${DOCKER_REGISTRY:-}ghcr.io/ajnart/homarr:latest image: ${DOCKER_REGISTRY:-}ghcr.io/ajnart/homarr:latest
@@ -105,6 +119,7 @@ services:
placement: placement:
constraints: constraints:
- node.role == manager - node.role == manager
jackett: jackett:
dns: dns:
- 192.168.77.101 - 192.168.77.101
@@ -129,7 +144,7 @@ services:
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
homepage.container: jackett homepage.container: mediacenter_jackett
homepage.description: Subtitles homepage.description: Subtitles
homepage.group: Media homepage.group: Media
homepage.href: https://jackett.sectorq.eu homepage.href: https://jackett.sectorq.eu
@@ -146,15 +161,16 @@ services:
placement: placement:
constraints: constraints:
- node.role == manager - node.role == manager
jellyfin: jellyfin:
environment: environment:
PUID: '1000'
PGID: '1000'
TZ: Europe/Bratislava TZ: Europe/Bratislava
JELLYFIN_PublishedServerUrl: https://jf.sectorq.eu JELLYFIN_PublishedServerUrl: https://jf.sectorq.eu
VAAPI_DEVICE: /dev/dri/renderD128
LIBVA_DRIVER_NAME: radeonsi
hostname: jellyfin hostname: jellyfin
image: ${DOCKER_REGISTRY:-}lscr.io/linuxserver/jellyfin:latest image: ${DOCKER_REGISTRY:-}lscr.io/linuxserver/jellyfin:latest
network_mode: host
ports: ports:
- target: 8096 - target: 8096
published: 8096 published: 8096
@@ -168,19 +184,23 @@ services:
published: 7359 published: 7359
protocol: tcp protocol: tcp
mode: ingress mode: ingress
user: root
volumes: volumes:
- jellyfin_config:/config - jellyfin_config:/config
- /media/m-server/movies:/data/movies/m-server - m-server_movies:/data/movies/m-server
- /media/m-server/music:/data/music/m-server - m-server_music:/data/music/m-server
- /media/m-server/shows:/data/shows/m-server - /media/m-server/shows:/data/shows/m-server
- /media/nas/movies:/data/movies/nas - /media/nas/movies:/data/movies/nas
- /media/nas/music:/data/music/nas - /media/nas/music:/data/music/nas
- /media/nas/shows:/data/shows/nas - /media/nas/shows:/data/shows/nas
- /media/nas/xxx:/data/xxx/nas - /media/nas/xxx:/data/xxx/nas
- /dev/dri:/dev/dri
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
homepage.container: jellyfin homepage.container: mediacenter_jellyfin
homepage.description: Subtitles homepage.description: Subtitles
homepage.group: Media homepage.group: Media
homepage.href: https://jf.sectorq.eu homepage.href: https://jf.sectorq.eu
@@ -197,6 +217,8 @@ services:
placement: placement:
constraints: constraints:
- node.role == manager - node.role == manager
- node.labels.gpu == amd
jellyseerr: jellyseerr:
environment: environment:
LOG_LEVEL: debug LOG_LEVEL: debug
@@ -215,7 +237,7 @@ services:
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enabl: 'true' com.centurylinklabs.watchtower.enabl: 'true'
homepage.container: jellyseerr homepage.container: mediacenter_jellyseerr
homepage.description: Subtitles homepage.description: Subtitles
homepage.group: Media homepage.group: Media
homepage.href: https://js.sectorq.eu homepage.href: https://js.sectorq.eu
@@ -232,6 +254,7 @@ services:
placement: placement:
constraints: constraints:
- node.role == manager - node.role == manager
lidarr: lidarr:
environment: environment:
PUID: '1000' PUID: '1000'
@@ -253,7 +276,7 @@ services:
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
homepage.container: lidarr homepage.container: mediacenter_lidarr
homepage.description: Subtitles homepage.description: Subtitles
homepage.group: Media homepage.group: Media
homepage.href: https://lidarr.sectorq.eu homepage.href: https://lidarr.sectorq.eu
@@ -270,6 +293,7 @@ services:
placement: placement:
constraints: constraints:
- node.role == manager - node.role == manager
qbittorrent: qbittorrent:
environment: environment:
PUID: '1000' PUID: '1000'
@@ -296,7 +320,7 @@ services:
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
homepage.container: qbittorrent homepage.container: mediacenter_qbittorrent
homepage.description: Subtitles homepage.description: Subtitles
homepage.group: Utilities homepage.group: Utilities
homepage.href: https://qbit.sectorq.eu homepage.href: https://qbit.sectorq.eu
@@ -304,7 +328,7 @@ services:
homepage.name: Qbittorrent homepage.name: Qbittorrent
homepage.server: my-docker-swarm homepage.server: my-docker-swarm
homepage.weight: '95' homepage.weight: '95'
homepage.widget.enableLeechProgress: 'true' homepage.widget.enableLeechProgress: 'false'
homepage.widget.password: ${QBIT_TOKEN} homepage.widget.password: ${QBIT_TOKEN}
homepage.widget.type: qbittorrent homepage.widget.type: qbittorrent
homepage.widget.url: https://qbit.sectorq.eu homepage.widget.url: https://qbit.sectorq.eu
@@ -315,6 +339,7 @@ services:
placement: placement:
constraints: constraints:
- node.role == manager - node.role == manager
radarr: radarr:
dns: dns:
- 192.168.77.101 - 192.168.77.101
@@ -339,7 +364,7 @@ services:
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
homepage.container: radarr homepage.container: mediacenter_radarr
homepage.description: Subtitles homepage.description: Subtitles
homepage.group: Media homepage.group: Media
homepage.href: https://radarr.sectorq.eu homepage.href: https://radarr.sectorq.eu
@@ -357,6 +382,7 @@ services:
placement: placement:
constraints: constraints:
- node.role == manager - node.role == manager
sonarr: sonarr:
dns: dns:
- 192.168.77.101 - 192.168.77.101
@@ -381,7 +407,7 @@ services:
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
homepage.container: sonarr homepage.container: mediacenter_sonarr
homepage.description: Subtitles homepage.description: Subtitles
homepage.group: Media homepage.group: Media
homepage.href: https://sonarr.sectorq.eu homepage.href: https://sonarr.sectorq.eu

View File

@@ -1,7 +1,11 @@
services: services:
mosquitto: mosquitto:
image: ${DOCKER_REGISTRY:-}eclipse-mosquitto image: ${DOCKER_REGISTRY:-}eclipse-mosquitto
network_mode: host ports:
- target: 1883
published: 1883
protocol: tcp
mode: host
volumes: volumes:
- conf:/mosquitto/config - conf:/mosquitto/config
- data:/mosquitto/data - data:/mosquitto/data

View File

@@ -1,5 +1,5 @@
services: services:
motioneye: app:
dns: dns:
- 192.168.77.101 - 192.168.77.101
environment: environment:
@@ -16,12 +16,12 @@ services:
mode: ingress mode: ingress
volumes: volumes:
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
- /share/docker_data/motioneye/etc_motioneye:/etc/motioneye - config:/etc/motioneye
- /share/docker_data/motioneye/var_lib_motioneye:/var/lib/motioneye - data:/var/lib/motioneye
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
homepage.container: motioneye homepage.container: motioneye_app
homepage.description: Video manager homepage.description: Video manager
homepage.group: Media homepage.group: Media
homepage.href: http://m-server.home.lan:8765/ homepage.href: http://m-server.home.lan:8765/
@@ -35,3 +35,6 @@ services:
placement: placement:
constraints: constraints:
- node.role == manager - node.role == manager
volumes:
config:
data:

View File

@@ -1,6 +1,6 @@
version: '3' version: '3'
services: services:
n8n: app:
image: ${DOCKER_REGISTRY:-}n8nio/n8n:latest image: ${DOCKER_REGISTRY:-}n8nio/n8n:latest
ports: ports:
- target: 5678 - target: 5678
@@ -20,11 +20,11 @@ services:
N8N_SECURE_COOKIE: 'false' N8N_SECURE_COOKIE: 'false'
WEBHOOK_URL: https://n8n.sectorq.eu WEBHOOK_URL: https://n8n.sectorq.eu
volumes: volumes:
- n8n-data:/home/node/.n8n - data:/home/node/.n8n
stop_grace_period: 60s stop_grace_period: 60s
deploy: deploy:
labels: labels:
homepage.container: n8n homepage.container: n8n_app
homepage.description: Workflow management homepage.description: Workflow management
homepage.group: Utils homepage.group: Utils
homepage.href: https://${APPNAME}.sectorq.eu homepage.href: https://${APPNAME}.sectorq.eu
@@ -38,5 +38,5 @@ services:
constraints: constraints:
- node.role == manager - node.role == manager
volumes: volumes:
n8n-data: data:
driver: local driver: local

View File

@@ -0,0 +1,15 @@
services:
nebula-sync:
image: ghcr.io/lovelaze/nebula-sync:latest
environment:
PRIMARY: http://192.168.77.101:9380|l4c1j4yd33Du5lo
REPLICAS: http://192.168.77.106:9380|l4c1j4yd33Du5lo
CLIENT_SKIP_TLS_VERIFICATION: 'true'
FULL_SYNC: 'true'
RUN_GRAVITY: 'true'
CRON: 0 * * * *
deploy:
replicas: 1
placement:
constraints:
- node.role == manager

View File

@@ -1,2 +1,3 @@
APPNAME=nextcloud APPNAME=nextcloud
#RESTART=always #RESTART=always
DOCKER_REGISTRY=r.sectorq.eu/library/

View File

@@ -1,23 +1,12 @@
networks:
nextcloud_network:
ipam:
config:
- subnet: 192.168.80.0/28
driver: default
pihole_pihole:
external: true
services: services:
app: app:
dns: dns:
- 192.168.78.254 - 192.168.77.101
env_file: env_file:
- stack.env - stack.env
image: ${DOCKER_REGISTRY:-}nextcloud:latest image: ${DOCKER_REGISTRY:-}nextcloud:latest
links: links:
- db - db
networks:
- nextcloud_network
- pihole_pihole
ports: ports:
- target: 80 - target: 80
published: 8134 published: 8134
@@ -35,7 +24,7 @@ services:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
com.centurylinklabs.watchtower.lifecycle.post-update: apt update;apt install com.centurylinklabs.watchtower.lifecycle.post-update: apt update;apt install
-y smbclient;chown -R www-data:www-data /var/www/html -y smbclient;chown -R www-data:www-data /var/www/html
homepage.container: nextcloud-app-1 homepage.container: nextcloud_app
homepage.description: Cloud server homepage.description: Cloud server
homepage.group: Infrastructure homepage.group: Infrastructure
homepage.href: https://nc.sectorq.eu homepage.href: https://nc.sectorq.eu
@@ -58,8 +47,6 @@ services:
env_file: env_file:
- stack.env - stack.env
image: ${DOCKER_REGISTRY:-}yobasystems/alpine-mariadb:latest image: ${DOCKER_REGISTRY:-}yobasystems/alpine-mariadb:latest
networks:
- nextcloud_network
volumes: volumes:
- mariadb:/var/lib/mysql - mariadb:/var/lib/mysql
- /etc/localtime:/etc/localtime - /etc/localtime:/etc/localtime
@@ -74,8 +61,6 @@ services:
- node.role == manager - node.role == manager
redis: redis:
image: ${DOCKER_REGISTRY:-}redis:alpine image: ${DOCKER_REGISTRY:-}redis:alpine
networks:
- nextcloud_network
volumes: volumes:
- redis:/data - redis:/data
deploy: deploy:
@@ -104,8 +89,6 @@ services:
protocol: tcp protocol: tcp
mode: ingress mode: ingress
image: ${DOCKER_REGISTRY:-}ghcr.io/nextcloud/nextcloud-appapi-harp:release image: ${DOCKER_REGISTRY:-}ghcr.io/nextcloud/nextcloud-appapi-harp:release
networks:
- nextcloud_network
deploy: deploy:
labels: labels:
wud.watch: 'true' wud.watch: 'true'

View File

@@ -1,14 +1,10 @@
networks:
node-red-net: null
services: services:
node-red: app:
dns: dns:
- 192.168.77.101 - 192.168.77.101
environment: environment:
TZ: Europe/Bratislava TZ: Europe/Bratislava
image: ${DOCKER_REGISTRY:-}nodered/node-red:latest image: ${DOCKER_REGISTRY:-}nodered/node-red:latest
networks:
- node-red-net
ports: ports:
- target: 1880 - target: 1880
published: 1880 published: 1880
@@ -21,7 +17,7 @@ services:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
wud.watch: 'true' wud.watch: 'true'
wud.watch.digest: 'true' wud.watch.digest: 'true'
homepage.container: node-red-node-red-1 homepage.container: node-red_app
homepage.description: Node red homepage.description: Node red
homepage.group: Infrastructure homepage.group: Infrastructure
homepage.href: http://active.home.lan:1880 homepage.href: http://active.home.lan:1880

View File

@@ -1,11 +1,11 @@
services: services:
ollama: app:
image: ${DOCKER_REGISTRY:-}ollama/ollama:rocm image: ${DOCKER_REGISTRY:-}ollama/ollama:rocm
devices: devices:
- /dev/kfd - /dev/kfd
- /dev/dri - /dev/dri
volumes: volumes:
- ollama_models:/root/.ollama - models:/root/.ollama
environment: environment:
HSA_OVERRIDE_GFX_VERSION: 11.0.0 HSA_OVERRIDE_GFX_VERSION: 11.0.0
ports: ports:
@@ -21,4 +21,4 @@ services:
constraints: constraints:
- node.role == manager - node.role == manager
volumes: volumes:
ollama_models: models:

View File

@@ -1,11 +1,11 @@
services: services:
onlyoffice-documentserver: server:
build: build:
context: . context: .
image: onlyoffice/documentserver image: onlyoffice/documentserver
environment: environment:
DB_TYPE: postgres DB_TYPE: postgres
DB_HOST: onlyoffice-postgresql DB_HOST: postgresql
DB_PORT: '5432' DB_PORT: '5432'
DB_NAME: onlyoffice DB_NAME: onlyoffice
DB_USER: onlyoffice DB_USER: onlyoffice
@@ -42,10 +42,10 @@ services:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
wud.watch: 'true' wud.watch: 'true'
wud.watch.digest: 'true' wud.watch.digest: 'true'
homepage.container: onlyoffice-documentserver homepage.container: onlyoffice_server
homepage.description: OnlyOffice Document Server homepage.description: OnlyOffice Document Server
homepage.group: Infrastructure homepage.group: Infrastructure
homepage.href: http://active.home.lan:8280/example homepage.href: http://active.home.lan:8280/example/
homepage.icon: onlyoffice.png homepage.icon: onlyoffice.png
homepage.name: OnlyOffice Document Server homepage.name: OnlyOffice Document Server
homepage.server: my-docker-swarm homepage.server: my-docker-swarm
@@ -71,7 +71,7 @@ services:
placement: placement:
constraints: constraints:
- node.role == manager - node.role == manager
onlyoffice-postgresql: postgresql:
image: postgres:15 image: postgres:15
environment: environment:
POSTGRES_DB: onlyoffice POSTGRES_DB: onlyoffice
@@ -80,7 +80,7 @@ services:
expose: expose:
- '5432' - '5432'
volumes: volumes:
- postgresql_data:/var/lib/postgresql - db:/var/lib/postgresql
healthcheck: healthcheck:
test: test:
- CMD-SHELL - CMD-SHELL
@@ -95,7 +95,7 @@ services:
constraints: constraints:
- node.role == manager - node.role == manager
volumes: volumes:
postgresql_data: db:
data: data:
logs: logs:
cache: cache:

View File

@@ -1,7 +1,7 @@
volumes: volumes:
pihole_etc_pihole: data:
driver: local driver: local
pihole_etc_dnsmasq_d: dnsmasq_d:
driver: local driver: local
networks: networks:
@@ -12,7 +12,7 @@ networks:
config: config:
- subnet: 192.168.78.0/24 - subnet: 192.168.78.0/24
services: services:
pihole: app:
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
- SYS_TIME - SYS_TIME
@@ -41,12 +41,16 @@ services:
protocol: tcp protocol: tcp
mode: ingress mode: ingress
volumes: volumes:
- pihole_etc_pihole:/etc/pihole - data:/etc/pihole
- pihole_etc_dnsmasq_d:/etc/dnsmasq.d - dnsmasq_d:/etc/dnsmasq.d
- type: tmpfs
target: /dev/shm
tmpfs:
size: 248000000
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
homepage.container: pihole homepage.container: pihole_app
homepage.description: Add blocker homepage.description: Add blocker
homepage.group: Infrastructure homepage.group: Infrastructure
homepage.href: https://active.home.lan:9343/admin homepage.href: https://active.home.lan:9343/admin

View File

@@ -11,7 +11,6 @@ services:
published: 7443 published: 7443
protocol: tcp protocol: tcp
mode: ingress mode: ingress
privileged: true
volumes: volumes:
- data:/var/lib/rancher - data:/var/lib/rancher
cap_add: cap_add:

View File

@@ -21,3 +21,4 @@ services:
volumes: volumes:
- /share/docker_data/registry/auth:/auth - /share/docker_data/registry/auth:/auth
- /share/docker_registry/data:/var/lib/registry - /share/docker_registry/data:/var/lib/registry
- /share/docker_data/registry/config:/etc/docker/registry/

View File

@@ -1,5 +1,5 @@
services: services:
registry: app:
environment: environment:
REGISTRY_STORAGE_DELETE_ENABLED: 'true' REGISTRY_STORAGE_DELETE_ENABLED: 'true'
REGISTRY_AUTH: htpasswd REGISTRY_AUTH: htpasswd
@@ -10,6 +10,12 @@ services:
driver: loki driver: loki
options: options:
loki-url: http://192.168.77.101:3100/loki/api/v1/push loki-url: http://192.168.77.101:3100/loki/api/v1/push
loki-relabel-config: |
- action: labelmap
regex: swarm_stack
replacement: namespace
- action: labelmap
regex: swarm_(service)
ports: ports:
- target: 5000 - target: 5000
published: 5000 published: 5000
@@ -17,15 +23,18 @@ services:
mode: ingress mode: ingress
volumes: volumes:
- auth:/auth - auth:/auth
- data:/var/lib/registry - /share/docker_registry/data:/var/lib/registry
- config:/etc/docker/registry/
deploy: deploy:
labels: labels:
wud.watch: 'false' wud.watch: 'false'
wud.watch.digest: 'false' wud.watch.digest: 'false'
service_name: 'registry'
replicas: 1 replicas: 1
placement: restart_policy:
constraints: condition: any
- node.role == manager
volumes: volumes:
auth: auth:
data: config:

View File

@@ -1,8 +1,8 @@
volumes: volumes:
regsync: config:
driver: local driver: local
services: services:
regsync: app:
command: -c /home/appuser/regsync.yml server command: -c /home/appuser/regsync.yml server
env_file: env_file:
- stack.env - stack.env
@@ -11,15 +11,23 @@ services:
driver: loki driver: loki
options: options:
loki-url: http://192.168.77.101:3100/loki/api/v1/push loki-url: http://192.168.77.101:3100/loki/api/v1/push
network_mode: host loki-relabel-config: |
- action: labelmap
regex: swarm_stack
replacement: namespace
- action: labelmap
regex: swarm_(service)
stdin_open: true stdin_open: true
volumes: volumes:
- regsync:/home/appuser/ - config:/home/appuser/
- /etc/localtime:/etc/localtime - /etc/localtime:/etc/localtime
# labels:
# service_name: 'regsync'
deploy: deploy:
labels: labels:
wud.watch: 'true' wud.watch: 'true'
wud.watch.digest: 'true' wud.watch.digest: 'true'
service_name: 'regsync'
replicas: 1 replicas: 1
placement: placement:
constraints: constraints:

View File

@@ -4,3 +4,5 @@ HUB_USER=sectorq
HUB_PASS=dckr_pat_7XN8zNgj8JRPq1mlS5IvMcxJDUA HUB_PASS=dckr_pat_7XN8zNgj8JRPq1mlS5IvMcxJDUA
LOCAL_USER=jaydee LOCAL_USER=jaydee
LOCAL_PASS=l4c1j4yd33Du5lo LOCAL_PASS=l4c1j4yd33Du5lo
APPNAME=regsync
DOCKER_REGISTRY=r.sectorq.eu/library/

View File

@@ -10,7 +10,7 @@ services:
SEMAPHORE_ADMIN: administrator SEMAPHORE_ADMIN: administrator
SEMAPHORE_ADMIN_EMAIL: administrator@sectorq.eu SEMAPHORE_ADMIN_EMAIL: administrator@sectorq.eu
SEMAPHORE_ADMIN_NAME: administrator SEMAPHORE_ADMIN_NAME: administrator
SEMAPHORE_ADMIN_PASSWORD: $SEMAPHORE_ADMIN_PASSWORD SEMAPHORE_ADMIN_PASSWORD: administrator
SEMAPHORE_DB: semaphore_db SEMAPHORE_DB: semaphore_db
SEMAPHORE_DB_HOST: db SEMAPHORE_DB_HOST: db
SEMAPHORE_DB_PASS: StrongPassw0rd SEMAPHORE_DB_PASS: StrongPassw0rd
@@ -21,7 +21,7 @@ services:
SEMAPHORE_LDAP_DN_SEARCH: dc=sectorq,dc=eu SEMAPHORE_LDAP_DN_SEARCH: dc=sectorq,dc=eu
SEMAPHORE_LDAP_HOST: 192.168.77.101 SEMAPHORE_LDAP_HOST: 192.168.77.101
SEMAPHORE_LDAP_NEEDTLS: 'no' SEMAPHORE_LDAP_NEEDTLS: 'no'
SEMAPHORE_LDAP_PASSWORD: $LDAP_ADMIN_PASSWORD SEMAPHORE_LDAP_PASSWORD: administrator
SEMAPHORE_LDAP_PORT: '2389' SEMAPHORE_LDAP_PORT: '2389'
SEMAPHORE_LDAP_SEARCH_FILTER: (&(objectClass=inetOrgPerson)(uid=%s)) SEMAPHORE_LDAP_SEARCH_FILTER: (&(objectClass=inetOrgPerson)(uid=%s))
SEMAPHORE_PLAYBOOK_PATH: /tmp/semaphore/ SEMAPHORE_PLAYBOOK_PATH: /tmp/semaphore/

View File

@@ -3,12 +3,14 @@ services:
dns: dns:
- 192.168.77.101 - 192.168.77.101
- 192.168.77.1 - 192.168.77.1
secrets:
- semaphore_admin_password
environment: environment:
SEMAPHORE_ACCESS_KEY_ENCRYPTION: MflCLIUF5bn6Lgkuwy4BoAdIFhoZ4Ief2oocXmuZSjs= SEMAPHORE_ACCESS_KEY_ENCRYPTION: MflCLIUF5bn6Lgkuwy4BoAdIFhoZ4Ief2oocXmuZSjs=
SEMAPHORE_ADMIN: administrator SEMAPHORE_ADMIN: admin
SEMAPHORE_ADMIN_EMAIL: administrator@sectorq.eu SEMAPHORE_ADMIN_EMAIL: jaydee@sectorq.eu
SEMAPHORE_ADMIN_NAME: administrator SEMAPHORE_ADMIN_NAME: admin
SEMAPHORE_ADMIN_PASSWORD: $SEMAPHORE_ADMIN_PASSWORD SEMAPHORE_ADMIN_PASSWORD_FILE: /run/secrets/semaphore_admin_password
SEMAPHORE_DB: semaphore_db SEMAPHORE_DB: semaphore_db
SEMAPHORE_DB_HOST: db SEMAPHORE_DB_HOST: db
SEMAPHORE_DB_PASS: StrongPassw0rd SEMAPHORE_DB_PASS: StrongPassw0rd
@@ -19,7 +21,7 @@ services:
SEMAPHORE_LDAP_DN_SEARCH: dc=sectorq,dc=eu SEMAPHORE_LDAP_DN_SEARCH: dc=sectorq,dc=eu
SEMAPHORE_LDAP_HOST: 192.168.77.101 SEMAPHORE_LDAP_HOST: 192.168.77.101
SEMAPHORE_LDAP_NEEDTLS: 'no' SEMAPHORE_LDAP_NEEDTLS: 'no'
SEMAPHORE_LDAP_PASSWORD: $LDAP_ADMIN_PASSWORD SEMAPHORE_LDAP_PASSWORD: administrator
SEMAPHORE_LDAP_PORT: '2389' SEMAPHORE_LDAP_PORT: '2389'
SEMAPHORE_LDAP_SEARCH_FILTER: (&(objectClass=inetOrgPerson)(uid=%s)) SEMAPHORE_LDAP_SEARCH_FILTER: (&(objectClass=inetOrgPerson)(uid=%s))
SEMAPHORE_PLAYBOOK_PATH: /tmp/semaphore/ SEMAPHORE_PLAYBOOK_PATH: /tmp/semaphore/
@@ -39,9 +41,6 @@ services:
wud.watch: 'true' wud.watch: 'true'
wud.watch.digest: 'true' wud.watch.digest: 'true'
replicas: 1 replicas: 1
placement:
constraints:
- node.role == manager
db: db:
environment: environment:
MYSQL_DATABASE: semaphore_db MYSQL_DATABASE: semaphore_db
@@ -56,9 +55,9 @@ services:
wud.watch: 'true' wud.watch: 'true'
wud.watch.digest: 'true' wud.watch.digest: 'true'
replicas: 1 replicas: 1
placement:
constraints:
- node.role == manager
volumes: volumes:
data: data:
db: db:
secrets:
semaphore_admin_password:
external: true

View File

@@ -15,8 +15,7 @@ services:
wud.watch: 'true' wud.watch: 'true'
wud.watch.digest: 'true' wud.watch.digest: 'true'
replicas: 1 replicas: 1
placement: restart_policy:
constraints: condition: any
- node.role == manager
volumes: volumes:
data: data:

View File

@@ -16,7 +16,7 @@ WUD_AUTH_OIDC_AUTHENTIK_TIMEOUT=2000
# BASIC # BASIC
WUD_AUTH_BASIC_JAYDEE_USER=homepage WUD_AUTH_BASIC_JAYDEE_USER=homepage
WUD_AUTH_BASIC_JAYDEE_HASH=$$apr1$$pGMz1QxU$$y6XuTscvGcYgas15JWlfg/ WUD_AUTH_BASIC_JAYDEE_HASH=$apr1$OZNN/65l$cQp3tMfyQdftPIgje.uDZ1
# GOTIFY # GOTIFY
WUD_TRIGGER_GOTIFY_EXTERNAL_PRIORITY=0 WUD_TRIGGER_GOTIFY_EXTERNAL_PRIORITY=0
WUD_TRIGGER_GOTIFY_EXTERNAL_TOKEN="AFxvpm1JpPSsmkf" WUD_TRIGGER_GOTIFY_EXTERNAL_TOKEN="AFxvpm1JpPSsmkf"
@@ -47,14 +47,14 @@ WUD_LOG_LEVEL=debug
# text json # text json
WUD_LOG_FORMAT=text WUD_LOG_FORMAT=text
WUD_WATCHER_EXTDOCKER_HOST=193.168.144.164 # WUD_WATCHER_EXTDOCKER_HOST=193.168.144.164
WUD_WATCHER_EXTDOCKER_PORT=2376 # WUD_WATCHER_EXTDOCKER_PORT=2376
WUD_WATCHER_EXTDOCKER_CERTFILE=/certs/ext/cert.pem # WUD_WATCHER_EXTDOCKER_CERTFILE=/certs/ext/cert.pem
WUD_WATCHER_EXTDOCKER_CAFILE=/certs/ext/ca.pem # WUD_WATCHER_EXTDOCKER_CAFILE=/certs/ext/ca.pem
WUD_WATCHER_EXTDOCKER_KEYFILE=/certs/ext/key.pem # WUD_WATCHER_EXTDOCKER_KEYFILE=/certs/ext/key.pem
WUD_WATCHER_EXTDOCKER_CRON=0 * * * * # WUD_WATCHER_EXTDOCKER_CRON=0 * * * *
WUD_WATCHER_EXTDOCKER_WATCHALL=true # WUD_WATCHER_EXTDOCKER_WATCHALL=true
WUD_WATCHER_EXTDOCKER_WATCHBYDEFAULT=true # WUD_WATCHER_EXTDOCKER_WATCHBYDEFAULT=true
WUD_WATCHER_MSERVER_HOST=192.168.77.101 WUD_WATCHER_MSERVER_HOST=192.168.77.101
WUD_WATCHER_MSERVER_PORT=2376 WUD_WATCHER_MSERVER_PORT=2376
@@ -65,14 +65,23 @@ WUD_WATCHER_MSERVER_CRON=0 * * * *
WUD_WATCHER_MSERVER_WATCHALL=true WUD_WATCHER_MSERVER_WATCHALL=true
WUD_WATCHER_MSERVER_WATCHBYDEFAULT=false WUD_WATCHER_MSERVER_WATCHBYDEFAULT=false
WUD_WATCHER_RPI5_HOST=192.168.77.238 WUD_WATCHER_MS_HOST=192.168.77.101
WUD_WATCHER_RPI5_PORT=2376 WUD_WATCHER_MS_PORT=2376
WUD_WATCHER_RPI5_CERTFILE=/certs/rpi5/cert.pem WUD_WATCHER_MS_CERTFILE=/certs/m-server/cert.pem
WUD_WATCHER_RPI5_CAFILE=/certs/rpi5/ca.pem WUD_WATCHER_MS_CAFILE=/certs/m-server/ca.pem
WUD_WATCHER_RPI5_KEYFILE=/certs/rpi5/key.pem WUD_WATCHER_MS_KEYFILE=/certs/m-server/key.pem
WUD_WATCHER_RPI5_CRON=0 * * * * WUD_WATCHER_MS_CRON=0 * * * *
WUD_WATCHER_RPI5_WATCHALL=true WUD_WATCHER_MS_WATCHALL=true
WUD_WATCHER_RPI5_WATCHBYDEFAULT=true WUD_WATCHER_MS_WATCHBYDEFAULT=true
# WUD_WATCHER_RPI5_HOST=192.168.77.238
# WUD_WATCHER_RPI5_PORT=2376
# WUD_WATCHER_RPI5_CERTFILE=/certs/rpi5/cert.pem
# WUD_WATCHER_RPI5_CAFILE=/certs/rpi5/ca.pem
# WUD_WATCHER_RPI5_KEYFILE=/certs/rpi5/key.pem
# WUD_WATCHER_RPI5_CRON=0 * * * *
# WUD_WATCHER_RPI5_WATCHALL=true
# WUD_WATCHER_RPI5_WATCHBYDEFAULT=true
WUD_WATCHER_NAS_HOST=192.168.77.106 WUD_WATCHER_NAS_HOST=192.168.77.106
WUD_WATCHER_NAS_PORT=2376 WUD_WATCHER_NAS_PORT=2376
@@ -83,13 +92,13 @@ WUD_WATCHER_NAS_CRON=0 * * * *
WUD_WATCHER_NAS_WATCHALL=true WUD_WATCHER_NAS_WATCHALL=true
WUD_WATCHER_NAS_WATCHBYDEFAULT=true WUD_WATCHER_NAS_WATCHBYDEFAULT=true
WUD_WATCHER_RACK_HOST=192.168.77.55 # WUD_WATCHER_RACK_HOST=192.168.77.55
WUD_WATCHER_RACK_PORT=2376 # WUD_WATCHER_RACK_PORT=2376
WUD_WATCHER_RACK_CERTFILE=/certs/rack/cert.pem # WUD_WATCHER_RACK_CERTFILE=/certs/rack/cert.pem
WUD_WATCHER_RACK_CAFILE=/certs/rack/ca.pem # WUD_WATCHER_RACK_CAFILE=/certs/rack/ca.pem
WUD_WATCHER_RACK_KEYFILE=/certs/rack/key.pem # WUD_WATCHER_RACK_KEYFILE=/certs/rack/key.pem
WUD_WATCHER_RACK_CRON=0 * * * * # WUD_WATCHER_RACK_CRON=0 * * * *
WUD_WATCHER_RACK_WATCHALL=true # WUD_WATCHER_RACK_WATCHALL=true
WUD_WATCHER_RACK_WATCHBYDEFAULT=true # WUD_WATCHER_RACK_WATCHBYDEFAULT=true
WUD_SERVER_CORS_ENABLED=true WUD_SERVER_CORS_ENABLED=true

View File

@@ -1,5 +1,5 @@
services: services:
whatsupdocker: app:
env_file: env_file:
- stack.env - stack.env
image: ${DOCKER_REGISTRY:-}getwud/wud image: ${DOCKER_REGISTRY:-}getwud/wud
@@ -19,7 +19,7 @@ services:
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
homepage.container: wud homepage.container: wud_app
homepage.description: Docker container management homepage.description: Docker container management
homepage.group: Infrastructure homepage.group: Infrastructure
homepage.href: https://wud.sectorq.eu homepage.href: https://wud.sectorq.eu
@@ -34,9 +34,8 @@ services:
wud.watch: 'true' wud.watch: 'true'
wud.watch.digest: 'true' wud.watch.digest: 'true'
replicas: 1 replicas: 1
placement: restart_policy:
constraints: condition: any
- node.role == manager
volumes: volumes:
data: data:
certs: certs:

View File

@@ -1,2 +1,3 @@
APPNAME=zabbix APPNAME=zabbix
#RESTART=always #RESTART=always
DOCKER_REGISTRY=r.sectorq.eu/library/

View File

@@ -0,0 +1,5 @@
FROM zabbix/zabbix-server-pgsql:alpine-latest
USER root
RUN apk add --no-cache curl
USER zabbix

View File

@@ -48,7 +48,11 @@ services:
extends: extends:
file: logging.yml file: logging.yml
service: ${LOGGING:-syslog} service: ${LOGGING:-syslog}
image: ${DOCKER_REGISTRY:-}zabbix/zabbix-server-pgsql:alpine-latest #image: ${DOCKER_REGISTRY:-}zabbix/zabbix-server-pgsql:alpine-latest
build:
context: .
dockerfile: Dockerfile
image: zabbix-server-custom:latest
volumes: volumes:
- /share/docker_data/zabbix-server/server/alertscripts:/usr/lib/zabbix/alertscripts - /share/docker_data/zabbix-server/server/alertscripts:/usr/lib/zabbix/alertscripts
labels: labels:

View File

@@ -1,6 +1,6 @@
# Zabbix global # Zabbix global
# ZBX_DEBUGLEVEL=3 # ZBX_DEBUGLEVEL=3
DOCKER_REGISTRY=r.sectorq.eu/library/
# Database # Database
MYSQL_PASSWORD=zabbix MYSQL_PASSWORD=zabbix
MYSQL_USER=zabbix MYSQL_USER=zabbix

View File

@@ -1,11 +1,10 @@
networks: networks:
zabbix: zabbix:
driver: overlay driver: overlay
attachable: true
ipam: ipam:
config: config:
- subnet: 192.168.82.0/24 - subnet: 192.168.89.0/28
driver: default
services: services:
db-server: db-server:
env_file: env_file:
@@ -13,13 +12,14 @@ services:
image: ${DOCKER_REGISTRY:-}postgres:16-alpine image: ${DOCKER_REGISTRY:-}postgres:16-alpine
networks: networks:
zabbix: zabbix:
ipv4_address: 192.168.89.4
ports: ports:
- target: 5432 - target: 5432
published: 5432 published: 5432
protocol: tcp protocol: tcp
mode: ingress mode: ingress
volumes: volumes:
- postgres-data:/var/lib/postgresql/data - db:/var/lib/postgresql/data
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
@@ -33,6 +33,7 @@ services:
image: ${DOCKER_REGISTRY:-}zabbix/zabbix-web-nginx-pgsql:alpine-latest image: ${DOCKER_REGISTRY:-}zabbix/zabbix-web-nginx-pgsql:alpine-latest
networks: networks:
zabbix: zabbix:
ipv4_address: 192.168.89.3
ports: ports:
- target: 8080 - target: 8080
published: 8051 published: 8051
@@ -56,11 +57,13 @@ services:
zabbix-server: zabbix-server:
env_file: env_file:
- stack.env - stack.env
image: ${DOCKER_REGISTRY:-}zabbix/zabbix-server-pgsql:alpine-latest #image: ${DOCKER_REGISTRY:-}zabbix/zabbix-server-pgsql:alpine-latest
image: r.sectorq.eu/jaydee/zabbix-server-pgsql:latest
volumes: volumes:
- alertscripts:/usr/lib/zabbix/alertscripts - alertscripts:/usr/lib/zabbix/alertscripts
networks: networks:
zabbix: zabbix:
ipv4_address: 192.168.89.2
ports: ports:
- target: 10051 - target: 10051
published: 10051 published: 10051
@@ -69,7 +72,7 @@ services:
deploy: deploy:
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
homepage.container: zabbix-server-zabbix-server-1 homepage.container: zabbix-server_zabbix-server
homepage.description: Monitoring server homepage.description: Monitoring server
homepage.group: Utilities homepage.group: Utilities
homepage.href: https://${APPNAME}.sectorq.eu homepage.href: https://${APPNAME}.sectorq.eu
@@ -105,26 +108,26 @@ services:
placement: placement:
constraints: constraints:
- node.role == manager - node.role == manager
postinstall: # postinstall:
image: debian:12-slim # image: debian:12-slim
environment: # environment:
PUID: '0' # PUID: '0'
PGID: '0' # PGID: '0'
volumes: # volumes:
- /usr/bin:/usr/bin # - /usr/bin:/usr/bin
- /usr/lib:/usr/lib # - /usr/lib:/usr/lib
- /var/run/docker.sock:/var/run/docker.sock # - /var/run/docker.sock:/var/run/docker.sock
- scripts:/scripts # - scripts:/scripts
entrypoint: # entrypoint:
- /bin/sh # - /bin/sh
- /scripts/install-curl.sh # - /scripts/install-curl.sh
deploy: # deploy:
replicas: 1 # replicas: 1
placement: # placement:
constraints: # constraints:
- node.role == manager # - node.role == manager
volumes: volumes:
scripts: db:
certs: certs:
alertscripts: alertscripts:
postgres-data: scripts:

View File

@@ -33,6 +33,17 @@ services:
TZ: Europe/Bratislava TZ: Europe/Bratislava
hostname: m-server hostname: m-server
image: pihole/pihole:latest image: pihole/pihole:latest
shm_size: '256mb'
logging:
driver: loki
options:
loki-url: http://192.168.77.101:3100/loki/api/v1/push
loki-relabel-config: |
- action: labelmap
regex: swarm_stack
replacement: namespace
- action: labelmap
regex: swarm_(service)
labels: labels:
com.centurylinklabs.watchtower.enable: 'true' com.centurylinklabs.watchtower.enable: 'true'
homepage.container: pihole homepage.container: pihole
@@ -53,10 +64,15 @@ services:
pihole: pihole:
ipv4_address: 192.168.78.254 ipv4_address: 192.168.78.254
ports: ports:
- '53:53' - '53:53/udp'
- '9380:80' - '9380:80'
- '9343:443' - '9343:443'
restart: always restart: always
volumes: volumes:
- /share/docker_data/pihole/etc-pihole:/etc/pihole - data:/etc/pihole
- /share/docker_data/pihole/etc-dnsmasq.d:/etc/dnsmasq.d - dnsmasq_d:/etc/dnsmasq.d
volumes:
data:
driver: local
dnsmasq_d:
driver: local

View File

@@ -12,4 +12,6 @@ services:
privileged: true privileged: true
restart: ${RESTART:-unless-stopped} restart: ${RESTART:-unless-stopped}
volumes: volumes:
- /share/docker_data/rancher:/var/lib/rancher - data:/var/lib/rancher
volumes:
data:

View File

@@ -21,3 +21,4 @@ services:
volumes: volumes:
- /share/docker_data/registry/auth:/auth - /share/docker_data/registry/auth:/auth
- /share/docker_registry/data:/var/lib/registry - /share/docker_registry/data:/var/lib/registry
- /share/docker_data/registry/config:/etc/docker/registry/

View File

@@ -1,5 +1,5 @@
volumes: volumes:
regsync-data: data:
driver: local driver: local
services: services:
regsync: regsync:
@@ -18,5 +18,5 @@ services:
restart: ${RESTART:-unless-stopped} restart: ${RESTART:-unless-stopped}
stdin_open: true stdin_open: true
volumes: volumes:
- regsync-data:/home/appuser/ - data:/home/appuser/
- /etc/localtime:/etc/localtime - /etc/localtime:/etc/localtime