Compare commits

...

10 Commits

Author SHA1 Message Date
2a5aab7eac nextcloud nginx conf update 2026-02-21 10:54:46 +01:00
eneller
72906a2de4 remove joplin 2026-01-26 21:06:04 +01:00
eneller
e9b85a9ace fix: act_runner .env 2026-01-26 21:06:04 +01:00
eneller
b7f62395f2 renovate (dependabot) 2026-01-26 21:06:04 +01:00
eneller
1b2d940d7a act_runner restart 2026-01-26 21:06:04 +01:00
eneller
bec485b0f9 fix: gatus teamspeak check 2026-01-26 21:06:04 +01:00
eneller
2977692275 gatus status page 2026-01-26 21:06:04 +01:00
86641f1bee nextcloud redis 2026-01-26 20:56:51 +01:00
b6359d4683 update gitea, nextcloud 2025-11-02 15:56:15 +01:00
eneller
fdf9effb9f gatus status page 2025-10-07 12:22:49 +00:00
11 changed files with 101 additions and 47 deletions

View File

@@ -4,8 +4,10 @@ services:
ports: ports:
- 50000:8080 - 50000:8080
volumes: volumes:
- type: bind - ./config:/config
source: './config.yaml' - ./data:/data
target: /config/config.yaml environment:
- GATUS_CONFIG_PATH=/config
container_name: gatus container_name: gatus
image: twinproduction/gatus image: twinproduction/gatus
restart: always

5
gatus/config/global.yaml Normal file
View File

@@ -0,0 +1,5 @@
metrics: false
ui:
title: Health Dashboard | neller.org
header: neller.org
logo: ""

39
gatus/config/neller.yaml Normal file
View File

@@ -0,0 +1,39 @@
storage:
type: sqlite
path: /data/data.db
endpoints:
- name: Vault
url: https://vault.neller.org
interval: 5m
conditions:
- "[STATUS] == 200"
- name: Cloud
url: https://cloud.neller.org
interval: 5m
conditions:
- "[STATUS] == 200"
- name: Git
url: https://git.neller.org
interval: 5m
conditions:
- "[STATUS] == 200"
- name: vb
url: https://vb.neller.org
interval: 5m
conditions:
- "[STATUS] == 200"
- name: epub2go
url: https://epub2go.neller.org
interval: 5m
conditions:
- "[STATUS] == 200"
- name: TeamSpeak3
url: tcp://ts.neller.org:30033
interval: 5m
conditions:
- "[CONNECTED] == true"
- name: Domain
url: tcp://neller.org
interval: 24h
conditions:
- "[DOMAIN_EXPIRATION] > 720h"

View File

@@ -1,4 +1,4 @@
#CONFIG_FILE=/config.yaml #CONFIG_FILE=/config.yaml
GITEA_INSTANCE_URL=git.example.org GITEA_INSTANCE_URL=https://git.example.org
GITEA_RUNNER_REGISTRATION_TOKEN=abc GITEA_RUNNER_REGISTRATION_TOKEN=abc
GITEA_RUNNER_NAME=runner1 GITEA_RUNNER_NAME=runner1

View File

@@ -2,9 +2,10 @@
services: services:
runner: runner:
image: gitea/act_runner:latest image: gitea/act_runner:latest
restart: always
env_file: env_file:
- .env - .env
#volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock # needed to create a separate docker container for each job
#- ./config.yaml:/config.yaml #- ./config.yaml:/config.yaml
#- ./data:/data #- ./data:/data
#- /var/run/docker.sock:/var/run/docker.sock # needed to create a separate docker container for each job

View File

@@ -1,6 +1,6 @@
services: services:
gitea: gitea:
image: docker.gitea.com/gitea:1.24.6 image: docker.gitea.com/gitea:1.25
restart: always restart: always
env_file: env_file:
- .env - .env

View File

@@ -1,29 +0,0 @@
services:
db:
image: postgres:14
container_name: postgres
# ports:
# - 5433:5432
restart: unless-stopped
volumes:
- ./postgres:/var/lib/postgresql/data # Make database files persistent. Otherwise data is lost when the container is destroyed.
environment:
- APP_PORT=22300 # port joplin-server is reachable at
- POSTGRES_PASSWORD=mypassword123 # database password
- POSTGRES_USER=admin # database user
- POSTGRES_DB=joplin # database name
app:
image: joplin/server:latest
depends_on:
- db
ports:
- "50002:22300" # Expose internal port to LAN
restart: unless-stopped
environment:
- APP_BASE_URL=https://joplin.example.org
- DB_CLIENT=pg
- POSTGRES_PASSWORD=mypassword123
- POSTGRES_DATABASE=joplin
- POSTGRES_USER=admin
- POSTGRES_PORT=5432
- POSTGRES_HOST=db

View File

@@ -10,7 +10,7 @@ services:
- .env - .env
app: app:
image: nextcloud:31 image: nextcloud:32
restart: always restart: always
ports: ports:
- 50000:80 - 50000:80
@@ -20,3 +20,8 @@ services:
- ./nextcloud:/var/www/html - ./nextcloud:/var/www/html
env_file: env_file:
- .env - .env
environment:
- REDIS_HOST=redis
redis:
image: redis
restart: always

View File

@@ -1,5 +1,5 @@
server { server {
server_name cloud.example.com; server_name cloud.neller.org;
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"; add_header Strict-Transport-Security "max-age=15552000; includeSubDomains; preload";
location / { location / {
@@ -9,8 +9,6 @@ server {
proxy_set_header X-Scheme $scheme; proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 0;
} }
location /.well-known/carddav { location /.well-known/carddav {
@@ -20,25 +18,40 @@ server {
return 301 $scheme://$host/remote.php/dav; return 301 $scheme://$host/remote.php/dav;
} }
client_max_body_size 512M;
client_body_timeout 300s;
fastcgi_buffers 64 4K;
gzip on;
gzip_vary on;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml text/javascript application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/wasm application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
# The setting allows you to optimize the HTTP2 bandwidth.
# See https://blog.cloudflare.com/delivering-http-2-upload-speed-improvements/
# for tuning hints
client_body_buffer_size 512k;
listen [::]:443 ssl ipv6only=on; # managed by Certbot listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/cloud.example.com/fullchain.pem; # managed by Certbot ssl_certificate /etc/letsencrypt/live/cloud.neller.org/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/cloud.example.com/privkey.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/cloud.neller.org/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
} }
server { server {
if ($host = cloud.example.com) { if ($host = cloud.neller.org) {
return 301 https://$host$request_uri; return 301 https://$host$request_uri;
} # managed by Certbot } # managed by Certbot
server_name cloud.example.com; server_name cloud.neller.org;
listen [::]:80;
listen 80; listen 80;
listen [::]:80;
return 404; # managed by Certbot return 404; # managed by Certbot
} }
~

8
renovate/compose.yml Normal file
View File

@@ -0,0 +1,8 @@
name: renovate
services:
renovate:
image: renovate/renovate
volumes:
- ./config.js:/usr/src/app/config.js
environment:
- LOG_LEVEL=debug

View File

@@ -0,0 +1,10 @@
module.exports = {
platform: 'gitea',
endpoint: 'https://git.example.com/api/v1/',
token: '',
onboarding: true,
autodiscover: true,
configFileNames: [".gitea/renovate.json"]
};