few updates

This commit is contained in:
Jakub Kropáček 2024-04-25 15:31:13 +02:00
parent c1400b8110
commit 3a79383d38
6 changed files with 48 additions and 8 deletions

View file

@ -1,8 +1,9 @@
from tasks.ssh import setup_ssh
from pyinfra.operations import apt from pyinfra.operations import apt
from pyinfra_docker import deploy_docker from pyinfra_docker import deploy_docker
from tasks.ssh import setup_ssh
from tasks.tailscale import deploy_tailscale
apt.packages( apt.packages(
name="Update and upgrade server", name="Update and upgrade server",
update=True, update=True,
@ -28,3 +29,5 @@ apt.packages(
setup_ssh() setup_ssh()
deploy_docker() deploy_docker()
deploy_tailscale()

View file

@ -1,6 +1,6 @@
servers = [ servers = [
( (
"kropcloud-vps0", { "vps0.katuwoss.dev", {
"ssh_user": "root", "ssh_user": "root",
"web_server": True, "web_server": True,
"services": [ "services": [

View file

@ -6,4 +6,4 @@ DB_USERNAME=
DB_DATABASE_NAME= DB_DATABASE_NAME=
REDIS_HOSTNAME= REDIS_HOSTNAME=
HOST= EXTERNAL_HOST=

View file

@ -16,7 +16,7 @@ x-traefik: &x-traefiK
services: services:
immich-server: immich-server:
image: ghcr.io/immich-app/immich-server:release image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
command: [ 'start.sh', 'immich' ] command: [ 'start.sh', 'immich' ]
volumes: volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload - ${UPLOAD_LOCATION}:/usr/src/app/upload
@ -31,13 +31,13 @@ services:
labels: labels:
- traefik.enable=true - traefik.enable=true
- traefik.docker.network=traefik-net - 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.entrypoints=${ENTRYPOINTS:-websecure}
- traefik.http.routers.immich.tls.certresolver=le - traefik.http.routers.immich.tls.certresolver=le
- traefik.http.services.immich.loadbalancer.server.port=3001 - traefik.http.services.immich.loadbalancer.server.port=3001
immich-microservices: immich-microservices:
image: ghcr.io/immich-app/immich-server:release image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
command: [ 'start.sh', 'microservices' ] command: [ 'start.sh', 'microservices' ]
volumes: volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload - ${UPLOAD_LOCATION}:/usr/src/app/upload
@ -49,7 +49,7 @@ services:
- database - database
immich-machine-learning: immich-machine-learning:
image: ghcr.io/immich-app/immich-machine-learning:release image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
volumes: volumes:
- model-cache-data:/cache - model-cache-data:/cache
env_file: env_file:

View file

@ -6,6 +6,8 @@ networks:
volumes: volumes:
joplin-pg-data: joplin-pg-data:
name: joplin-pg-data name: joplin-pg-data
joplin-pg-backup:
name: joplin-pg-backup
services: services:
db: db:
@ -53,3 +55,16 @@ services:
- traefik.http.routers.joplin.entrypoints=websecure - traefik.http.routers.joplin.entrypoints=websecure
- traefik.http.routers.joplin.tls.certresolver=le - traefik.http.routers.joplin.tls.certresolver=le
- traefik.http.services.joplin.loadbalancer.server.port=22300 - 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

22
tasks/tailscale.py Normal file
View file

@ -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
)