4gaboards: deploy 4gaboards

This commit is contained in:
2026-03-07 23:39:11 +01:00
parent d762e14dea
commit 68e970110b
4 changed files with 88 additions and 0 deletions

View File

@@ -34,6 +34,7 @@ updates:
- "/docker/production/buildpath" - "/docker/production/buildpath"
- "/docker/production/semeryfr" - "/docker/production/semeryfr"
- "/docker/production/vhaudiquetfr" - "/docker/production/vhaudiquetfr"
- "/docker/tools/4gaboards"
- "/docker/tools/excalidraw" - "/docker/tools/excalidraw"
- "/docker/tools/obsidian-livesync" - "/docker/tools/obsidian-livesync"
- "/docker/tools/stirling-pdf" - "/docker/tools/stirling-pdf"

View File

@@ -151,6 +151,13 @@ vhaudiquetfr:
branch: main branch: main
compose_file: docker/production/vhaudiquetfr/docker-compose.yml compose_file: docker/production/vhaudiquetfr/docker-compose.yml
4gaboards:
repo: homeprod
branch: main
compose_file: docker/tools/4gaboards/docker-compose.yml
sops_files:
- docker/tools/4gaboards/.env
excalidraw: excalidraw:
repo: homeprod repo: homeprod
branch: main branch: main

View File

@@ -0,0 +1,11 @@
POSTGRES_DB=ENC[AES256_GCM,data:HkulBjXQRsPv,iv:W6m0almuOSGPicGOsqP6V2xNwtEL3L8a0JN5wJdSEjE=,tag:AplsvdAxcv1K/UM0RPVeRA==,type:str]
POSTGRES_PASSWORD=ENC[AES256_GCM,data:0XcSzlIWvd8bMb7+ss8o21OE8EKGWg==,iv:G4FsgL43slujSyzCYwLnmEMj/WNMy8fxc/IbvUjNW/4=,tag:4Z/ZQO5wGb6BUS4Hq4KnUA==,type:str]
SECRET_KEY=ENC[AES256_GCM,data:HY1zLuoPkaPpH6q4+NHMiFvK+RJOBRdENEXkWMuJfA==,iv:djqfYnsU1eqIRkXYEbjdRvBLKWJxkUE6xvTqzpVGhCc=,tag:/BJWQCApI2eV/JGBLjDAhw==,type:str]
DATABASE_URL=ENC[AES256_GCM,data:TTopRJsbpxvSJhIQgKCkLdBvi2R/dj+YQmB7It8qNzuvRQpB11NoomEWuEyK7Jh8YusBdqVSXjbY,iv:TswrfGhVmMmQIm2H7LDwsVHQSOTC0DABGHvVDuF6FV8=,tag:9eWoxP0KFVk0c+n9jZLioA==,type:str]
sops_lastmodified=2026-03-07T22:38:58Z
sops_mac=ENC[AES256_GCM,data:Wt4K+UCwkcxA85lFP2Rd5Oqjlrvjj6aHkckMoLuy+jYm5UWfrc9+/MlK5wzuZwsLk86jziRqhtcYONhE84vmHtiTsRwpejBREKM2pU8XYnBm4KcgCaaIJKQhuEfFAGIPmJa0rNzVZTJK4JE23eOqoqE+yq2f/pv+N+4XgpbwH7E=,iv:X+tp6Y2i86oAJ+LEds0EuWODc16OBQ03uTRn/BdK11I=,tag:ipjxQUlj928qGJhIFxqasw==,type:str]
sops_pgp__list_0__map_created_at=2026-03-07T22:38:58Z
sops_pgp__list_0__map_enc=-----BEGIN PGP MESSAGE-----\n\nhQIMA7uy4qQr71wiARAAmMCSEb3UgVcDSiLmPDZRXJzvFfq8YWQzvxsuh8x1h1S+\nxLFJyIVcX33bfeyZdHo6LFBVs57b8GD0bLjbUSi/WROShPq8GZEsT7t9U6fnLdw/\nC5nb4+s6X/Lhi9Q5SX8Np3qP3t9wGsZ0U2GmojeN8OriSDJndCYkNm8ASt5l0NB8\n1IBYETfzRJIou8t3IpMHbTjh1rI1vvOH8kin4rCauf7UTTaIAtX0ickTEsdRWRLY\n+rveVkGEsqpdSfSFFs5uL6cEae03p6DZB9nwUhTmWfOIX5VJ403Botx5rhBdnQbE\naEOp4glP7M0kdRDvmqY4BTFK0j5PWMAjSOMd2zyqpORZCJqkrS66gg0Zaja73Imh\naD7NABb8rvJCwpKXRT5cJTVRWti4fpZ5JW7shDmGCSZcIjeiaqbnI6MOKO6Du/0k\noRUqvXJTocAfL/V9cGLorcLG0SZ0lvevZUNOU+ZIO1LwhFgqksOHI3UO8VeHn5FE\nAfSZfGTx6ivzZDQIoxsTCcES0eRXadI51ZofCjUWz5+UNVNAsMMJm41folQ2XKzb\n2q+nrhBUviJ32Ym9ND4qb2D52s+rmLSZzvC9hvRTmv9akOo3TpD3feZBUbLpqoAU\nTArPbm4dhQ82ULCpYiiQksHFF01uC3a+/MBHpMsiovKOCMbqu4i1I3aNLKksjzLS\nXgFWfBVXsp6FrEHYYPLIjguZvYQOzA0Q06j8zkToNGcdFkxctPr1es+6T+TKAWPQ\nT2FRlccx7tGQis4DGGfbuDszrELS4XbhpdOacKNHyD9243mW91dbvIIpDoGxwtI=\n=yP4a\n-----END PGP MESSAGE-----
sops_pgp__list_0__map_fp=DC6910268E657FF70BA7EC289974494E76938DDC
sops_unencrypted_suffix=_unencrypted
sops_version=3.10.2

View File

@@ -0,0 +1,69 @@
services:
db:
image: postgres:16-alpine
restart: always
networks:
- boards-network
volumes:
- db-data:/var/lib/postgresql/data
env_file: .env
environment:
POSTGRES_INITDB_ARGS: '-A scram-sha-256'
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U postgres -d 4gaBoards']
interval: 1s
timeout: 5s
retries: 50
4gaBoards:
image: ghcr.io/rargames/4gaboards:latest
restart: always
networks:
- boards-network
volumes:
- user-avatars:/app/public/user-avatars
- project-background-images:/app/public/project-background-images
- attachments:/app/private/attachments
ports:
- 3000:1337
env_file: .env
environment:
BASE_URL: https://gjam.vhaudiquet.fr
NODE_ENV: production
labels:
- "traefik.enable=true"
- "traefik.http.routers.4gaBoards.rule=Host(`gjam.vhaudiquet.fr`)"
depends_on:
db:
condition: service_healthy
volumes:
user-avatars:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/app/4gaboards/user-avatars'
project-background-images:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/app/4gaboards/project-background-images'
attachments:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/app/4gaboards/attachments'
db-data:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/app/4gaboards/db-data'
networks:
boards-network:
proxy:
name: proxy
external: true