103 Commits
Author SHA1 Message Date
ninjasurge 8a24da6bb9 Fixing unauthorized?? 2025-09-24 15:54:48 -05:00
ninjasurge 47e07e067a Add vikunja 2025-09-24 15:09:49 -05:00
ninjasurge 7e81e32066 Adding port info 2025-09-24 14:13:39 -05:00
ninjasurge a24f757e03 adding proper networks 2025-09-24 13:01:55 -05:00
ninjasurge 7aab5e3d5e removing nginx-proxy-manager 2025-09-24 12:57:00 -05:00
ninjasurge 74f5c165ff Adding traefik labels 2025-09-24 12:53:14 -05:00
komodo 9e24d09721 [Komodo] admin: Write Stack File: update Gitea/compose.yaml 2025-09-24 17:26:54 +00:00
komodo fe5b57c4ab [Komodo] admin: Write Stack File: update Gitea/compose.yaml 2025-09-24 17:24:57 +00:00
ninjasurge 0566f8122f Changing port and url info 2025-09-24 11:58:04 -05:00
ninjasurge dddf20a531 Prep for Traefik proxy switch 2025-09-24 11:24:17 -05:00
ninjasurge d02bdbc215 Updating Traefik Config 2025-09-24 11:16:07 -05:00
ninjasurge 6584dbe42d Updating urls 2025-09-19 15:17:41 -05:00
ninjasurge dc36207517 Removing Secrets 2025-09-19 14:58:39 -05:00
ninjasurge 7440a0309d Defining settings entirely in compose file 2025-09-19 14:54:57 -05:00
ninjasurge 287674c580 Added Minio 2025-09-19 11:16:28 -05:00
ninjasurge 6380baef9b Changing inner port for less port specification 2025-09-19 08:46:40 -05:00
ninjasurge 60e80a5bd3 Adding port 2025-09-19 08:39:15 -05:00
ninjasurge d34281262a docker dns name 2025-09-19 08:26:12 -05:00
ninjasurge faf50fb7d1 Added restart policy 2025-09-19 06:18:35 -05:00
ninjasurge e76987b110 Merge branch 'test' of http://gitea.homelab.local/NinjaSurge/TheGreatCompose into test 2025-09-18 18:33:52 -05:00
ninjasurge 77b5550057 Proxy Upgrade for Authentik 2025-09-18 18:33:50 -05:00
ninjasurge a1484611e4 Merge pull request 'Update flawiddsouza/restfox Docker tag to v0.40.0' (#7) from renovate/flawiddsouza-restfox-0.x into test
Reviewed-on: http://gitea.homelab.local/NinjaSurge/TheGreatCompose/pulls/7
2025-09-18 15:50:00 -05:00
Renovate Bot 2b4263accf Update flawiddsouza/restfox Docker tag to v0.40.0 2025-09-18 20:44:39 +00:00
ninjasurge 2615f21071 db on default network 2025-09-18 14:00:22 -05:00
ninjasurge a5a4420845 update runner address 2025-09-18 13:56:58 -05:00
ninjasurge e9c693de0a Adding proxy network 2025-09-18 12:20:41 -05:00
ninjasurge 05ff74e8d8 Container name 2025-09-18 12:14:51 -05:00
ninjasurge f3d46a7402 Container names and hiding ports 2025-09-18 12:12:24 -05:00
ninjasurge aecdaf6b21 Naming the Proxy Container 2025-09-18 12:03:00 -05:00
ninjasurge 1f74fe67d4 Changed runner server address 2025-09-18 09:43:43 -05:00
ninjasurge f00539ca16 Supporting the new URL 2025-09-18 09:19:44 -05:00
ninjasurge c0fb6e8581 Adding Proxy network 2025-09-18 09:18:10 -05:00
ninjasurge b54e840ec1 Adding proxy network to it-tools 2025-09-18 09:04:15 -05:00
ninjasurge 4f493d4210 Give it-tools a name 2025-09-18 09:00:58 -05:00
ninjasurge 7b3dde578a Testing nginx proxy 2025-09-18 08:59:36 -05:00
ninjasurge 21b5bc5b20 Changing port 2025-09-18 08:35:31 -05:00
ninjasurge ac5f843403 Adding DB and networks 2025-09-18 08:33:04 -05:00
ninjasurge 4d554433dd revert 573ac9a9aa
revert [Komodo] admin: Write Stack File: update Nginx-Proxy-Manager/compose.yaml
2025-09-18 08:32:51 -05:00
komodo 573ac9a9aa [Komodo] admin: Write Stack File: update Nginx-Proxy-Manager/compose.yaml 2025-09-18 13:06:51 +00:00
ninjasurge d824514ac5 Added Management Port 2025-09-18 07:37:49 -05:00
ninjasurge 75be57a4be Rename Folder 2025-09-18 06:20:20 -05:00
ninjasurge 876307ebe9 Merge branch 'test' of http://192.168.122.228:3105/NinjaSurge/TheGreatCompose into test 2025-09-18 06:16:52 -05:00
ninjasurge df42b1eace Add Nginx Proxy Manager 2025-09-18 06:13:11 -05:00
ninjasurge 396c2ca37e Merge pull request 'Update ghcr.io/goauthentik/server Docker tag to v2025.8.3' (#5) from renovate/ghcr.io-goauthentik-server-2025.x into test
Reviewed-on: http://homelab.local:3105/NinjaSurge/TheGreatCompose/pulls/5
2025-09-17 19:35:50 -05:00
komodo 6c5658dac0 [Komodo] admin: Write Stack File: update Vaultwarden/compose.yaml 2025-09-18 00:14:43 +00:00
komodo 73c9548a92 [Komodo] admin: Write Stack File: update Restfox/compose.yaml 2025-09-17 23:51:54 +00:00
komodo ddff4267fa [Komodo] admin: Write Stack File: update Radicale/compose.yaml 2025-09-17 23:50:27 +00:00
komodo 89484a2f59 [Komodo] admin: Write Stack File: update Vaultwarden/compose.yaml 2025-09-17 21:00:43 +00:00
ninjasurge 7beafc781b Fixed Port 2025-09-17 15:59:25 -05:00
ninjasurge 9828ac8509 Vaultwarden: SSO 2025-09-17 15:56:28 -05:00
komodo c402a05fb8 [Komodo] admin: Write Stack File: update Vaultwarden/compose.yaml 2025-09-17 20:32:18 +00:00
komodo 32e61e87c6 [Komodo] admin: Write Stack File: update Vaultwarden/compose.yaml 2025-09-17 20:31:59 +00:00
ninjasurge 6553ceebbd Removed Passbolt 2025-09-17 15:28:00 -05:00
ninjasurge 0cbb083aed Add Vaultwarden 2025-09-17 15:27:38 -05:00
ninjasurge 80703049b2 Adding Passbolt 2025-09-17 14:27:35 -05:00
ninjasurge 6061787999 Adding Radicale 2025-09-17 11:39:51 -05:00
Renovate Bot 0658ab0cec Update ghcr.io/goauthentik/server Docker tag to v2025.8.3 2025-09-17 14:40:16 +00:00
komodo d70f8c40f3 [Komodo] admin: Write Stack File: update Tandoor/compose.yaml 2025-09-16 16:55:36 +00:00
komodo 2203469653 [Komodo] admin: Write Stack File: update Tandoor/compose.yaml 2025-09-16 16:43:42 +00:00
komodo dea63e0340 [Komodo] admin: Write Stack File: update Tandoor/compose.yaml 2025-09-16 16:40:02 +00:00
ninjasurge 37cded4cb1 Adding Restfox 2025-09-16 09:49:45 -05:00
ninjasurge 53386d420e Tandoor: Removing unused volumes 2025-09-16 08:58:01 -05:00
ninjasurge 3d04a8a6dd Adding Tandoor 2025-09-16 08:56:10 -05:00
ninjasurge baa9104bfa changed domain name 2025-09-14 13:24:37 -05:00
ninjasurge 1978cb716b Fixing paths 2025-09-14 12:51:03 -05:00
ninjasurge 4c6f31530d Fixing docker network error 2025-09-14 12:44:37 -05:00
ninjasurge 52d8d0dd45 Testing new configuration 2025-09-14 12:43:10 -05:00
ninjasurge d2cb354b08 Adding Traefik 2025-09-14 12:00:30 -05:00
ninjasurge 0d3f98d6b6 Renaming File 2025-09-13 21:39:59 -05:00
ninjasurge 42c595f778 revert 2ab54eda18
revert [Komodo] admin: Write Stack File: update Authentik/compose.yaml
2025-09-13 21:38:50 -05:00
komodo 2ab54eda18 [Komodo] admin: Write Stack File: update Authentik/compose.yaml 2025-09-14 02:36:34 +00:00
ninjasurge aaf01acd5b Adding Authentik 2025-09-13 21:35:45 -05:00
komodo a85ed39d5e [Komodo] admin: Write Stack File: update Ntfy/compose.yaml 2025-09-14 01:08:42 +00:00
ninjasurge 453b8f316c Fixed metadata mirroring 2025-09-13 20:02:53 -05:00
ninjasurge 7189d117be revert e29835a2bb
revert [Komodo] admin: Write Stack File: update Gitea-mirror/compose.yaml
2025-09-13 19:55:08 -05:00
komodo 0634ef0c1f [Komodo] admin: Write Stack File: update Gitea-mirror/compose.yaml 2025-09-14 00:49:34 +00:00
komodo e29835a2bb [Komodo] admin: Write Stack File: update Gitea-mirror/compose.yaml 2025-09-14 00:43:34 +00:00
komodo e45247d1b8 [Komodo] admin: Write Stack File: update Gitea-mirror/compose.yaml 2025-09-14 00:30:56 +00:00
ninjasurge 8c5eecb766 Trying out an envfile 2025-09-13 19:28:55 -05:00
ninjasurge ad7330b745 Merge pull request 'Update gitea/act_runner Docker tag to v0.2.13' (#2) from renovate/gitea-act_runner-0.x into test
Reviewed-on: http://homelab.local:3105/NinjaSurge/TheGreatCompose/pulls/2
2025-09-13 18:47:43 -05:00
ninjasurge b7e0cd2f04 Merge pull request 'Update binwiederhier/ntfy Docker tag to v2.14.0' (#3) from renovate/binwiederhier-ntfy-2.x into test
Test from commit f56f40c926 worked!
Reviewed-on: http://homelab.local:3105/NinjaSurge/TheGreatCompose/pulls/3
2025-09-13 18:37:40 -05:00
Renovate Bot 77085e2654 Update binwiederhier/ntfy Docker tag to v2.14.0 2025-09-13 23:34:28 +00:00
Renovate Bot 88143077dd Update gitea/act_runner Docker tag to v0.2.13 2025-09-13 23:34:27 +00:00
ninjasurge f56f40c926 Testing renovate 2025-09-13 18:33:35 -05:00
ninjasurge 8f4494c767 Updating so that Renovate can work it's magic 2025-09-13 18:33:26 -05:00
komodo 0e34ef299e [Komodo] admin: Write Stack File: update Gitea/compose.yaml 2025-09-13 23:29:37 +00:00
komodo 5cdf5a839d [Komodo] admin: Write Stack File: update Gitea/compose.yaml 2025-09-13 23:26:51 +00:00
komodo d907effe6f [Komodo] admin: Write Stack File: update Gitea/compose.yaml 2025-09-13 23:19:05 +00:00
ninjasurge 28b23cb784 adding renovate config 2025-09-13 18:09:48 -05:00
ninjasurge 59d22bce55 database based on env 2025-09-13 17:47:11 -05:00
ninjasurge a8e6e931ee changed path 2025-09-13 17:35:26 -05:00
ninjasurge 378ebfcafa fix tls issue maybe 2025-09-13 17:27:52 -05:00
ninjasurge 9a72359fb8 Adding Gitea-Mirror 2025-09-13 17:11:21 -05:00
ninjasurge 5b6bc2db09 Adding version numbers, prep for renovate integration 2025-09-13 16:37:55 -05:00
ninjasurge 1d2b6661cc Adding gitignore
Changelog: add
2025-09-13 16:27:15 -05:00
komodo 4b4d19a916 [Komodo] admin: Write Stack File: update Gitea/compose.yaml 2025-09-12 20:37:19 +00:00
ninjasurge ea98458479 Gitea: fixed port number on runner 2025-09-12 15:31:46 -05:00
ninjasurge 98912d2de9 Gitea: Url settings 2025-09-12 15:18:17 -05:00
ninjasurge e02e7074b7 Updating a name 2025-09-12 14:50:36 -05:00
ninjasurge f3ab6081ab Adding Gitea 2025-09-12 12:40:48 -05:00
ninjasurge 1d0119acde Updating port number on the it-tools project 2025-09-12 10:37:31 -05:00
ninjasurge 26bcce4bab Adding it-tools project 2025-09-12 10:35:56 -05:00
ninjasurge bdc78932e1 Updating Shields configuration 2025-09-12 10:35:44 -05:00
16 changed files with 525 additions and 5 deletions
+1
View File
@@ -0,0 +1 @@
*.env
+101
View File
@@ -0,0 +1,101 @@
services:
postgresql:
env_file:
- .env
environment:
POSTGRES_DB: ${PG_DB:-authentik}
POSTGRES_PASSWORD: ${PG_PASS:?database password required}
POSTGRES_USER: ${PG_USER:-authentik}
healthcheck:
interval: 30s
retries: 5
start_period: 20s
test:
- CMD-SHELL
- pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}
timeout: 5s
image: docker.io/library/postgres:16-alpine
restart: unless-stopped
networks:
- default
volumes:
- /mnt/appdata/authentik/database:/var/lib/postgresql/data
redis:
command: --save 60 1 --loglevel warning
healthcheck:
interval: 30s
retries: 5
start_period: 20s
test:
- CMD-SHELL
- redis-cli ping | grep PONG
timeout: 3s
image: docker.io/library/redis:alpine
restart: unless-stopped
networks:
- default
volumes:
- /mnt/appdata/authentik/redis:/data
server:
container_name: authentik-server
command: server
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
env_file:
- .env
environment:
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
image: ghcr.io/goauthentik/server:2025.8.3
# ports:
# - ${COMPOSE_PORT_HTTP:-8005}:9000
# - ${COMPOSE_PORT_HTTPS:-8443}:9443
restart: unless-stopped
networks:
- default
- proxy
labels:
traefik.enable: true
traefik.http.routers.authentik.rule: Host(`authentik.homelab.local`)
traefik.http.routers.authentik.entrypoints: http
volumes:
- /mnt/appdata/authentik/data/media:/media
- /mnt/appdata/authentik/data/custom-templates:/templates
worker:
command: worker
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
env_file:
- .env
environment:
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
image: ghcr.io/goauthentik/server:2025.8.3
restart: unless-stopped
user: root
networks:
- default
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /mnt/appdata/authentik/data/media:/media
- /mnt/appdata/authentik/data/certs:/certs
- /mnt/appdata/authentik/data/custom-templates:/templates
networks:
default:
proxy:
external: true
+132
View File
@@ -0,0 +1,132 @@
services:
gitea-mirror:
container_name: gitea-mirror
image: ghcr.io/raylabshq/gitea-mirror:v3.7.0
restart: unless-stopped
ports:
- 4321:4321
volumes:
- /mnt/appdata/gitea-mirror/data:/app/data
# Mount custom CA certificates - choose one option:
# Option 1: Mount individual CA certificates from certs directory
# - ./certs:/app/certs:ro
# Option 2: Mount system CA bundle (if your CA is already in system store)
# - /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:ro
environment:
# For a complete list of all supported environment variables, see:
# docs/ENVIRONMENT_VARIABLES.md or .env.example
- NODE_ENV=production
- DATABASE_URL=file:data/gitea-mirror.db
- HOST=0.0.0.0
- PORT=4321
- BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET}
- BETTER_AUTH_URL=http://gitea-mirror
# Optional: ENCRYPTION_SECRET will be auto-generated if not provided
# - ENCRYPTION_SECRET=
# GitHub/Gitea Mirror Config
- GITHUB_USERNAME=NinjaSurge
- GITHUB_TOKEN=${GITHUB_TOKEN}
- GITHUB_TYPE=personal
- GITHUB_EXCLUDED_ORGS=
- SKIP_FORKS=false
- PRIVATE_REPOSITORIES=true
- MIRROR_METADATA=true
- MIRROR_ISSUES=true
- MIRROR_WIKI=true
- MIRROR_STARRED=true
- MIRROR_ORGANIZATIONS=false
- PRESERVE_ORG_STRUCTURE=false
- ONLY_MIRROR_ORGS=false
- SKIP_STARRED_ISSUES=false
- GITEA_URL=http://gitea.homelab.local
- GITEA_TOKEN=${GITEA_TOKEN}
- GITEA_USERNAME=NinjaSurge
- GITEA_ORGANIZATION=github-mirrors
- GITEA_ORG_VISIBILITY=public
- DELAY=3600 # Legacy: same as SCHEDULE_INTERVAL, kept for backward compatibility
# Scheduling and Sync Configuration (Issue #72 fixes)
- SCHEDULE_ENABLED=false # When true, auto-imports and mirrors all repos on startup (v3.5.3+)
- GITEA_MIRROR_INTERVAL=8h # Mirror sync interval (5m, 30m, 1h, 8h, 24h, 1d, 7d) - also triggers auto-start, automatically enables scheduler
- AUTO_IMPORT_REPOS=true
# Repository Cleanup Configuration
- CLEANUP_DELETE_IF_NOT_IN_GITHUB=false # Auto-remove repos that no longer exist in GitHub
- CLEANUP_ORPHANED_REPO_ACTION=archive # Options: skip, archive, delete
- CLEANUP_DRY_RUN=true # Test mode without actual deletion (set to false for production)
# Header Authentication (for Reverse Proxy SSO)
- HEADER_AUTH_ENABLED=false
- HEADER_AUTH_USER_HEADER=X-Authentik-Username
- HEADER_AUTH_EMAIL_HEADER=X-Authentik-Email
- HEADER_AUTH_NAME_HEADER=X-Authentik-Name
- HEADER_AUTH_AUTO_PROVISION=false
- HEADER_AUTH_ALLOWED_DOMAINS=
# Optional: Skip TLS verification (insecure, use only for testing)
- GITEA_SKIP_TLS_VERIFY=true # WARNING: Only use for testing
- MIRROR_RELEASES=true # Mirror GitHub releases
- INCLUDE_ARCHIVED=true
- MIRROR_STRATEGY=single-org # Options: preserve, single-org, flat-user, mixed
- GITEA_LFS=true # Enable LFS support
- MIRROR_PULL_REQUESTS=true # Mirror pull requests
- MIRROR_LABELS=true # Mirror labels
- MIRROR_MILESTONES=true # Mirror milestones
# Cleanup Execution
- CLEANUP_BATCH_SIZE=10
- CLEANUP_PAUSE_BETWEEN_DELETES=2000 # Pause between deletions (ms)
# Protected Repositories (comma-separated)
- CLEANUP_PROTECTED_REPOS=important-repo,critical-project
# Repository Cleanup (v3.4.0+)
- CLEANUP_DELETE_FROM_GITEA=false # Delete repos from Gitea
# Basic Cleanup Settings
- CLEANUP_ENABLED=false
- CLEANUP_RETENTION_DAYS=7 # Days to keep events
# Notifications
- SCHEDULE_NOTIFY_ON_FAILURE=true
- SCHEDULE_NOTIFY_ON_SUCCESS=false
- SCHEDULE_LOG_LEVEL=info # Options: error, warn, info, debug
- SCHEDULE_TIMEZONE=UTC
# Maintenance
- SCHEDULE_CLEANUP_BEFORE_MIRROR=false # Run cleanup before mirroring
# Update Detection
- SCHEDULE_ONLY_MIRROR_UPDATED=false # Only mirror repos with updates
- SCHEDULE_UPDATE_INTERVAL=86400000 # Check for updates interval (ms)
- SCHEDULE_SKIP_RECENTLY_MIRRORED=true
- SCHEDULE_RECENT_THRESHOLD=3600000 # Skip if mirrored within this time (ms)
# Retry Configuration
- SCHEDULE_RETRY_ATTEMPTS=3
- SCHEDULE_RETRY_DELAY=60000 # Delay between retries (ms)
- SCHEDULE_TIMEOUT=3600000 # Max time for a mirror operation (ms)
- SCHEDULE_AUTO_RETRY=true
# Execution Settings
- SCHEDULE_CONCURRENT=false # Allow concurrent mirror operations
- SCHEDULE_BATCH_SIZE=10 # Number of repos to process in parallel
- SCHEDULE_PAUSE_BETWEEN_BATCHES=5000 # Pause between batches (ms)
# Basic Schedule Settings
- SCHEDULE_INTERVAL=3600 # Interval in seconds or cron expression (e.g., "0 2 * * *")
# Release and Metadata
- RELEASE_LIMIT=10 # Maximum number of releases to mirror per repository
# Fork Handling
- GITEA_FORK_STRATEGY=reference # Options: skip, reference, full-copy
# Topic Settings
- GITEA_ADD_TOPICS=true # Add topics to repositories
- GITEA_TOPIC_PREFIX=gh- # Prefix for topics
# Template Settings (for using repository templates)
- GITEA_TEMPLATE_OWNER=template-owner
- GITEA_TEMPLATE_REPO=template-repo
- GITEA_PRESERVE_VISIBILITY=false # Preserve GitHub repo visibility in Gitea
labels:
traefik.enable: true
traefik.http.routers.gitea-mirror.rule: Host(`gitea-mirror.homelab.local`)
traefik.http.routers.gitea-mirror.entrypoints: http
healthcheck:
test:
[
"CMD",
"wget",
"--no-verbose",
"--tries=3",
"--spider",
"http://localhost:4321/api/health",
]
interval: 30s
timeout: 10s
retries: 5
start_period: 15s
+66
View File
@@ -0,0 +1,66 @@
services:
server:
image: docker.gitea.com/gitea:1.24.6
container_name: gitea-server
environment:
- TZ=${TIMEZONE}
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=${DB_NAME}
- GITEA__database__USER=${DB_USER}
- GITEA__database__PASSWD=${DB_PASSWORD}
- GITEA__server__HTTP_PORT=80
- GITEA__server__PROTOCOL=http
- GITEA__server__DOMAIN=gitea.homelab.local
- GITEA__webhook__ALLOWED_HOST_LIST=gitea.homelab.local,192.168.122.228,gitea-server
restart: always
volumes:
- /mnt/appdata/gitea/data:/data
depends_on:
- db
networks:
- default
- proxy
labels:
traefik.enable: true
traefik.http.routers.gitea.rule: Host(`gitea.homelab.local`)
traefik.http.routers.gitea.entrypoints: http
traefik.http.services.gitea.loadbalancer.server.port: 80
db:
image: docker.io/library/postgres:14.19
restart: always
environment:
- TZ=${TIMEZONE}
- POSTGRES_DB=${DB_NAME}
- POSTGRES_USER=${DB_USER}
- POSTGRES_PASSWORD=${DB_PASSWORD}
volumes:
- /mnt/appdata/gitea/db:/var/lib/postgresql/data
networks:
- default
runner:
image: gitea/act_runner:0.2.13
container_name: gitea-runner
restart: always
depends_on:
- server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /mnt/appdata/gitea/runner/config.yaml:/config.yaml
- /mnt/appdata/gitea/runner/data:/data
environment:
- TZ=${TIMEZONE}
- CONFIG_FILE=/config.yaml
- GITEA_INSTANCE_URL=http://gitea-server
- GITEA_RUNNER_REGISTRATION_TOKEN=${RUNNER_GITEA_TOKEN}
- GITEA_RUNNER_NAME=local-machine
networks:
- default
- proxy
networks:
default:
proxy:
external: true
+15
View File
@@ -0,0 +1,15 @@
services:
corentinth:
container_name: it-tools
image: ghcr.io/corentinth/it-tools:nightly
# ports:
# - 8084:80
restart: unless-stopped
labels:
traefik.enable: true
traefik.http.routers.it-tools.rule: Host(`it-tools.homelab.local`)
traefik.http.routers.it-tools.entrypoints: http
networks:
default:
external: true
name: proxy
+15
View File
@@ -0,0 +1,15 @@
services:
minio:
command: 'server /data --console-address ":9001"'
image: quay.io/minio/minio
ports:
- "9001:9001"
- "9000:9000"
labels:
traefik.enable: true
traefik.http.routers.minio.rule: Host(`minio.homelab.local`)
traefik.http.routers.minio.entrypoints: http
networks:
default:
external: true
name: proxy
+13 -4
View File
@@ -1,14 +1,23 @@
services:
ntfy:
image: binwiederhier/ntfy
container_name: ntfy
image: binwiederhier/ntfy:v2.14.0
restart: unless-stopped
environment:
NTFY_BASE_URL: http://192.168.122.228:3001
NTFY_BASE_URL: http://ntfy.homelab.local
NTFY_CACHE_FILE: /var/lib/ntfy/cache.db
NTFY_AUTH_FILE: /var/lib/ntfy/auth.db
NTFY_ATTACHMENT_CACHE_DIR: /var/lib/ntfy/attachments
volumes:
- ./:/var/lib/ntfy
ports:
- 3001:80
# ports:
# - 3001:80
command: serve
labels:
traefik.enable: true
traefik.http.routers.ntfy.rule: Host(`ntfy.homelab.local`)
traefik.http.routers.ntfy.entrypoints: http
networks:
default:
external: true
name: proxy
+7
View File
@@ -0,0 +1,7 @@
services:
radicale:
container_name: radicale
image: homelab.local:3105/starred/radicale:latest
restart: unless-stopped
ports:
- 5232:5232
+16
View File
@@ -0,0 +1,16 @@
services:
Restfox:
image: flawiddsouza/restfox:0.40.0
container_name: restfox
restart: unless-stopped
# ports:
# - 4004:4004
labels:
traefik.enable: true
traefik.http.routers.restfox.rule: Host(`restfox.homelab.local`)
traefik.http.routers.restfox.entrypoints: http
traefik.http.services.restfox.loadbalancer.server.port: 4004
networks:
default:
external: true
name: proxy
+6 -1
View File
@@ -1,5 +1,10 @@
services:
shield:
image: ghcr.io/badges/shields:next
image: ghcr.io/badges/shields:server-2025-09-02
ports:
- 8083:80
restart: unless-stopped
labels:
traefik.enable: true
traefik.http.routers.shield.rule: Host(`shield.homelab.local`)
traefik.http.routers.shield.entrypoints: http
+32
View File
@@ -0,0 +1,32 @@
services:
db_recipes:
restart: always
image: postgres:16-alpine
volumes:
- /mnt/appdata/tandoor/postgresql:/var/lib/postgresql/data
env_file:
- ./.env
networks:
- default
web_recipes:
restart: always
image: vabene1111/recipes:tandoor-v1-20250916
env_file:
- ./.env
volumes:
- /mnt/appdata/tandoor/staticfiles:/opt/recipes/staticfiles
- /mnt/appdata/tandoor/mediafiles:/opt/recipes/mediafiles
depends_on:
- db_recipes
labels:
traefik.enable: true
traefik.http.routers.tandoor.rule: Host(`tandoor.homelab.local`)
traefik.http.routers.tandoor.entrypoints: http
networks:
- proxy
- default
networks:
default:
proxy:
external: true
+21
View File
@@ -0,0 +1,21 @@
services:
traefik:
restart: always
image: traefik:v3.5
ports:
- 80:80
- 443:443
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /mnt/appdata/traefik/certs:/certs:ro
- ./traefik.yaml:/traefik.yml:ro
labels:
traefik.enable: true
traefik.http.routers.traefik.entrypoints: http
traefik.http.routers.traefik.rule: Host(`traefik.homelab.local`)
networks:
- proxy
networks:
proxy:
external: true
+20
View File
@@ -0,0 +1,20 @@
entryPoints:
http:
address: :80
providers:
providersThrottleDuration: 2s
docker:
endpoint: unix:///var/run/docker.sock
watch: true
network: proxy
exposedByDefault: false
api:
dashboard: true
insecure: true
debug: false
log:
level: INFO
accessLog: true
+20
View File
@@ -0,0 +1,20 @@
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "http://homelab.local:8000"
SSO_ENABLED: true
SSO_AUTHORITY: https://homelab.local:8005/application/o/vaultwarden/
SSO_CLIENT_ID: 8QGk6TXr0FxndMFu97Y0G2HESxdUm6wRiwTYTNNF
SSO_CLIENT_SECRET: 2MEJi5PSGNoD2y4ZVqoVeowg3OPovHh9nL4aNZU8ors1sd3fYCNb2SRGw2udsP6TubgmsMrQqM8U8gJ8Rm4UcAzhsaNsu9DhZzQkO0uoR7SKNnrsy7Swsf4m4rNdvpKy
SSO_SCOPES: "openid email profile offline_access"
SSO_ALLOW_UNKNOWN_EMAIL_VERIFICATION: false
SSO_CLIENT_CACHE_EXPIRATION: 0
SSO_ONLY: false # Set to true to disable email+master password login and require SSO
SSO_SIGNUPS_MATCH_EMAIL: true # Match first SSO login to existing account by email
volumes:
- /mnt/appdata/vaultwarden/vw-data/:/data/
ports:
- 8000:80
+18
View File
@@ -0,0 +1,18 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended"],
"dependencyDashboard": true,
"dependencyDashboardTitle": "Renovate Dashboard",
"assignees": ["NinjaSurge"],
"labels": ["renovate"],
"configMigration": true,
"prHourlyLimit": 0,
"docker-compose": {
"hostRules": [
{
"matchHost": "docker.io",
"concurrentRequestLimit": 2
}
]
}
}
+42
View File
@@ -0,0 +1,42 @@
services:
vikunja:
image: vikunja/vikunja
environment:
VIKUNJA_SERVICE_PUBLICURL: http://vikunja.computersurge.dev
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_PASSWORD: changeme
VIKUNJA_DATABASE_TYPE: postgres
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_SERVICE_JWTSECRET: a_super_secure_random_secret
VIKUNJA_CORS_ENABLE: false
volumes:
- /mnt/appdata/vikunja/files:/app/vikunja/files
networks:
- proxy
- default
depends_on:
db:
condition: service_healthy
restart: unless-stopped
labels:
traefik.enable: true
traefik.docker.network: http
traefik.http.routers.vikunja.rule: Host(`vikunja.homelab.local`)
traefik.http.routers.vikunja.entrypoints: http
db:
image: postgres:17
environment:
POSTGRES_PASSWORD: changeme
POSTGRES_USER: vikunja
volumes:
- /mnt/appdata/vikunja/db:/var/lib/postgresql/data
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -h localhost -U $$POSTGRES_USER"]
interval: 2s
start_period: 30s
networks:
proxy:
external: true