diff --git a/docker-compose.production.yml b/docker-compose.production.yml index 57b141b..48893f9 100644 --- a/docker-compose.production.yml +++ b/docker-compose.production.yml @@ -3,9 +3,9 @@ services: build: context: ./docker/glpi/ dockerfile: Dockerfile.production - image: git.nixc.us/colin/glpi:production-glpi - # maraidb: - # build: - # context: ./docker/maraidb/ - # dockerfile: Dockerfile.production - # image: git.nixc.us/colin/glpi:production-maraidb \ No newline at end of file + image: git.nixc.us/nixius/glpi:production-glpi + postgres: + build: + context: ./docker/postgres/ + dockerfile: Dockerfile.production + image: git.nixc.us/nixius/glpi:production-postgres \ No newline at end of file diff --git a/docker-compose.staging.yml b/docker-compose.staging.yml index 008ab3d..2746f7c 100644 --- a/docker-compose.staging.yml +++ b/docker-compose.staging.yml @@ -1,11 +1,11 @@ services: - glpi: + picsur: build: - context: ./docker/glpi/ + context: ./docker/picsur/ dockerfile: Dockerfile - image: git.nixc.us/colin/glpi:staging-glpi - # maraidb: - # build: - # context: ./docker/maraidb/ - # dockerfile: Dockerfile - # image: git.nixc.us/colin/glpi:staging-maraidb \ No newline at end of file + image: git.nixc.us/nixius/picsur:staging-picsur + postgres: + build: + context: ./docker/postgres/ + dockerfile: Dockerfile + image: git.nixc.us/nixius/picsur:staging-postgres \ No newline at end of file diff --git a/docker/glpi/Dockerfile b/docker/glpi/Dockerfile deleted file mode 100644 index 94f5e87..0000000 --- a/docker/glpi/Dockerfile +++ /dev/null @@ -1 +0,0 @@ -FROM diouxx/glpi \ No newline at end of file diff --git a/docker/glpi/Dockerfile.production b/docker/glpi/Dockerfile.production deleted file mode 100644 index 2e0fa81..0000000 --- a/docker/glpi/Dockerfile.production +++ /dev/null @@ -1 +0,0 @@ -FROM git.nixc.us/colin/glpi:staging-glpi \ No newline at end of file diff --git a/docker/mariadb/Dockerfile b/docker/mariadb/Dockerfile deleted file mode 100644 index e499466..0000000 --- a/docker/mariadb/Dockerfile +++ /dev/null @@ -1 +0,0 @@ -FROM mariadb:10.7 \ No newline at end of file diff --git a/docker/mariadb/Dockerfile.production b/docker/mariadb/Dockerfile.production deleted file mode 100644 index 5578eae..0000000 --- a/docker/mariadb/Dockerfile.production +++ /dev/null @@ -1 +0,0 @@ -FROM git.nixc.us/colin/glpi:staging-mariadb \ No newline at end of file diff --git a/docker/picsur/Dockerfile b/docker/picsur/Dockerfile new file mode 100644 index 0000000..d152a51 --- /dev/null +++ b/docker/picsur/Dockerfile @@ -0,0 +1 @@ +FROM ghcr.io/caramelfur/picsur:latest \ No newline at end of file diff --git a/docker/picsur/Dockerfile.production b/docker/picsur/Dockerfile.production new file mode 100644 index 0000000..de9a064 --- /dev/null +++ b/docker/picsur/Dockerfile.production @@ -0,0 +1 @@ +FROM git.nixc.us/nixius/picsur:staging-picsur \ No newline at end of file diff --git a/docker/postgres/Dockerfile b/docker/postgres/Dockerfile new file mode 100644 index 0000000..73bc72b --- /dev/null +++ b/docker/postgres/Dockerfile @@ -0,0 +1 @@ +FROM postgres:14-alpine \ No newline at end of file diff --git a/docker/postgres/Dockerfile.production b/docker/postgres/Dockerfile.production new file mode 100644 index 0000000..43b3d17 --- /dev/null +++ b/docker/postgres/Dockerfile.production @@ -0,0 +1 @@ +FROM git.nixc.us/nixius/picsur:staging-postgres \ No newline at end of file diff --git a/stack.production.yml b/stack.production.yml index 671d71d..1f727d0 100644 --- a/stack.production.yml +++ b/stack.production.yml @@ -1,42 +1,60 @@ version: "3.7" +x-environment: &default-environment + environment: + POSTGRES_DB: picsur + POSTGRES_PASSWORD: picsur + POSTGRES_USER: picsur + # PICSUR_HOST: '0.0.0.0' + # PICSUR_PORT: 8080 + PICSUR_DB_HOST: postgres + PICSUR_DB_PORT: 5432 + PICSUR_DB_USERNAME: *POSTGRES_USER + PICSUR_DB_PASSWORD: *POSTGRES_PASSWORD + PICSUR_DB_DATABASE: *POSTGRES_DB + ## The default username is admin, this is not modifyable + PICSUR_ADMIN_PASSWORD: Jc4SfnnvBD9w3E4w6si8FnreQ8zoUxRco + ## Optional, random secret will be generated if not set + PICSUR_JWT_SECRET: lkBNe0tKsHxfAUh6CzyAWOxkl5AMsG/jFCG/o93yocU= + PICSUR_JWT_EXPIRY: 7d + ## Maximum accepted size for uploads in bytes + PICSUR_MAX_FILE_SIZE: 52428800 # 50 MB in bytes + ## No need to touch this, unless you use a custom frontend + # PICSUR_STATIC_FRONTEND_ROOT: "/picsur/frontend/dist" + ## Warning: Verbose mode might log sensitive data + PICSUR_VERBOSE: "true" + networks: traefik: external: true default: - services: - glpi: - image: git.nixc.us/colin/glpi:production-glpi - environment: - TZ: America/New_York - MARIADB_ROOT_PASSWORD: diouxx - MARIADB_DATABASE: glpidb - MARIADB_USER: glpi_user - MARIADB_PASSWORD: glpi + picsur: + image: git.nixc.us/nixius/picsur:production-picsur + <<: *default-environment networks: - traefik - default volumes: - - /mnt/tank/persist/nixc.us/glpi/production/data:/var/www/html/glpi + - /mnt/tank/persist/nixc.us/picsur/production/data:/var/www/html/picsur deploy: placement: constraints: - node.hostname == macmini14 labels: homepage.group: apps - homepage.name: Glpi - homepage.href: https://glpi.nixc.us/ - homepage.description: Glpi + homepage.name: picsur + homepage.href: https://picsur.nixc.us/ + homepage.description: picsur traefik.enable: "true" - traefik.http.routers.glpi.tls: "true" - traefik.http.services.production_glpi.loadbalancer.server.port: 80 - traefik.http.routers.production_glpi.rule: Host(`glpi.nixc.us`) - traefik.http.routers.production_glpi.entrypoints: websecure - traefik.http.routers.production_glpi.tls.certresolver: letsencryptresolver - traefik.http.routers.production_glpi.service: glpi + traefik.http.routers.picsur.tls: "true" + traefik.http.services.production_picsur.loadbalancer.server.port: 8080 + traefik.http.routers.production_picsur.rule: Host(`picsur.nixc.us`) + traefik.http.routers.production_picsur.entrypoints: websecure + traefik.http.routers.production_picsur.tls.certresolver: letsencryptresolver + traefik.http.routers.production_picsur.service: production_picsur traefik.docker.network: traefik - # traefik.http.routers.production_glpi.middlewares: 'authelia_authelia@docker' + # traefik.http.routers.production_picsur.middlewares: 'authelia_authelia@docker' update_config: order: stop-first failure_action: rollback @@ -46,18 +64,13 @@ services: restart_policy: condition: on-failure - mariadb: - image: mariadb:10.7 - environment: - TZ: America/New_York - MARIADB_ROOT_PASSWORD: diouxx - MARIADB_DATABASE: glpidb - MARIADB_USER: glpi_user - MARIADB_PASSWORD: glpi + postgres: + image: git.nixc.us/nixius/picsur:production-postgres + <<: *default-environment networks: - default volumes: - - /mnt/tank/persist/nixc.us/mariadb/production/config:/var/lib/mysql + - /mnt/tank/persist/nixc.us/picsur/production/db:/var/lib/postgresql/data deploy: placement: constraints: diff --git a/stack.staging.yml b/stack.staging.yml index fc00b04..7fb4ff6 100644 --- a/stack.staging.yml +++ b/stack.staging.yml @@ -1,42 +1,60 @@ version: "3.7" +x-environment: &default-environment + environment: + POSTGRES_DB: picsur + POSTGRES_PASSWORD: picsur + POSTGRES_USER: picsur + # PICSUR_HOST: '0.0.0.0' + # PICSUR_PORT: 8080 + PICSUR_DB_HOST: postgres + PICSUR_DB_PORT: 5432 + PICSUR_DB_USERNAME: *POSTGRES_USER + PICSUR_DB_PASSWORD: *POSTGRES_PASSWORD + PICSUR_DB_DATABASE: *POSTGRES_DB + ## The default username is admin, this is not modifyable + PICSUR_ADMIN_PASSWORD: Jc4SfnnvBD9w3E4w6si8FnreQ8zoUxRco + ## Optional, random secret will be generated if not set + PICSUR_JWT_SECRET: lkBNe0tKsHxfAUh6CzyAWOxkl5AMsG/jFCG/o93yocU= + PICSUR_JWT_EXPIRY: 7d + ## Maximum accepted size for uploads in bytes + PICSUR_MAX_FILE_SIZE: 52428800 # 50 MB in bytes + ## No need to touch this, unless you use a custom frontend + # PICSUR_STATIC_FRONTEND_ROOT: "/picsur/frontend/dist" + ## Warning: Verbose mode might log sensitive data + PICSUR_VERBOSE: "true" + networks: traefik: external: true default: - services: - glpi: - image: git.nixc.us/colin/glpi:staging-glpi - environment: - TZ: America/New_York - MARIADB_ROOT_PASSWORD: diouxx - MARIADB_DATABASE: glpidb - MARIADB_USER: glpi_user - MARIADB_PASSWORD: glpi + picsur: + image: git.nixc.us/nixius/picsur:staging-picsur + <<: *default-environment networks: - traefik - default volumes: - - /mnt/tank/persist/nixc.us/glpi/staging/data:/var/www/html/glpi + - /mnt/tank/persist/nixc.us/picsur/staging/data:/var/www/html/picsur deploy: placement: constraints: - node.hostname == macmini14 labels: homepage.group: apps - homepage.name: Glpi - homepage.href: https://glpi.nixc.us/ - homepage.description: Glpi + homepage.name: picsur + homepage.href: https://picsur.nixc.us/ + homepage.description: picsur traefik.enable: "true" - traefik.http.routers.staging_glpi.tls: "true" - traefik.http.services.staging_glpi.loadbalancer.server.port: 80 - traefik.http.routers.staging_glpi.rule: Host(`staging.glpi.nixc.us`) - traefik.http.routers.staging_glpi.entrypoints: websecure - traefik.http.routers.staging_glpi.tls.certresolver: letsencryptresolver - traefik.http.routers.staging_glpi.service: glpi + traefik.http.routers.picsur.tls: "true" + traefik.http.services.staging_picsur.loadbalancer.server.port: 8080 + traefik.http.routers.staging_picsur.rule: Host(`staging.picsur.nixc.us`) + traefik.http.routers.staging_picsur.entrypoints: websecure + traefik.http.routers.staging_picsur.tls.certresolver: letsencryptresolver + traefik.http.routers.staging_picsur.service: staging_picsur traefik.docker.network: traefik - # traefik.http.routers.staging_glpi.middlewares: 'authelia_authelia@docker' + # traefik.http.routers.staging_picsur.middlewares: 'authelia_authelia@docker' update_config: order: stop-first failure_action: rollback @@ -46,18 +64,13 @@ services: restart_policy: condition: on-failure - mariadb: - image: mariadb:10.7 - environment: - TZ: America/New_York - MARIADB_ROOT_PASSWORD: diouxx - MARIADB_DATABASE: glpidb - MARIADB_USER: glpi_user - MARIADB_PASSWORD: glpi + postgres: + image: git.nixc.us/nixius/picsur:staging-postgres + <<: *default-environment networks: - default - volumes: - - /mnt/tank/persist/nixc.us/mariadb/staging/config:/var/lib/mysql + # volumes: + # - /mnt/tank/persist/nixc.us/picsur/staging/db:/var/lib/postgresql/data deploy: placement: constraints: