From 3a79383d382ef0d86deaab1f1b331dfb2b791f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Krop=C3=A1=C4=8Dek?= Date: Thu, 25 Apr 2024 15:31:13 +0200 Subject: [PATCH] few updates --- deploy.py | 7 +++++-- inventory.py | 2 +- services/immich/.env.example | 2 +- services/immich/docker-compose.yml | 8 ++++---- services/joplin/docker-compose.yml | 15 +++++++++++++++ tasks/tailscale.py | 22 ++++++++++++++++++++++ 6 files changed, 48 insertions(+), 8 deletions(-) create mode 100644 tasks/tailscale.py diff --git a/deploy.py b/deploy.py index 052136a..7721a94 100644 --- a/deploy.py +++ b/deploy.py @@ -1,8 +1,9 @@ -from tasks.ssh import setup_ssh - from pyinfra.operations import apt from pyinfra_docker import deploy_docker +from tasks.ssh import setup_ssh +from tasks.tailscale import deploy_tailscale + apt.packages( name="Update and upgrade server", update=True, @@ -28,3 +29,5 @@ apt.packages( setup_ssh() deploy_docker() + +deploy_tailscale() diff --git a/inventory.py b/inventory.py index 49b153f..e3e4402 100644 --- a/inventory.py +++ b/inventory.py @@ -1,6 +1,6 @@ servers = [ ( - "kropcloud-vps0", { + "vps0.katuwoss.dev", { "ssh_user": "root", "web_server": True, "services": [ diff --git a/services/immich/.env.example b/services/immich/.env.example index 90db243..8c3642e 100644 --- a/services/immich/.env.example +++ b/services/immich/.env.example @@ -6,4 +6,4 @@ DB_USERNAME= DB_DATABASE_NAME= REDIS_HOSTNAME= -HOST= \ No newline at end of file +EXTERNAL_HOST= \ No newline at end of file diff --git a/services/immich/docker-compose.yml b/services/immich/docker-compose.yml index 71cff96..97f058e 100644 --- a/services/immich/docker-compose.yml +++ b/services/immich/docker-compose.yml @@ -16,7 +16,7 @@ x-traefik: &x-traefiK services: immich-server: - image: ghcr.io/immich-app/immich-server:release + image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: [ 'start.sh', 'immich' ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload @@ -31,13 +31,13 @@ services: labels: - traefik.enable=true - traefik.docker.network=traefik-net - - traefik.http.routers.immich.rule=Host(`${HOST}`) + - traefik.http.routers.immich.rule=Host(`${EXTERNAL_HOST}`) - traefik.http.routers.immich.entrypoints=${ENTRYPOINTS:-websecure} - traefik.http.routers.immich.tls.certresolver=le - traefik.http.services.immich.loadbalancer.server.port=3001 immich-microservices: - image: ghcr.io/immich-app/immich-server:release + image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: [ 'start.sh', 'microservices' ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload @@ -49,7 +49,7 @@ services: - database immich-machine-learning: - image: ghcr.io/immich-app/immich-machine-learning:release + image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} volumes: - model-cache-data:/cache env_file: diff --git a/services/joplin/docker-compose.yml b/services/joplin/docker-compose.yml index d7e340b..c80de04 100644 --- a/services/joplin/docker-compose.yml +++ b/services/joplin/docker-compose.yml @@ -6,6 +6,8 @@ networks: volumes: joplin-pg-data: name: joplin-pg-data + joplin-pg-backup: + name: joplin-pg-backup services: db: @@ -53,3 +55,16 @@ services: - traefik.http.routers.joplin.entrypoints=websecure - traefik.http.routers.joplin.tls.certresolver=le - traefik.http.services.joplin.loadbalancer.server.port=22300 + + backup: + image: prodrigestivill/postgres-backup-local:15 + depends_on: + - db + volumes: + - joplin-pg-backup:/backups + environment: + - POSTGRES_EXTRA_OPTS=-Z 6 -F c + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - POSTGRES_USER=${POSTGRES_USER} + - POSTGRES_DB=${POSTGRES_DATABASE} + - POSTGRES_HOST=db \ No newline at end of file diff --git a/tasks/tailscale.py b/tasks/tailscale.py new file mode 100644 index 0000000..2b77d49 --- /dev/null +++ b/tasks/tailscale.py @@ -0,0 +1,22 @@ +from pyinfra.api import deploy +from pyinfra.operations import server, apt + + +@deploy +def deploy_tailscale(): + server.shell( + name="Install tailscale signing key", + commands=["curl -fsSL https://pkgs.tailscale.com/stable/debian/bookworm.noarmor.gpg " + "| tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null 2>&1"] + ) + apt.repo( + name="Add tailscale repository", + src="deb [signed-by=/usr/share/keyrings/tailscale-archive-keyring.gpg] " + "https://pkgs.tailscale.com/stable/debian bookworm main", + filename="tailscale" + ) + apt.packages( + name="Install tailscale", + packages=["tailscale"], + update=True + )