migrate
Deploy authentik / deploy (push) Successful in 13s
Deploy dockhand / deploy (push) Successful in 7s
Deploy duplicati / deploy (push) Successful in 10s
Deploy immich / deploy (push) Failing after 6s
Deploy obsidian / deploy (push) Successful in 6s
Deploy Sencho / deploy (push) Failing after 5s
Deploy watchtower / deploy (push) Failing after 7s
Deploy authentik / deploy (push) Successful in 13s
Deploy dockhand / deploy (push) Successful in 7s
Deploy duplicati / deploy (push) Successful in 10s
Deploy immich / deploy (push) Failing after 6s
Deploy obsidian / deploy (push) Successful in 6s
Deploy Sencho / deploy (push) Failing after 5s
Deploy watchtower / deploy (push) Failing after 7s
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
name: Deploy authentik
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'authentik/**' # <-- CRITICAL: Only triggers if files in the watchtower folder change
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Sync authentik to Host
|
||||
uses: appleboy/scp-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
source: "authentik/"
|
||||
target: "/home/miker/docker"
|
||||
|
||||
- name: Deploy authentik Stack
|
||||
uses: appleboy/ssh-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
script: |
|
||||
cd /home/miker/docker/authentik
|
||||
docker compose up -d --remove-orphans
|
||||
@@ -0,0 +1,34 @@
|
||||
name: Deploy dockhand
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'dockhand/**' # <-- CRITICAL: Only triggers if files in the watchtower folder change
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Sync dockhand to Host
|
||||
uses: appleboy/scp-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
source: "dockhand/"
|
||||
target: "/home/miker/docker"
|
||||
|
||||
- name: Deploy dockhand Stack
|
||||
uses: appleboy/ssh-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
script: |
|
||||
cd /home/miker/docker/dockhand
|
||||
docker compose up -d --remove-orphans
|
||||
@@ -0,0 +1,34 @@
|
||||
name: Deploy duplicati
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'duplicati/**' # <-- CRITICAL: Only triggers if files in the watchtower folder change
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Sync duplicati to Host
|
||||
uses: appleboy/scp-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
source: "duplicati/"
|
||||
target: "/home/miker/docker"
|
||||
|
||||
- name: Deploy duplicati Stack
|
||||
uses: appleboy/ssh-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
script: |
|
||||
cd /home/miker/docker/duplicati
|
||||
docker compose up -d --remove-orphans
|
||||
@@ -0,0 +1,34 @@
|
||||
name: Deploy immich
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'immich/**' # <-- CRITICAL: Only triggers if files in the watchtower folder change
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Sync immich to Host
|
||||
uses: appleboy/scp-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
source: "immich/"
|
||||
target: "/home/miker/docker"
|
||||
|
||||
- name: Deploy immich Stack
|
||||
uses: appleboy/ssh-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
script: |
|
||||
cd /home/miker/docker/immich
|
||||
docker compose up -d --remove-orphans
|
||||
@@ -0,0 +1,34 @@
|
||||
name: Deploy obsidian
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'obsidian/**' # <-- CRITICAL: Only triggers if files in the watchtower folder change
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Sync obsidian to Host
|
||||
uses: appleboy/scp-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
source: "obsidian/"
|
||||
target: "/home/miker/docker"
|
||||
|
||||
- name: Deploy obsidian Stack
|
||||
uses: appleboy/ssh-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
script: |
|
||||
cd /home/miker/docker/obsidian
|
||||
docker compose up -d --remove-orphans
|
||||
@@ -0,0 +1,34 @@
|
||||
name: Deploy Sencho
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'Sencho/**' # <-- CRITICAL: Only triggers if files in the watchtower folder change
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Sync Sencho to Host
|
||||
uses: appleboy/scp-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
source: "Sencho/"
|
||||
target: "/home/miker/docker"
|
||||
|
||||
- name: Deploy Sencho Stack
|
||||
uses: appleboy/ssh-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
script: |
|
||||
cd /home/miker/docker/Sencho
|
||||
docker compose up -d --remove-orphans
|
||||
@@ -0,0 +1,34 @@
|
||||
name: Deploy watchtower
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'watchtower/**' # <-- CRITICAL: Only triggers if files in the watchtower folder change
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Sync watchtower to Host
|
||||
uses: appleboy/scp-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
source: "watchtower/"
|
||||
target: "/home/miker/docker"
|
||||
|
||||
- name: Deploy watchtower Stack
|
||||
uses: appleboy/ssh-action@master
|
||||
with:
|
||||
host: "192.168.2.6"
|
||||
username: "miker"
|
||||
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
script: |
|
||||
cd /home/miker/docker/watchtower
|
||||
docker compose up -d --remove-orphans
|
||||
@@ -0,0 +1,15 @@
|
||||
services:
|
||||
sencho:
|
||||
image: saelix/sencho:latest
|
||||
container_name: sencho
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "1852:1852"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /home/miker/docker/Sencho/data:/app/data
|
||||
# Change this line so the container path matches the host path:
|
||||
- /opt/Docker-Deployments:/opt/Docker-Deployments
|
||||
environment:
|
||||
- COMPOSE_DIR=/home/miker/docker
|
||||
- DATA_DIR=/app/data
|
||||
@@ -0,0 +1,79 @@
|
||||
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
|
||||
volumes:
|
||||
- /home/miker/docker/authentik/database:/var/lib/postgresql/data
|
||||
networks:
|
||||
- authentik
|
||||
|
||||
server:
|
||||
command: server
|
||||
depends_on:
|
||||
postgresql:
|
||||
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_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.2.1}
|
||||
ports:
|
||||
- ${COMPOSE_PORT_HTTP}:9000
|
||||
- ${COMPOSE_PORT_HTTPS}:9443
|
||||
restart: unless-stopped
|
||||
shm_size: 512mb
|
||||
volumes:
|
||||
- /home/miker/docker/authentik/data:/data
|
||||
- /home/miker/docker/authentik/custom-templates:/templates
|
||||
networks:
|
||||
- authentik
|
||||
- main
|
||||
|
||||
worker:
|
||||
command: worker
|
||||
depends_on:
|
||||
postgresql:
|
||||
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_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.2.1}
|
||||
restart: unless-stopped
|
||||
shm_size: 512mb
|
||||
user: root
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /home/miker/docker/authentik/data:/data
|
||||
- /home/miker/docker/authentik/certs:/certs
|
||||
- /home/miker/docker/authentik/custom-templates:/templates
|
||||
networks:
|
||||
- authentik
|
||||
- main
|
||||
networks:
|
||||
main:
|
||||
external: true # Tells Compose not to create this network
|
||||
authentik:
|
||||
external: true # Tells Compose not to create this network
|
||||
@@ -0,0 +1,21 @@
|
||||
services:
|
||||
dockhand:
|
||||
image: fnsys/dockhand:latest
|
||||
container_name: dockhand
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 3200:3000
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
volumes:
|
||||
- /home/miker/docker/dockhand/data:/app/data
|
||||
- /home/miker/docker/dockhand/stack:/stack
|
||||
- /home/miker/docker/dockhand/config:/DockerConfigs
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
environment:
|
||||
- TZ=America/New_york
|
||||
networks:
|
||||
- main
|
||||
networks:
|
||||
main:
|
||||
external: true # Tells Compose not to create this network
|
||||
@@ -0,0 +1,17 @@
|
||||
services:
|
||||
duplicati:
|
||||
image: lscr.io/linuxserver/duplicati:latest
|
||||
container_name: duplicati
|
||||
environment:
|
||||
- PUID=1000 # Your host user ID
|
||||
- PGID=1000 # Your host group ID
|
||||
- TZ=America/New_York
|
||||
- SETTINGS_ENCRYPTION_KEY=84Jo17Ecw5muzGgqVjpeZQYnWBH7XFM7R01CdR646jSIfNbxgp # <-- Add this line
|
||||
volumes:
|
||||
- /home/miker/docker/duplicati/config:/config
|
||||
- /home/miker/docker/immich/library:/source/photos:ro # Mounts your photo directory as read-only
|
||||
- /home/miker/docker:/source/apps:ro # Mounts your application data files
|
||||
- /home/miker/docker/duplicati/backups:/backups # Optional local backup location
|
||||
ports:
|
||||
- 8250:8200
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,89 @@
|
||||
#
|
||||
# WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose
|
||||
#
|
||||
# Make sure to use the docker-compose.yml of the current release:
|
||||
#
|
||||
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
|
||||
#
|
||||
# The compose file on main may not be compatible with the latest release.
|
||||
|
||||
name: immich
|
||||
|
||||
services:
|
||||
immich-server:
|
||||
container_name: immich_server
|
||||
image: ghcr.io/immich-app/immich-server:v3
|
||||
# extends:
|
||||
# file: hwaccel.transcoding.yml
|
||||
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
|
||||
volumes:
|
||||
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of U>
|
||||
- /home/miker/docker/immich/library:/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- '2283:2283'
|
||||
depends_on:
|
||||
- redis
|
||||
- database
|
||||
restart: always
|
||||
healthcheck:
|
||||
disable: false
|
||||
networks:
|
||||
- immich
|
||||
- main
|
||||
|
||||
immich-machine-learning:
|
||||
container_name: immich_machine_learning
|
||||
# For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
|
||||
# Example tag: ${IMMICH_VERSION:-release}-cuda
|
||||
image: ghcr.io/immich-app/immich-machine-learning:v3
|
||||
# extends: # uncomment this section for hardware acceleration - see https://docs.immich.app/features/ml-hardware-ac>
|
||||
# file: hwaccel.ml.yml
|
||||
# service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use >
|
||||
volumes:
|
||||
- model-cache:/cache
|
||||
restart: always
|
||||
healthcheck:
|
||||
disable: false
|
||||
networks:
|
||||
- immich
|
||||
- main
|
||||
|
||||
redis:
|
||||
container_name: immich_redis
|
||||
image: docker.io/valkey/valkey:9@sha256:3b55fbaa0cd93cf0d9d961f405e4dfcc70efe325e2d84da207a0a8e6d8fde4f9
|
||||
healthcheck:
|
||||
test: redis-cli ping || exit 1
|
||||
restart: always
|
||||
networks:
|
||||
- immich
|
||||
- main
|
||||
|
||||
database:
|
||||
container_name: immich_postgres
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511d>
|
||||
environment:
|
||||
POSTGRES_PASSWORD: mM3PXXUjK0QMz7
|
||||
POSTGRES_USER: postgresadmin
|
||||
POSTGRES_DB: immich
|
||||
POSTGRES_INITDB_ARGS: '--data-checksums'
|
||||
# Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
|
||||
# DB_STORAGE_TYPE: 'HDD'
|
||||
volumes:
|
||||
# Do not edit the next line. If you want to change the database storage location on your system, edit the value o>
|
||||
- /home/miker/docker/immich/postgres:/var/lib/postgresql/data
|
||||
shm_size: 128mb
|
||||
restart: always
|
||||
healthcheck:
|
||||
disable: false
|
||||
networks:
|
||||
- immich
|
||||
|
||||
volumes:
|
||||
model-cache:
|
||||
|
||||
networks:
|
||||
main:
|
||||
external: true # Tells Compose not to create this network
|
||||
immich:
|
||||
external: true # Tells Compose not to create this network
|
||||
@@ -0,0 +1,30 @@
|
||||
services:
|
||||
couchdb-obsidian-livesync:
|
||||
container_name: obsidian-livesync
|
||||
# image: couchdb:3.3.3 # Specify a stable CouchDB version
|
||||
image: 'docker.io/oleduc/docker-obsidian-livesync-couchdb:master'
|
||||
environment:
|
||||
# User and password for CouchDB admin access
|
||||
- COUCHDB_USER=miker
|
||||
- COUCHDB_PASSWORD=tw9222dvO91ZHb
|
||||
- COUCHDB_DATABASE=obsidian
|
||||
- SERVER_DOMAIN=https://obsidian.mikemcfetridge.com
|
||||
# Optional: Set PUID, PGID, UMASK, and TZ for user/group permissions and timezone
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- UMASK=0022
|
||||
- TZ=America/New_York # Adjust timezone as needed
|
||||
volumes:
|
||||
# Mount a local directory for CouchDB data persistence
|
||||
- /home/miker/docker/obsidian/data:/opt/couchdb/data
|
||||
# Mount a local directory for CouchDB configuration files
|
||||
- /home/miker/docker/obsidian/config:/opt/couchdb/etc/local.d
|
||||
ports:
|
||||
# Map CouchDB's default port 5984 to the host machine
|
||||
- "5984:5984"
|
||||
restart: unless-stopped # Ensure the container restarts automatically unless explicitly stopped
|
||||
networks:
|
||||
- main
|
||||
networks:
|
||||
main:
|
||||
external: true # Tells Compose not to create this network
|
||||
Binary file not shown.
@@ -0,0 +1,15 @@
|
||||
services:
|
||||
sencho:
|
||||
image: saelix/sencho:latest
|
||||
container_name: sencho
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "1852:1852"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /home/miker/docker/Sencho/data:/app/data
|
||||
# Change this line so the container path matches the host path:
|
||||
- /opt/Docker-Deployments:/opt/Docker-Deployments
|
||||
environment:
|
||||
- COMPOSE_DIR=/home/miker/docker
|
||||
- DATA_DIR=/app/data
|
||||
Reference in New Issue
Block a user