diff --git a/apps/db/initial/1_init.sql b/apps/db/migrations/1_init.up.sql similarity index 64% rename from apps/db/initial/1_init.sql rename to apps/db/migrations/1_init.up.sql index a3314ff..68510fc 100644 --- a/apps/db/initial/1_init.sql +++ b/apps/db/migrations/1_init.up.sql @@ -1,66 +1,30 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 16.0 --- Dumped by pg_dump version 16.0 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - -- -- Name: adminpack; Type: EXTENSION; Schema: -; Owner: - -- - CREATE EXTENSION IF NOT EXISTS adminpack WITH SCHEMA pg_catalog; - -- -- Name: EXTENSION adminpack; Type: COMMENT; Schema: -; Owner: -- - COMMENT ON EXTENSION adminpack IS 'administrative functions for PostgreSQL'; - -- -- Name: BanType; Type: TYPE; Schema: public; Owner: postgres -- - -CREATE TYPE public."BanType" AS ENUM ( - 'ip', - 'email', - 'phone', - 'cf' -); - +CREATE TYPE public."BanType" AS ENUM ('ip', 'email', 'phone', 'cf'); ALTER TYPE public."BanType" OWNER TO postgres; -- -- Name: GenericStatusEnum; Type: TYPE; Schema: public; Owner: postgres -- - -CREATE TYPE public."GenericStatusEnum" AS ENUM ( - 'pending', - 'success', - 'failed' -); - +CREATE TYPE public."GenericStatusEnum" AS ENUM ('pending', 'success', 'failed'); ALTER TYPE public."GenericStatusEnum" OWNER TO postgres; -- -- Name: OrderTypeEnum; Type: TYPE; Schema: public; Owner: postgres -- - CREATE TYPE public."OrderTypeEnum" AS ENUM ( 'Acconto', 'Saldo', @@ -68,42 +32,31 @@ CREATE TYPE public."OrderTypeEnum" AS ENUM ( 'Altro' ); - ALTER TYPE public."OrderTypeEnum" OWNER TO postgres; -- -- Name: PaymentStatusEnum; Type: TYPE; Schema: public; Owner: postgres -- - -CREATE TYPE public."PaymentStatusEnum" AS ENUM ( - 'processing', - 'success', - 'failed' -); - +CREATE TYPE public."PaymentStatusEnum" AS ENUM ('processing', 'success', 'failed'); ALTER TYPE public."PaymentStatusEnum" OWNER TO postgres; -- -- Name: TipologiaPosizioneEnum; Type: TYPE; Schema: public; Owner: postgres -- - -CREATE TYPE public."TipologiaPosizioneEnum" AS ENUM ( - 'Transitorio', - 'Stabile' -); - +CREATE TYPE public."TipologiaPosizioneEnum" AS ENUM ('Transitorio', 'Stabile'); ALTER TYPE public."TipologiaPosizioneEnum" OWNER TO postgres; -SET default_tablespace = ''; +SET + default_tablespace = ''; -SET default_table_access_method = heap; +SET + default_table_access_method = heap; -- -- Name: annunci; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.annunci ( id integer NOT NULL, codice text NOT NULL, @@ -123,7 +76,7 @@ CREATE TABLE public.annunci ( lat_secondario text, lon_secondario text, tipo text, - categorie text[], + categorie text [], prezzo integer DEFAULT 0 NOT NULL, anno text, classe text, @@ -138,7 +91,7 @@ CREATE TABLE public.annunci ( numero_terrazzi integer, numero_box integer, numero_postiauto integer, - accessori text[], + accessori text [], titolo_it text, desc_it text, titolo_en text, @@ -147,88 +100,64 @@ CREATE TABLE public.annunci ( web boolean, caratteristiche json, homepage boolean, - url_video text[], + url_video text [], email text, creato_il timestamp without time zone, modificato_il timestamp without time zone, consegna integer, disponibile_da date, - permanenza integer[], - persone text[], + permanenza integer [], + persone text [], updated_at timestamp without time zone ); - -ALTER TABLE public.annunci OWNER TO postgres; +ALTER TABLE + public.annunci OWNER TO postgres; -- -- Name: COLUMN annunci.caratteristiche; Type: COMMENT; Schema: public; Owner: postgres -- - COMMENT ON COLUMN public.annunci.caratteristiche IS '@type(Caratteristiche, ''src/utils/kanel-types.ts'', false, false, true)'; - -- -- Name: annunci_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres -- - -CREATE SEQUENCE public.annunci_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - +CREATE SEQUENCE public.annunci_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; ALTER SEQUENCE public.annunci_id_seq OWNER TO postgres; -- -- Name: annunci_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres -- - ALTER SEQUENCE public.annunci_id_seq OWNED BY public.annunci.id; - -- -- Name: banlist; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.banlist ( id integer NOT NULL, value text NOT NULL, type public."BanType" NOT NULL ); - -ALTER TABLE public.banlist OWNER TO postgres; +ALTER TABLE + public.banlist OWNER TO postgres; -- -- Name: banlist_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres -- - -CREATE SEQUENCE public.banlist_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - +CREATE SEQUENCE public.banlist_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; ALTER SEQUENCE public.banlist_id_seq OWNER TO postgres; -- -- Name: banlist_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres -- - ALTER SEQUENCE public.banlist_id_seq OWNED BY public.banlist.id; - -- -- Name: banners; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.banners ( idbanner text NOT NULL, titolo text, @@ -245,39 +174,36 @@ CREATE TABLE public.banners ( hide_duration integer ); - -ALTER TABLE public.banners OWNER TO postgres; +ALTER TABLE + public.banners OWNER TO postgres; -- -- Name: chats; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.chats ( chatid uuid DEFAULT gen_random_uuid() NOT NULL, created_at timestamp without time zone NOT NULL, user_ref uuid NOT NULL, - tags text[] + tags text [] ); - -ALTER TABLE public.chats OWNER TO postgres; +ALTER TABLE + public.chats OWNER TO postgres; -- -- Name: chats_etichette; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.chats_etichette ( chatid uuid NOT NULL, etichettaid integer NOT NULL ); - -ALTER TABLE public.chats_etichette OWNER TO postgres; +ALTER TABLE + public.chats_etichette OWNER TO postgres; -- -- Name: emails; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.emails ( id_email integer NOT NULL, user_id uuid NOT NULL, @@ -285,118 +211,81 @@ CREATE TABLE public.emails ( data json NOT NULL ); - -ALTER TABLE public.emails OWNER TO postgres; +ALTER TABLE + public.emails OWNER TO postgres; -- -- Name: emails_id_email_seq; Type: SEQUENCE; Schema: public; Owner: postgres -- - -CREATE SEQUENCE public.emails_id_email_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - +CREATE SEQUENCE public.emails_id_email_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; ALTER SEQUENCE public.emails_id_email_seq OWNER TO postgres; -- -- Name: emails_id_email_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres -- - ALTER SEQUENCE public.emails_id_email_seq OWNED BY public.emails.id_email; - -- -- Name: etichette; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.etichette ( id_etichetta integer NOT NULL, title text NOT NULL, color_hex character varying(7) NOT NULL ); - -ALTER TABLE public.etichette OWNER TO postgres; +ALTER TABLE + public.etichette OWNER TO postgres; -- -- Name: etichette_id_etichetta_seq; Type: SEQUENCE; Schema: public; Owner: postgres -- - -CREATE SEQUENCE public.etichette_id_etichetta_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - +CREATE SEQUENCE public.etichette_id_etichetta_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; ALTER SEQUENCE public.etichette_id_etichetta_seq OWNER TO postgres; -- -- Name: etichette_id_etichetta_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres -- - ALTER SEQUENCE public.etichette_id_etichetta_seq OWNED BY public.etichette.id_etichetta; - -- -- Name: event_queue; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.event_queue ( event_id integer NOT NULL, lock_expires timestamp with time zone NOT NULL, data jsonb, - status text DEFAULT 'pending'::text NOT NULL + status text DEFAULT 'pending' :: text NOT NULL ); - -ALTER TABLE public.event_queue OWNER TO postgres; +ALTER TABLE + public.event_queue OWNER TO postgres; -- -- Name: event_queue_event_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres -- - -CREATE SEQUENCE public.event_queue_event_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - +CREATE SEQUENCE public.event_queue_event_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; ALTER SEQUENCE public.event_queue_event_id_seq OWNER TO postgres; -- -- Name: event_queue_event_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres -- - ALTER SEQUENCE public.event_queue_event_id_seq OWNED BY public.event_queue.event_id; - -- -- Name: flags; Type: TABLE; Schema: public; Owner: postgres -- +CREATE TABLE public.flags (id text NOT NULL, value text NOT NULL); -CREATE TABLE public.flags ( - id text NOT NULL, - value text NOT NULL -); - - -ALTER TABLE public.flags OWNER TO postgres; +ALTER TABLE + public.flags OWNER TO postgres; -- -- Name: images_refs; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.images_refs ( codice text NOT NULL, ordine integer NOT NULL, @@ -405,13 +294,12 @@ CREATE TABLE public.images_refs ( og_url text NOT NULL ); - -ALTER TABLE public.images_refs OWNER TO postgres; +ALTER TABLE + public.images_refs OWNER TO postgres; -- -- Name: messages; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.messages ( messageid uuid DEFAULT gen_random_uuid() NOT NULL, chatid uuid NOT NULL, @@ -421,13 +309,12 @@ CREATE TABLE public.messages ( sender uuid NOT NULL ); - -ALTER TABLE public.messages OWNER TO postgres; +ALTER TABLE + public.messages OWNER TO postgres; -- -- Name: ordini; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.ordini ( ordine_id uuid DEFAULT gen_random_uuid() NOT NULL, userid uuid NOT NULL, @@ -438,13 +325,12 @@ CREATE TABLE public.ordini ( "isActive" boolean DEFAULT false NOT NULL ); - -ALTER TABLE public.ordini OWNER TO postgres; +ALTER TABLE + public.ordini OWNER TO postgres; -- -- Name: payments; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.payments ( id uuid DEFAULT gen_random_uuid() NOT NULL, userid uuid NOT NULL, @@ -459,13 +345,12 @@ CREATE TABLE public.payments ( ordine_id uuid NOT NULL ); - -ALTER TABLE public.payments OWNER TO postgres; +ALTER TABLE + public.payments OWNER TO postgres; -- -- Name: prezziario; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.prezziario ( idprezziario text NOT NULL, prezzo_cent integer NOT NULL, @@ -483,26 +368,24 @@ CREATE TABLE public.prezziario ( "isTransitorio" boolean DEFAULT false NOT NULL ); - -ALTER TABLE public.prezziario OWNER TO postgres; +ALTER TABLE + public.prezziario OWNER TO postgres; -- -- Name: ratelimiter; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.ratelimiter ( key text NOT NULL, request_timestamp timestamp without time zone NOT NULL, request_count integer NOT NULL ); - -ALTER TABLE public.ratelimiter OWNER TO postgres; +ALTER TABLE + public.ratelimiter OWNER TO postgres; -- -- Name: servizio; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.servizio ( user_id uuid NOT NULL, created_at timestamp without time zone DEFAULT now() NOT NULL, @@ -534,13 +417,12 @@ CREATE TABLE public.servizio ( doc_motivazione_ref uuid ); - -ALTER TABLE public.servizio OWNER TO postgres; +ALTER TABLE + public.servizio OWNER TO postgres; -- -- Name: servizio_annunci; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.servizio_annunci ( servizio_id uuid NOT NULL, annunci_id integer NOT NULL, @@ -565,37 +447,34 @@ CREATE TABLE public.servizio_annunci ( doc_registrazione_added boolean DEFAULT false NOT NULL ); - -ALTER TABLE public.servizio_annunci OWNER TO postgres; +ALTER TABLE + public.servizio_annunci OWNER TO postgres; -- -- Name: servizio_interessi; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.servizio_interessi ( "annuncioId" integer NOT NULL, "userId" uuid NOT NULL ); - -ALTER TABLE public.servizio_interessi OWNER TO postgres; +ALTER TABLE + public.servizio_interessi OWNER TO postgres; -- -- Name: testi_e_stringhe; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.testi_e_stringhe ( stinga_id text NOT NULL, stringa_value text ); - -ALTER TABLE public.testi_e_stringhe OWNER TO postgres; +ALTER TABLE + public.testi_e_stringhe OWNER TO postgres; -- -- Name: users; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.users ( id uuid DEFAULT gen_random_uuid() NOT NULL, username text NOT NULL, @@ -616,13 +495,12 @@ CREATE TABLE public.users ( salt text NOT NULL ); - -ALTER TABLE public.users OWNER TO postgres; +ALTER TABLE + public.users OWNER TO postgres; -- -- Name: users_anagrafica; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.users_anagrafica ( idanagrafica uuid DEFAULT gen_random_uuid() NOT NULL, userid uuid NOT NULL, @@ -646,13 +524,12 @@ CREATE TABLE public.users_anagrafica ( legale_rappresentante text ); - -ALTER TABLE public.users_anagrafica OWNER TO postgres; +ALTER TABLE + public.users_anagrafica OWNER TO postgres; -- -- Name: users_storage; Type: TABLE; Schema: public; Owner: postgres -- - CREATE TABLE public.users_storage ( "userId" uuid NOT NULL, "storageId" text NOT NULL, @@ -660,444 +537,462 @@ CREATE TABLE public.users_storage ( user_storage_id uuid DEFAULT gen_random_uuid() NOT NULL ); - -ALTER TABLE public.users_storage OWNER TO postgres; +ALTER TABLE + public.users_storage OWNER TO postgres; -- -- Name: annunci id; Type: DEFAULT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.annunci ALTER COLUMN id SET DEFAULT nextval('public.annunci_id_seq'::regclass); - +ALTER TABLE + ONLY public.annunci +ALTER COLUMN + id +SET + DEFAULT nextval('public.annunci_id_seq' :: regclass); -- -- Name: banlist id; Type: DEFAULT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.banlist ALTER COLUMN id SET DEFAULT nextval('public.banlist_id_seq'::regclass); - +ALTER TABLE + ONLY public.banlist +ALTER COLUMN + id +SET + DEFAULT nextval('public.banlist_id_seq' :: regclass); -- -- Name: emails id_email; Type: DEFAULT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.emails ALTER COLUMN id_email SET DEFAULT nextval('public.emails_id_email_seq'::regclass); - +ALTER TABLE + ONLY public.emails +ALTER COLUMN + id_email +SET + DEFAULT nextval('public.emails_id_email_seq' :: regclass); -- -- Name: etichette id_etichetta; Type: DEFAULT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.etichette ALTER COLUMN id_etichetta SET DEFAULT nextval('public.etichette_id_etichetta_seq'::regclass); - +ALTER TABLE + ONLY public.etichette +ALTER COLUMN + id_etichetta +SET + DEFAULT nextval('public.etichette_id_etichetta_seq' :: regclass); -- -- Name: event_queue event_id; Type: DEFAULT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.event_queue ALTER COLUMN event_id SET DEFAULT nextval('public.event_queue_event_id_seq'::regclass); - +ALTER TABLE + ONLY public.event_queue +ALTER COLUMN + event_id +SET + DEFAULT nextval('public.event_queue_event_id_seq' :: regclass); -- -- Name: annunci annunci_codice_key; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.annunci - ADD CONSTRAINT annunci_codice_key UNIQUE (codice); - +ALTER TABLE + ONLY public.annunci +ADD + CONSTRAINT annunci_codice_key UNIQUE (codice); -- -- Name: annunci annunci_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.annunci - ADD CONSTRAINT annunci_pkey PRIMARY KEY (id); - +ALTER TABLE + ONLY public.annunci +ADD + CONSTRAINT annunci_pkey PRIMARY KEY (id); -- -- Name: banlist banlist_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.banlist - ADD CONSTRAINT banlist_pkey PRIMARY KEY (id); - +ALTER TABLE + ONLY public.banlist +ADD + CONSTRAINT banlist_pkey PRIMARY KEY (id); -- -- Name: banners banners_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.banners - ADD CONSTRAINT banners_pkey PRIMARY KEY (idbanner); - +ALTER TABLE + ONLY public.banners +ADD + CONSTRAINT banners_pkey PRIMARY KEY (idbanner); -- -- Name: chats_etichette chats_etichette_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.chats_etichette - ADD CONSTRAINT chats_etichette_pkey PRIMARY KEY (chatid, etichettaid); - +ALTER TABLE + ONLY public.chats_etichette +ADD + CONSTRAINT chats_etichette_pkey PRIMARY KEY (chatid, etichettaid); -- -- Name: chats chats_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.chats - ADD CONSTRAINT chats_pkey PRIMARY KEY (chatid); - +ALTER TABLE + ONLY public.chats +ADD + CONSTRAINT chats_pkey PRIMARY KEY (chatid); -- -- Name: emails emails_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.emails - ADD CONSTRAINT emails_pkey PRIMARY KEY (id_email); - +ALTER TABLE + ONLY public.emails +ADD + CONSTRAINT emails_pkey PRIMARY KEY (id_email); -- -- Name: etichette etichette_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.etichette - ADD CONSTRAINT etichette_pkey PRIMARY KEY (id_etichetta); - +ALTER TABLE + ONLY public.etichette +ADD + CONSTRAINT etichette_pkey PRIMARY KEY (id_etichetta); -- -- Name: event_queue event_queue_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.event_queue - ADD CONSTRAINT event_queue_pkey PRIMARY KEY (event_id); - +ALTER TABLE + ONLY public.event_queue +ADD + CONSTRAINT event_queue_pkey PRIMARY KEY (event_id); -- -- Name: images_refs img_cod_order; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.images_refs - ADD CONSTRAINT img_cod_order UNIQUE (codice, ordine); - +ALTER TABLE + ONLY public.images_refs +ADD + CONSTRAINT img_cod_order UNIQUE (codice, ordine); -- -- Name: messages messages_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.messages - ADD CONSTRAINT messages_pkey PRIMARY KEY (messageid); - +ALTER TABLE + ONLY public.messages +ADD + CONSTRAINT messages_pkey PRIMARY KEY (messageid); -- -- Name: ordini ordini2_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.ordini - ADD CONSTRAINT ordini2_pkey PRIMARY KEY (ordine_id); - +ALTER TABLE + ONLY public.ordini +ADD + CONSTRAINT ordini2_pkey PRIMARY KEY (ordine_id); -- -- Name: payments payments2_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.payments - ADD CONSTRAINT payments2_pkey PRIMARY KEY (id); - +ALTER TABLE + ONLY public.payments +ADD + CONSTRAINT payments2_pkey PRIMARY KEY (id); -- -- Name: prezziario prezziario2_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.prezziario - ADD CONSTRAINT prezziario2_pkey PRIMARY KEY (idprezziario); - +ALTER TABLE + ONLY public.prezziario +ADD + CONSTRAINT prezziario2_pkey PRIMARY KEY (idprezziario); -- -- Name: servizio servizio_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.servizio - ADD CONSTRAINT servizio_pkey PRIMARY KEY (servizio_id); - +ALTER TABLE + ONLY public.servizio +ADD + CONSTRAINT servizio_pkey PRIMARY KEY (servizio_id); -- -- Name: flags sitesettings_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.flags - ADD CONSTRAINT sitesettings_pkey PRIMARY KEY (id); - +ALTER TABLE + ONLY public.flags +ADD + CONSTRAINT sitesettings_pkey PRIMARY KEY (id); -- -- Name: testi_e_stringhe testi_e_stringhe_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.testi_e_stringhe - ADD CONSTRAINT testi_e_stringhe_pkey PRIMARY KEY (stinga_id); - +ALTER TABLE + ONLY public.testi_e_stringhe +ADD + CONSTRAINT testi_e_stringhe_pkey PRIMARY KEY (stinga_id); -- -- Name: banlist typeval; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.banlist - ADD CONSTRAINT typeval UNIQUE (type, value); - +ALTER TABLE + ONLY public.banlist +ADD + CONSTRAINT typeval UNIQUE (type, value); -- -- Name: servizio_annunci uniq_annuncio_servizio; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.servizio_annunci - ADD CONSTRAINT uniq_annuncio_servizio UNIQUE (annunci_id, servizio_id); - +ALTER TABLE + ONLY public.servizio_annunci +ADD + CONSTRAINT uniq_annuncio_servizio UNIQUE (annunci_id, servizio_id); -- -- Name: users_storage unique_user_storage; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.users_storage - ADD CONSTRAINT unique_user_storage UNIQUE ("userId", "storageId"); - +ALTER TABLE + ONLY public.users_storage +ADD + CONSTRAINT unique_user_storage UNIQUE ("userId", "storageId"); -- -- Name: servizio_interessi uniqui_interest; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.servizio_interessi - ADD CONSTRAINT uniqui_interest UNIQUE ("annuncioId", "userId"); - +ALTER TABLE + ONLY public.servizio_interessi +ADD + CONSTRAINT uniqui_interest UNIQUE ("annuncioId", "userId"); -- -- Name: users users_email_key; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.users - ADD CONSTRAINT users_email_key UNIQUE (email); - +ALTER TABLE + ONLY public.users +ADD + CONSTRAINT users_email_key UNIQUE (email); -- -- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.users - ADD CONSTRAINT users_pkey PRIMARY KEY (id); - +ALTER TABLE + ONLY public.users +ADD + CONSTRAINT users_pkey PRIMARY KEY (id); -- -- Name: users_storage users_storage_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.users_storage - ADD CONSTRAINT users_storage_pkey PRIMARY KEY (user_storage_id); - +ALTER TABLE + ONLY public.users_storage +ADD + CONSTRAINT users_storage_pkey PRIMARY KEY (user_storage_id); -- -- Name: users_anagrafica usersanagrafica2_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.users_anagrafica - ADD CONSTRAINT usersanagrafica2_pkey PRIMARY KEY (idanagrafica); - +ALTER TABLE + ONLY public.users_anagrafica +ADD + CONSTRAINT usersanagrafica2_pkey PRIMARY KEY (idanagrafica); -- -- Name: users_anagrafica usserunique2; Type: CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.users_anagrafica - ADD CONSTRAINT usserunique2 UNIQUE (userid); - +ALTER TABLE + ONLY public.users_anagrafica +ADD + CONSTRAINT usserunique2 UNIQUE (userid); -- -- Name: ratelimiter_key_index; Type: INDEX; Schema: public; Owner: postgres -- - CREATE INDEX ratelimiter_key_index ON public.ratelimiter USING btree (key); - -- -- Name: chats_etichette chat_etichetta_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.chats_etichette - ADD CONSTRAINT chat_etichetta_fkey FOREIGN KEY (chatid) REFERENCES public.chats(chatid) ON UPDATE CASCADE ON DELETE CASCADE; - +ALTER TABLE + ONLY public.chats_etichette +ADD + CONSTRAINT chat_etichetta_fkey FOREIGN KEY (chatid) REFERENCES public.chats(chatid) ON UPDATE CASCADE ON DELETE CASCADE; -- -- Name: images_refs cod_image; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.images_refs - ADD CONSTRAINT cod_image FOREIGN KEY (codice) REFERENCES public.annunci(codice); - +ALTER TABLE + ONLY public.images_refs +ADD + CONSTRAINT cod_image FOREIGN KEY (codice) REFERENCES public.annunci(codice); -- -- Name: emails email_user; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.emails - ADD CONSTRAINT email_user FOREIGN KEY (user_id) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE; - +ALTER TABLE + ONLY public.emails +ADD + CONSTRAINT email_user FOREIGN KEY (user_id) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE; -- -- Name: chats_etichette etichetta_chetich_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.chats_etichette - ADD CONSTRAINT etichetta_chetich_fkey FOREIGN KEY (etichettaid) REFERENCES public.etichette(id_etichetta) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; - +ALTER TABLE + ONLY public.chats_etichette +ADD + CONSTRAINT etichetta_chetich_fkey FOREIGN KEY (etichettaid) REFERENCES public.etichette(id_etichetta) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; -- -- Name: servizio_interessi interesse_annuncio; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.servizio_interessi - ADD CONSTRAINT interesse_annuncio FOREIGN KEY ("annuncioId") REFERENCES public.annunci(id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; - +ALTER TABLE + ONLY public.servizio_interessi +ADD + CONSTRAINT interesse_annuncio FOREIGN KEY ("annuncioId") REFERENCES public.annunci(id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; -- -- Name: servizio_interessi interesse_user; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.servizio_interessi - ADD CONSTRAINT interesse_user FOREIGN KEY ("userId") REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; - +ALTER TABLE + ONLY public.servizio_interessi +ADD + CONSTRAINT interesse_user FOREIGN KEY ("userId") REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; -- -- Name: messages messages_chatid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.messages - ADD CONSTRAINT messages_chatid_fkey FOREIGN KEY (chatid) REFERENCES public.chats(chatid) ON DELETE CASCADE; - +ALTER TABLE + ONLY public.messages +ADD + CONSTRAINT messages_chatid_fkey FOREIGN KEY (chatid) REFERENCES public.chats(chatid) ON DELETE CASCADE; -- -- Name: messages messages_user_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.messages - ADD CONSTRAINT messages_user_fkey FOREIGN KEY (sender) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE; - +ALTER TABLE + ONLY public.messages +ADD + CONSTRAINT messages_user_fkey FOREIGN KEY (sender) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE; -- -- Name: ordini ordine2_pack_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.ordini - ADD CONSTRAINT ordine2_pack_fkey FOREIGN KEY (packid) REFERENCES public.prezziario(idprezziario) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; - +ALTER TABLE + ONLY public.ordini +ADD + CONSTRAINT ordine2_pack_fkey FOREIGN KEY (packid) REFERENCES public.prezziario(idprezziario) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; -- -- Name: ordini ordine2_servizio_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.ordini - ADD CONSTRAINT ordine2_servizio_fkey FOREIGN KEY (servizio_id) REFERENCES public.servizio(servizio_id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; - +ALTER TABLE + ONLY public.ordini +ADD + CONSTRAINT ordine2_servizio_fkey FOREIGN KEY (servizio_id) REFERENCES public.servizio(servizio_id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; -- -- Name: ordini ordine2_userid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.ordini - ADD CONSTRAINT ordine2_userid_fkey FOREIGN KEY (userid) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; - +ALTER TABLE + ONLY public.ordini +ADD + CONSTRAINT ordine2_userid_fkey FOREIGN KEY (userid) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; -- -- Name: payments payments2_ordine_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.payments - ADD CONSTRAINT payments2_ordine_fkey FOREIGN KEY (ordine_id) REFERENCES public.ordini(ordine_id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; - +ALTER TABLE + ONLY public.payments +ADD + CONSTRAINT payments2_ordine_fkey FOREIGN KEY (ordine_id) REFERENCES public.ordini(ordine_id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; -- -- Name: payments payments2_servizio_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.payments - ADD CONSTRAINT payments2_servizio_fkey FOREIGN KEY (servizio_id) REFERENCES public.servizio(servizio_id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; - +ALTER TABLE + ONLY public.payments +ADD + CONSTRAINT payments2_servizio_fkey FOREIGN KEY (servizio_id) REFERENCES public.servizio(servizio_id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; -- -- Name: payments payments2_userid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.payments - ADD CONSTRAINT payments2_userid_fkey FOREIGN KEY (userid) REFERENCES public.users(id) ON DELETE CASCADE; - +ALTER TABLE + ONLY public.payments +ADD + CONSTRAINT payments2_userid_fkey FOREIGN KEY (userid) REFERENCES public.users(id) ON DELETE CASCADE; -- -- Name: servizio_annunci servizio_annuncio_J_annuncio; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.servizio_annunci - ADD CONSTRAINT "servizio_annuncio_J_annuncio" FOREIGN KEY (annunci_id) REFERENCES public.annunci(id) ON UPDATE CASCADE ON DELETE CASCADE; - +ALTER TABLE + ONLY public.servizio_annunci +ADD + CONSTRAINT "servizio_annuncio_J_annuncio" FOREIGN KEY (annunci_id) REFERENCES public.annunci(id) ON UPDATE CASCADE ON DELETE CASCADE; -- -- Name: servizio_annunci servizio_annuncio_J_servizio; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.servizio_annunci - ADD CONSTRAINT "servizio_annuncio_J_servizio" FOREIGN KEY (servizio_id) REFERENCES public.servizio(servizio_id) ON UPDATE CASCADE ON DELETE CASCADE; - +ALTER TABLE + ONLY public.servizio_annunci +ADD + CONSTRAINT "servizio_annuncio_J_servizio" FOREIGN KEY (servizio_id) REFERENCES public.servizio(servizio_id) ON UPDATE CASCADE ON DELETE CASCADE; -- -- Name: servizio servizio_doc_fronte; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.servizio - ADD CONSTRAINT servizio_doc_fronte FOREIGN KEY (doc_personale_fronte_ref) REFERENCES public.users_storage(user_storage_id) ON UPDATE CASCADE ON DELETE SET NULL NOT VALID; - +ALTER TABLE + ONLY public.servizio +ADD + CONSTRAINT servizio_doc_fronte FOREIGN KEY (doc_personale_fronte_ref) REFERENCES public.users_storage(user_storage_id) ON UPDATE CASCADE ON DELETE +SET + NULL NOT VALID; -- -- Name: servizio servizio_doc_motivazione; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.servizio - ADD CONSTRAINT servizio_doc_motivazione FOREIGN KEY (doc_motivazione_ref) REFERENCES public.users_storage(user_storage_id) ON UPDATE CASCADE ON DELETE SET NULL NOT VALID; - +ALTER TABLE + ONLY public.servizio +ADD + CONSTRAINT servizio_doc_motivazione FOREIGN KEY (doc_motivazione_ref) REFERENCES public.users_storage(user_storage_id) ON UPDATE CASCADE ON DELETE +SET + NULL NOT VALID; -- -- Name: servizio servizio_doc_retro; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.servizio - ADD CONSTRAINT servizio_doc_retro FOREIGN KEY (doc_personale_retro_ref) REFERENCES public.users_storage(user_storage_id) ON UPDATE CASCADE ON DELETE SET NULL NOT VALID; - +ALTER TABLE + ONLY public.servizio +ADD + CONSTRAINT servizio_doc_retro FOREIGN KEY (doc_personale_retro_ref) REFERENCES public.users_storage(user_storage_id) ON UPDATE CASCADE ON DELETE +SET + NULL NOT VALID; -- -- Name: servizio user_servizio; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.servizio - ADD CONSTRAINT user_servizio FOREIGN KEY (user_id) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE; - +ALTER TABLE + ONLY public.servizio +ADD + CONSTRAINT user_servizio FOREIGN KEY (user_id) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE; -- -- Name: chats userchats; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.chats - ADD CONSTRAINT userchats FOREIGN KEY (user_ref) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; - +ALTER TABLE + ONLY public.chats +ADD + CONSTRAINT userchats FOREIGN KEY (user_ref) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; -- -- Name: users_anagrafica useridfkeyanagrafica2; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.users_anagrafica - ADD CONSTRAINT useridfkeyanagrafica2 FOREIGN KEY (userid) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; - +ALTER TABLE + ONLY public.users_anagrafica +ADD + CONSTRAINT useridfkeyanagrafica2 FOREIGN KEY (userid) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID; -- -- Name: users_storage userstorage; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- - -ALTER TABLE ONLY public.users_storage - ADD CONSTRAINT userstorage FOREIGN KEY ("userId") REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE; - +ALTER TABLE + ONLY public.users_storage +ADD + CONSTRAINT userstorage FOREIGN KEY ("userId") REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE; -- -- PostgreSQL database dump complete --- - +-- \ No newline at end of file diff --git a/apps/db/initial/2_data.sql b/apps/db/migrations/2_data.up.sql similarity index 100% rename from apps/db/initial/2_data.sql rename to apps/db/migrations/2_data.up.sql diff --git a/apps/db/initial/3_seed_user.sql b/apps/db/migrations/3_seed_user.up.sql similarity index 72% rename from apps/db/initial/3_seed_user.sql rename to apps/db/migrations/3_seed_user.up.sql index c479eb0..875439a 100644 --- a/apps/db/initial/3_seed_user.sql +++ b/apps/db/migrations/3_seed_user.up.sql @@ -1,14 +1,14 @@ INSERT INTO PUBLIC.USERS ( - USERNAME, - EMAIL, + username, + email, "isAdmin", PASSWORD, - NOME, - COGNOME, + nome, + cognome, "isVerified", - SALT, - TELEFONO + salt, + telefono ) VALUES ( 'Marco Pedone'::TEXT, @@ -20,4 +20,5 @@ VALUES ( TRUE::BOOLEAN, 'a'::TEXT, '+393407246729'::TEXT - ); \ No newline at end of file + ) +ON CONFLICT (email) DO NOTHING; \ No newline at end of file diff --git a/deploy_marcopedone.sh b/deploy_marcopedone.sh index 4532bdc..49564c0 100644 --- a/deploy_marcopedone.sh +++ b/deploy_marcopedone.sh @@ -5,7 +5,7 @@ set -euo pipefail export TAG="latest" export IMAGE_REGISTRY="ghcr.io" export OWNER="marcopedone" -export SERVICES="web backend db" +export SERVICES="web backend" export USERNAME="marcopedone" export TOKEN="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" export ENV_FILE=".env.marcopedone" diff --git a/docker-compose.yml b/docker-compose.yml index d1f354a..d81e05d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,17 +1,12 @@ services: db: - build: - context: ./apps/db - dockerfile: Dockerfile - args: - POSTGRES_USER: ${POSTGRES_USER} - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} - POSTGRES_DB: ${POSTGRES_DB} + image: postgres:16 environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} restart: unless-stopped + pull_policy: "always" networks: - dokploy-network expose: @@ -23,25 +18,39 @@ services: interval: 1s timeout: 5s retries: 10 - - minio: - image: minio/minio - expose: - - "9000" - - "9001" + migrate: + image: migrate/migrate:latest + depends_on: + - db volumes: - - minio_storage:/data + - ./apps/db/migrations:/migrations + command: + [ + "-path", "/migrations", + "-database", "postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}?sslmode=disable", + "up" + ] + restart: "no" + + storage: + image: "ghcr.io/marcopedone/go_fs:latest" + expose: + - "8080" + restart: unless-stopped + pull_policy: "always" + environment: + PORT: 8080 + AUTH_TOKEN: ${STORAGE_TOKEN} + volumes: + - storage_data:/app/storage networks: - dokploy-network - environment: - MINIO_ROOT_USER: ${MINIO_ROOT_USER} - MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} - command: server --console-address ":9001" /data healthcheck: - test: [ "CMD", "curl", "-f", "http://minio:9000/minio/health/live" ] + test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 10s - timeout: 10s + timeout: 5s retries: 5 + start_period: 10s tiles: image: eqalpha/keydb:latest @@ -83,22 +92,16 @@ services: cpus: "0.5" backend: - build: - context: ./apps/backend - dockerfile: Dockerfile + image: "${IMAGE_REGISTRY:-ghcr.io}/${OWNER:-marcopedone}/${PREFIX:-infoalloggi}-backend:${TAG:-latest}" networks: - dokploy-network expose: - 1323 restart: unless-stopped - volumes: - - images_volume:/app/images - - storage_volume:/app/storage + pull_policy: "always" environment: - STORAGE_STRATEGY: "s3" - MINIO_URL: minio:9000 - MINIO_ROOT_USER: ${MINIO_ROOT_USER} - MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} + STORAGE_URL: http://storage:8080 + STORAGE_TOKEN: ${STORAGE_TOKEN} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} @@ -112,7 +115,7 @@ services: timeout: 5s retries: 5 depends_on: - minio: + storage: condition: service_healthy db: condition: service_healthy @@ -122,36 +125,9 @@ services: condition: service_healthy web: - build: - context: ./apps/infoalloggi - dockerfile: Dockerfile - args: - INTERNAL_BASE_URL: http://web:3000 - POSTGRES_USER: ${POSTGRES_USER} - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} - POSTGRES_DB: ${POSTGRES_DB} - PGHOST: db - PGPORT: "5432" - BACKENDSERVER_URL: http://backend:1323 - TILES_URL: tiles:6379 - KEYDB_URL: keydb:6379 - BASE_URL: ${BASE_URL} - SENDGRID_API_KEY: ${SENDGRID_API_KEY} - STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY} - NEXT_PUBLIC_STRIPE_PUBLIC_KEY: ${NEXT_PUBLIC_STRIPE_PUBLIC_KEY} - STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET} - FIC_CLIENT_ID: ${FIC_CLIENT_ID} - FIC_ACCESS_TOKEN: ${FIC_ACCESS_TOKEN} - FIC_COMPANY_ID: ${FIC_COMPANY_ID} - ARUBA_USER: ${ARUBA_USER} - ARUBA_PASS: ${ARUBA_PASS} - EXP_API_USER: ${EXP_API_USER} - EXP_API_PASS: ${EXP_API_PASS} - JWT_SECRET: ${JWT_SECRET} - SKEBBY_USER: ${SKEBBY_USER} - SKEBBY_PASS: ${SKEBBY_PASS} - STORAGE_TOKEN: ${STORAGE_TOKEN} + image: "${IMAGE_REGISTRY:-ghcr.io}/${OWNER:-marcopedone}/${PREFIX:-infoalloggi}-web:${TAG:-latest}" working_dir: /app + pull_policy: "always" environment: INTERNAL_BASE_URL: http://web:3000 POSTGRES_USER: ${POSTGRES_USER} @@ -163,7 +139,7 @@ services: KEYDB_URL: keydb:6379 TILES_URL: tiles:6379 BASE_URL: ${BASE_URL} - SENDGRID_API_KEY: ${SENDGRID_API_KEY} + NEXT_PUBLIC_BASE_URL: ${BASE_URL} STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY} NEXT_PUBLIC_STRIPE_PUBLIC_KEY: ${NEXT_PUBLIC_STRIPE_PUBLIC_KEY} STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET} @@ -177,6 +153,7 @@ services: JWT_SECRET: ${JWT_SECRET} SKEBBY_USER: ${SKEBBY_USER} SKEBBY_PASS: ${SKEBBY_PASS} + STORAGE_URL: http://storage:8080 STORAGE_TOKEN: ${STORAGE_TOKEN} networks: - dokploy-network @@ -197,9 +174,7 @@ networks: external: true volumes: - minio_storage: - images_volume: - storage_volume: + storage_data: tiles-data: keydb-data: dbdata: diff --git a/ref-docker-compose.yml b/old-docker-compose.yml similarity index 63% rename from ref-docker-compose.yml rename to old-docker-compose.yml index 91d97cf..d1f354a 100644 --- a/ref-docker-compose.yml +++ b/old-docker-compose.yml @@ -1,12 +1,17 @@ services: db: - image: "${IMAGE_REGISTRY:-ghcr.io}/${OWNER:-marcopedone}/${PREFIX:-infoalloggi}-db:${TAG:-latest}" + build: + context: ./apps/db + dockerfile: Dockerfile + args: + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: ${POSTGRES_DB} environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} restart: unless-stopped - pull_policy: "always" networks: - dokploy-network expose: @@ -18,25 +23,25 @@ services: interval: 1s timeout: 5s retries: 10 - storage: - image: "ghcr.io/marcopedone/go_fs:latest" + + minio: + image: minio/minio expose: - - "8080" - restart: unless-stopped - pull_policy: "always" - environment: - PORT: 8080 - AUTH_TOKEN: ${STORAGE_TOKEN} + - "9000" + - "9001" volumes: - - storage_data:/app/storage + - minio_storage:/data networks: - dokploy-network + environment: + MINIO_ROOT_USER: ${MINIO_ROOT_USER} + MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} + command: server --console-address ":9001" /data healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8080/health"] + test: [ "CMD", "curl", "-f", "http://minio:9000/minio/health/live" ] interval: 10s - timeout: 5s + timeout: 10s retries: 5 - start_period: 10s tiles: image: eqalpha/keydb:latest @@ -78,16 +83,22 @@ services: cpus: "0.5" backend: - image: "${IMAGE_REGISTRY:-ghcr.io}/${OWNER:-marcopedone}/${PREFIX:-infoalloggi}-backend:${TAG:-latest}" + build: + context: ./apps/backend + dockerfile: Dockerfile networks: - dokploy-network expose: - 1323 restart: unless-stopped - pull_policy: "always" + volumes: + - images_volume:/app/images + - storage_volume:/app/storage environment: - STORAGE_URL: http://storage:8080 - STORAGE_TOKEN: ${STORAGE_TOKEN} + STORAGE_STRATEGY: "s3" + MINIO_URL: minio:9000 + MINIO_ROOT_USER: ${MINIO_ROOT_USER} + MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} @@ -101,7 +112,7 @@ services: timeout: 5s retries: 5 depends_on: - storage: + minio: condition: service_healthy db: condition: service_healthy @@ -111,9 +122,36 @@ services: condition: service_healthy web: - image: "${IMAGE_REGISTRY:-ghcr.io}/${OWNER:-marcopedone}/${PREFIX:-infoalloggi}-web:${TAG:-latest}" + build: + context: ./apps/infoalloggi + dockerfile: Dockerfile + args: + INTERNAL_BASE_URL: http://web:3000 + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: ${POSTGRES_DB} + PGHOST: db + PGPORT: "5432" + BACKENDSERVER_URL: http://backend:1323 + TILES_URL: tiles:6379 + KEYDB_URL: keydb:6379 + BASE_URL: ${BASE_URL} + SENDGRID_API_KEY: ${SENDGRID_API_KEY} + STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY} + NEXT_PUBLIC_STRIPE_PUBLIC_KEY: ${NEXT_PUBLIC_STRIPE_PUBLIC_KEY} + STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET} + FIC_CLIENT_ID: ${FIC_CLIENT_ID} + FIC_ACCESS_TOKEN: ${FIC_ACCESS_TOKEN} + FIC_COMPANY_ID: ${FIC_COMPANY_ID} + ARUBA_USER: ${ARUBA_USER} + ARUBA_PASS: ${ARUBA_PASS} + EXP_API_USER: ${EXP_API_USER} + EXP_API_PASS: ${EXP_API_PASS} + JWT_SECRET: ${JWT_SECRET} + SKEBBY_USER: ${SKEBBY_USER} + SKEBBY_PASS: ${SKEBBY_PASS} + STORAGE_TOKEN: ${STORAGE_TOKEN} working_dir: /app - pull_policy: "always" environment: INTERNAL_BASE_URL: http://web:3000 POSTGRES_USER: ${POSTGRES_USER} @@ -125,7 +163,7 @@ services: KEYDB_URL: keydb:6379 TILES_URL: tiles:6379 BASE_URL: ${BASE_URL} - NEXT_PUBLIC_BASE_URL: ${BASE_URL} + SENDGRID_API_KEY: ${SENDGRID_API_KEY} STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY} NEXT_PUBLIC_STRIPE_PUBLIC_KEY: ${NEXT_PUBLIC_STRIPE_PUBLIC_KEY} STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET} @@ -139,7 +177,6 @@ services: JWT_SECRET: ${JWT_SECRET} SKEBBY_USER: ${SKEBBY_USER} SKEBBY_PASS: ${SKEBBY_PASS} - STORAGE_URL: http://storage:8080 STORAGE_TOKEN: ${STORAGE_TOKEN} networks: - dokploy-network @@ -160,7 +197,9 @@ networks: external: true volumes: - storage_data: + minio_storage: + images_volume: + storage_volume: tiles-data: keydb-data: dbdata: