diff --git a/docker/finances-prod/docker-compose.yaml b/docker/finances-prod/docker-compose.yaml index 4872bbf..3471f5c 100644 --- a/docker/finances-prod/docker-compose.yaml +++ b/docker/finances-prod/docker-compose.yaml @@ -2,19 +2,21 @@ services: app-migrations: container_name: next_finances_migrations - image: markusthielker/next-finances:1.0.0 + image: markusthielker/next-finances:latest env_file: - .env depends_on: postgres: condition: service_healthy - command: [ "npx", "prisma", "migrate", "deploy" ] + command: npx prisma migrate deploy + labels: + - "com.centurylinklabs.watchtower.enable=true" networks: - internal app: container_name: next_finances_app - image: markusthielker/next-finances:1.0.0 + image: markusthielker/next-finances:latest env_file: - .env depends_on: @@ -27,19 +29,20 @@ services: - "traefik.http.routers.xyz-next-finances.entrypoints=web, websecure" - "traefik.http.routers.xyz-next-finances.tls=true" - "traefik.http.routers.xyz-next-finances.tls.certresolver=lets-encrypt" + - "com.centurylinklabs.watchtower.enable=true" networks: - web - internal app-studio: container_name: next_finances_studio - image: markusthielker/next-finances:1.0.0 + image: markusthielker/next-finances:latest env_file: - .env depends_on: app-migrations: condition: service_completed_successfully - command: "npx prisma studio" + command: npx prisma studio restart: unless-stopped labels: - "traefik.enable=true" @@ -48,6 +51,7 @@ services: - "traefik.http.services.xyz-next-finances-studio.loadbalancer.server.port=5555" - "traefik.http.routers.xyz-next-finances-studio.tls=true" - "traefik.http.routers.xyz-next-finances-studio.tls.certresolver=lets-encrypt" + - "com.centurylinklabs.watchtower.enable=true" networks: - web - internal @@ -62,14 +66,19 @@ services: timeout: 5s retries: 5 environment: - POSTGRES_USER: prisma - POSTGRES_PASSWORD: prisma + POSTGRES_USER: ${DB_USER} + POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: finances volumes: - - ./postgres-data:/var/lib/postgresql/data + - postgres-data:/var/lib/postgresql/data networks: - internal + +volumes: + postgres-data: + + networks: web: external: true diff --git a/package-lock.json b/package-lock.json index ab2c062..9c1ed7b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "next-finances", - "version": "0.1.0", + "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "next-finances", - "version": "0.1.0", + "version": "1.0.0", "dependencies": { "@hookform/resolvers": "^3.3.4", "@lucia-auth/adapter-prisma": "^4.0.0", diff --git a/package.json b/package.json index 91f1598..ee21928 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,16 @@ { "name": "next-finances", - "version": "0.1.0", + "description": "A finances application to keep track of my personal spendings", + "homepage": "https://github.com/MarkusThielker/next-finances", + "version": "1.0.0", + "license": "MIT", + "author": { + "name": "Markus Thielker" + }, + "repository": { + "type": "git", + "url": "https://github.com/MarkusThielker/next-finances.git" + }, "private": true, "scripts": { "dev": "next dev", diff --git a/src/components/form/generateSampleDataForm.tsx b/src/components/form/generateSampleDataForm.tsx index 25a0e29..c8677be 100644 --- a/src/components/form/generateSampleDataForm.tsx +++ b/src/components/form/generateSampleDataForm.tsx @@ -5,7 +5,7 @@ import React from 'react'; import { useRouter } from 'next/navigation'; import { toast } from 'sonner'; import { sonnerContent } from '@/components/ui/sonner'; -import { ActionResponse } from '@/lib/types/ActionResponse'; +import { ActionResponse } from '@/lib/types/actionResponse'; export default function GenerateSampleDataForm({onSubmit}: { onSubmit: () => Promise }) { diff --git a/src/lib/actions/generateSampleData.ts b/src/lib/actions/generateSampleData.ts index f72855a..86db509 100644 --- a/src/lib/actions/generateSampleData.ts +++ b/src/lib/actions/generateSampleData.ts @@ -3,7 +3,7 @@ import type { Category, Entity } from '@prisma/client'; import { EntityType } from '@prisma/client'; import { getUser } from '@/auth'; import { URL_SIGN_IN } from '@/lib/constants'; -import { ActionResponse } from '@/lib/types/ActionResponse'; +import { ActionResponse } from '@/lib/types/actionResponse'; export default async function generateSampleData(): Promise { 'use server';