diff --git a/almeira-web-deploy.zip b/almeira-web-deploy.zip index 5e6fdde..7f5dafd 100644 Binary files a/almeira-web-deploy.zip and b/almeira-web-deploy.zip differ diff --git a/alter_all.sql b/alter_all.sql new file mode 100644 index 0000000..b4cd2dc --- /dev/null +++ b/alter_all.sql @@ -0,0 +1,536 @@ +START TRANSACTION; +ALTER TABLE _1__metadata ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1__metadata_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_attributes ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_attributes_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_audit ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_audit_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_authenticators ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_authenticators_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_bucket_1 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_bucket_1_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_buckets ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_buckets_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_cache ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_cache_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_challenges ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_challenges_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_1 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_10 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_10_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_11 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_11_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_12 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_12_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_13 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_13_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_14 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_14_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_15 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_15_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_1_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_2 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_2_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_3 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_31 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_31_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_32 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_32_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_33 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_33_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_34 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_34_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_35 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_35_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_37 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_37_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_38 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_38_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_39 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_39_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_3_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_4 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_4_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_5 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_5_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_6 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_6_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_7 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_7_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_8 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_8_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_9 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_collection_9_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_database_1_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_databases ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_databases_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_deployments ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_deployments_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_executions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_executions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_functions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_functions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_identities ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_identities_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_indexes ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_indexes_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_memberships ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_memberships_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_messages ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_messages_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_migrations ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_migrations_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_presenceLogs ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_presenceLogs_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_providers ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_providers_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_resourceTokens ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_resourceTokens_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_sessions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_sessions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_sites ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_sites_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_stats ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_stats_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_subscribers ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_subscribers_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_targets ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_targets_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_teams ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_teams_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_tokens ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_tokens_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_topics ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_topics_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_transactionLogs ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_transactionLogs_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_transactions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_transactions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_users ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_users_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_variables ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _1_variables_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2__metadata ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2__metadata_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_attributes ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_attributes_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_audit ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_audit_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_authenticators ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_authenticators_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_buckets ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_buckets_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_cache ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_cache_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_challenges ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_challenges_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_databases ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_databases_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_deployments ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_deployments_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_executions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_executions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_functions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_functions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_identities ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_identities_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_indexes ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_indexes_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_memberships ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_memberships_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_messages ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_messages_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_migrations ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_migrations_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_presenceLogs ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_presenceLogs_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_providers ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_providers_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_resourceTokens ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_resourceTokens_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_sessions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_sessions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_sites ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_sites_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_stats ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_stats_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_subscribers ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_subscribers_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_targets ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_targets_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_teams ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_teams_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_tokens ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_tokens_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_topics ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_topics_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_transactionLogs ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_transactionLogs_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_transactions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_transactions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_users ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_users_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_variables ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _2_variables_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3__metadata ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3__metadata_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_attributes ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_attributes_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_audit ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_audit_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_authenticators ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_authenticators_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_buckets ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_buckets_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_cache ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_cache_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_challenges ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_challenges_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_1 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_10 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_10_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_11 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_11_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_12 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_12_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_13 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_13_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_14 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_14_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_15 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_15_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_16 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_16_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_17 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_17_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_18 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_18_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_19 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_19_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_1_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_2 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_20 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_20_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_21 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_21_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_22 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_22_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_23 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_23_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_24 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_24_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_25 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_25_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_26 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_26_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_27 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_27_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_28 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_28_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_29 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_29_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_2_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_3 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_30 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_30_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_31 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_31_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_32 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_32_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_33 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_33_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_34 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_34_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_35 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_35_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_36 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_36_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_37 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_37_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_38 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_38_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_39 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_39_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_3_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_4 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_40 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_40_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_41 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_41_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_42 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_42_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_43 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_43_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_44 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_44_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_45 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_45_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_46 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_46_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_47 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_47_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_48 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_48_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_49 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_49_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_4_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_5 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_50 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_50_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_51 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_51_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_52 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_52_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_53 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_53_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_54 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_54_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_55 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_55_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_56 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_56_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_57 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_57_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_58 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_58_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_59 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_59_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_5_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_6 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_60 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_60_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_61 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_61_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_62 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_62_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_63 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_63_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_64 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_64_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_65 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_65_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_66 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_66_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_67 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_67_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_68 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_68_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_69 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_69_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_6_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_7 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_70 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_70_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_71 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_71_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_72 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_72_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_73 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_73_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_74 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_74_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_75 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_75_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_76 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_76_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_77 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_77_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_78 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_78_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_79 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_79_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_7_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_8 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_80 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_80_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_81 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_81_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_8_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_9 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_collection_9_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_database_1_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_databases ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_databases_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_deployments ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_deployments_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_executions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_executions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_functions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_functions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_identities ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_identities_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_indexes ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_indexes_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_memberships ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_memberships_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_messages ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_messages_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_migrations ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_migrations_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_presenceLogs ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_presenceLogs_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_providers ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_providers_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_resourceTokens ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_resourceTokens_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_sessions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_sessions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_sites ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_sites_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_stats ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_stats_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_subscribers ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_subscribers_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_targets ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_targets_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_teams ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_teams_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_tokens ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_tokens_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_topics ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_topics_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_transactionLogs ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_transactionLogs_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_transactions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_transactions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_users ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_users_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_variables ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _3_variables_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4__metadata ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4__metadata_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_attributes ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_attributes_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_audit ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_audit_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_authenticators ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_authenticators_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_buckets ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_buckets_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_cache ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_cache_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_challenges ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_challenges_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_databases ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_databases_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_deployments ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_deployments_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_executions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_executions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_functions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_functions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_identities ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_identities_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_indexes ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_indexes_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_memberships ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_memberships_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_messages ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_messages_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_migrations ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_migrations_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_presenceLogs ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_presenceLogs_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_providers ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_providers_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_resourceTokens ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_resourceTokens_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_sessions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_sessions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_sites ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_sites_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_stats ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_stats_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_subscribers ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_subscribers_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_targets ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_targets_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_teams ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_teams_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_tokens ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_tokens_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_topics ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_topics_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_transactionLogs ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_transactionLogs_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_transactions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_transactions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_users ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_users_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_variables ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _4_variables_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console__metadata ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console__metadata_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_audit ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_audit_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_authenticators ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_authenticators_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_bucket_1 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_bucket_1_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_bucket_2 ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_bucket_2_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_buckets ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_buckets_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_cache ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_cache_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_certificates ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_certificates_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_challenges ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_challenges_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_devKeys ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_devKeys_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_identities ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_identities_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_insights ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_insights_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_installations ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_installations_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_keys ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_keys_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_memberships ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_memberships_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_messages ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_messages_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_platforms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_platforms_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_presenceLogs ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_presenceLogs_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_projects ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_projects_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_providers ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_providers_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_realtime ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_realtime_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_reports ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_reports_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_repositories ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_repositories_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_rules ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_rules_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_schedules ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_schedules_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_sessions ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_sessions_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_stats ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_stats_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_subscribers ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_subscribers_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_targets ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_targets_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_teams ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_teams_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_tokens ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_tokens_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_topics ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_topics_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_users ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_users_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_vcsCommentLocks ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_vcsCommentLocks_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_vcsComments ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_vcsComments_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_webhooks ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +ALTER TABLE _console_webhooks_perms ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL; +COMMIT; diff --git a/append.yml b/append.yml new file mode 100644 index 0000000..35cc236 --- /dev/null +++ b/append.yml @@ -0,0 +1,50 @@ + appwrite-mongodb: + image: mongo:8.2.5 + container_name: appwrite-mongodb + restart: on-failure:3 + networks: + - xusc4nl22shr5sca73x2vkwf + volumes: + - appwrite-mongodb:/data/db + environment: + - MONGO_INITDB_ROOT_USERNAME=root + - MONGO_INITDB_ROOT_PASSWORD=${_APP_DB_ROOT_PASS} + - MONGO_INITDB_DATABASE=${_APP_DB_SCHEMA} + - MONGO_INITDB_USERNAME=${_APP_DB_USER} + - MONGO_INITDB_PASSWORD=${_APP_DB_PASS} + command: ["mongod", "--replSet", "rs0"] + healthcheck: + test: | + bash -c " + mongosh -u root -p ${_APP_DB_ROOT_PASS} --authenticationDatabase admin --quiet --eval \" + try { + rs.initiate({_id: 'rs0', members: [{_id: 0, host: 'appwrite-mongodb:27017'}]}); + } catch (e) {} + const hello = db.adminCommand({hello: 1}); + if (hello.isWritablePrimary) { + quit(0); + } + quit(1); + \" 2>/dev/null + " + interval: 10s + timeout: 10s + retries: 10 + start_period: 60s + appwrite-postgresql: + image: appwrite/postgres:0.1.0 + container_name: appwrite-postgresql + networks: + - xusc4nl22shr5sca73x2vkwf + volumes: + - appwrite-postgres:/var/lib/postgresql/data + environment: + - POSTGRES_DB=${_APP_DB_SCHEMA} + - POSTGRES_USER=${_APP_DB_USER} + - POSTGRES_PASSWORD=${_APP_DB_PASS} + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${_APP_DB_USER} -d ${_APP_DB_SCHEMA}"] + interval: 10s + timeout: 10s + retries: 10 + start_period: 60s diff --git a/appwrite-coolify.yml b/appwrite-coolify.yml index 582ef30..2b6873c 100644 --- a/appwrite-coolify.yml +++ b/appwrite-coolify.yml @@ -1,7 +1,54 @@ +x-logging: &x-logging + logging: + driver: 'json-file' + options: + max-file: '5' + max-size: '10m' services: + traefik: + image: traefik:3.6 + container_name: appwrite-traefik + <<: *x-logging + command: + - --providers.file.directory=/storage/config + - --providers.file.watch=true + - --providers.docker=true + - --providers.docker.exposedByDefault=false + - --providers.docker.constraints=Label(`traefik.constraint-label-stack`,`appwrite`) + - --entrypoints.appwrite_web.address=:80 + - --entrypoints.appwrite_websecure.address=:443 + restart: unless-stopped + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - appwrite-config:/storage/config:ro + - appwrite-certificates:/storage/certificates:ro + depends_on: + - appwrite + networks: + - gateway + - appwrite + appwrite: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 container_name: appwrite + <<: *x-logging + restart: unless-stopped + networks: + - appwrite + labels: + - traefik.enable=true + - traefik.constraint-label-stack=appwrite + - traefik.docker.network=appwrite + - traefik.http.services.appwrite_api.loadbalancer.server.port=80 + #http + - traefik.http.routers.appwrite_api_http.entrypoints=appwrite_web + - traefik.http.routers.appwrite_api_http.rule=PathPrefix(`/`) + - traefik.http.routers.appwrite_api_http.service=appwrite_api + # https + - traefik.http.routers.appwrite_api_https.entrypoints=appwrite_websecure + - traefik.http.routers.appwrite_api_https.rule=PathPrefix(`/`) + - traefik.http.routers.appwrite_api_https.service=appwrite_api + - traefik.http.routers.appwrite_api_https.tls=true volumes: - appwrite-uploads:/storage/uploads:rw - appwrite-imports:/storage/imports:rw @@ -12,66 +59,53 @@ services: - appwrite-sites:/storage/sites:rw - appwrite-builds:/storage/builds:rw depends_on: - - appwrite-mariadb - - appwrite-redis + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy +# - clamav environment: - - SERVICE_URL_APPWRITE=/ - _APP_ENV=${_APP_ENV:-production} - - _APP_EDITION=${_APP_EDITION:-self-hosted} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - _APP_LOCALE=${_APP_LOCALE:-en} - _APP_COMPRESSION_MIN_SIZE_BYTES=${_APP_COMPRESSION_MIN_SIZE_BYTES} - _APP_CONSOLE_WHITELIST_ROOT=${_APP_CONSOLE_WHITELIST_ROOT:-enabled} - _APP_CONSOLE_WHITELIST_EMAILS=${_APP_CONSOLE_WHITELIST_EMAILS} + - _APP_CONSOLE_SESSION_ALERTS - _APP_CONSOLE_WHITELIST_IPS=${_APP_CONSOLE_WHITELIST_IPS} + - _APP_CONSOLE_HOSTNAMES - _APP_SYSTEM_EMAIL_NAME=${_APP_SYSTEM_EMAIL_NAME:-Appwrite} - _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS:-team@appwrite.io} - - _APP_SYSTEM_TEAM_EMAIL=${_APP_SYSTEM_TEAM_EMAIL:-team@appwrite.io} - - _APP_SYSTEM_RESPONSE_FORMAT=${_APP_SYSTEM_RESPONSE_FORMAT} - - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io} + - _APP_SYSTEM_RESPONSE_FORMAT=${_APP_SYSTEM_RESPONSE_FORMAT} - _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE:-enabled} + - _APP_OPTIONS_ROUTER_PROTECTION=${_APP_OPTIONS_ROUTER_PROTECTION:-disabled} - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} - _APP_OPTIONS_ROUTER_FORCE_HTTPS=${_APP_OPTIONS_ROUTER_FORCE_HTTPS:-disabled} - - _APP_OPTIONS_ROUTER_PROTECTION=${_APP_OPTIONS_ROUTER_PROTECTION:-disabled} - - _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=${_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS:-disabled} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} - _APP_DOMAIN_TARGET_CNAME=${_APP_DOMAIN_TARGET_CNAME:-localhost} - _APP_DOMAIN_TARGET_AAAA=${_APP_DOMAIN_TARGET_AAAA:-::1} - _APP_DOMAIN_TARGET_A=${_APP_DOMAIN_TARGET_A:-127.0.0.1} + - _APP_DOMAIN_TARGET_CAA + - _APP_DNS - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.appwrite.almeira.com.co} - - _APP_MAIN_TLDS=${_APP_MAIN_TLDS} - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - _APP_SMTP_HOST=${_APP_SMTP_HOST} - _APP_SMTP_PORT=${_APP_SMTP_PORT} - _APP_SMTP_SECURE=${_APP_SMTP_SECURE} - _APP_SMTP_USERNAME=${_APP_SMTP_USERNAME} - _APP_SMTP_PASSWORD=${_APP_SMTP_PASSWORD} - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} - - _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30} - _APP_STORAGE_LIMIT=150000000 - _APP_STORAGE_PREVIEW_LIMIT=${_APP_STORAGE_PREVIEW_LIMIT:-20000000} - _APP_STORAGE_ANTIVIRUS=${_APP_STORAGE_ANTIVIRUS:-disabled} @@ -105,184 +139,178 @@ services: - _APP_COMPUTE_BUILD_TIMEOUT=${_APP_COMPUTE_BUILD_TIMEOUT:-900} - _APP_COMPUTE_CPUS=${_APP_COMPUTE_CPUS:-0} - _APP_COMPUTE_MEMORY=${_APP_COMPUTE_MEMORY:-0} - - _APP_COMPUTE_INACTIVE_THRESHOLD=${_APP_COMPUTE_INACTIVE_THRESHOLD} - - _APP_COMPUTE_MAINTENANCE_INTERVAL=${_APP_COMPUTE_MAINTENANCE_INTERVAL} - - _APP_COMPUTE_RUNTIMES_NETWORK=${_APP_COMPUTE_RUNTIMES_NETWORK} - - _APP_DOCKER_HUB_USERNAME=${_APP_DOCKER_HUB_USERNAME} - - _APP_DOCKER_HUB_PASSWORD=${_APP_DOCKER_HUB_PASSWORD} - - _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} - - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - - _APP_STATSD_HOST=${_APP_STATSD_HOST} - - _APP_STATSD_PORT=${_APP_STATSD_PORT} - _APP_FUNCTIONS_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES:-node-20.0,php-8.2,python-3.11,ruby-3.2} - _APP_SITES_RUNTIMES=${_APP_SITES_RUNTIMES} - _APP_DOMAIN_SITES=${_APP_DOMAIN_SITES:-sites.appwrite.almeira.com.co} - - _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE + - _APP_EXECUTOR_SECRET=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae - _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1} - - _APP_MIGRATIONS=${_APP_MIGRATIONS} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - _APP_MAINTENANCE_INTERVAL=${_APP_MAINTENANCE_INTERVAL:-86400} + - _APP_MAINTENANCE_DELAY + - _APP_MAINTENANCE_START_TIME - _APP_MAINTENANCE_RETENTION_EXECUTION=${_APP_MAINTENANCE_RETENTION_EXECUTION:-1209600} - _APP_MAINTENANCE_RETENTION_CACHE=${_APP_MAINTENANCE_RETENTION_CACHE:-2592000} - _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE:-86400} - _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600} + - _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE - _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY:-8640000} - _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400} + - _APP_SMS_PROVIDER + - _APP_SMS_FROM + - _APP_GRAPHQL_INTROSPECTION - _APP_GRAPHQL_MAX_BATCH_SIZE=${_APP_GRAPHQL_MAX_BATCH_SIZE:-10} - _APP_GRAPHQL_MAX_COMPLEXITY=${_APP_GRAPHQL_MAX_COMPLEXITY:-250} - _APP_GRAPHQL_MAX_DEPTH=${_APP_GRAPHQL_MAX_DEPTH:-3} - healthcheck: - test: ["CMD-SHELL", "curl -fsI http://localhost:80 | head -n 1 | grep -E '^HTTP/.* 3[0-9]{2} ' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 - + - _APP_VCS_GITHUB_APP_NAME + - _APP_VCS_GITHUB_PRIVATE_KEY + - _APP_VCS_GITHUB_APP_ID + - _APP_VCS_GITHUB_WEBHOOK_SECRET + - _APP_VCS_GITHUB_CLIENT_SECRET + - _APP_VCS_GITHUB_CLIENT_ID + - _APP_MIGRATIONS_FIREBASE_CLIENT_ID + - _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET + - _APP_ASSISTANT_OPENAI_API_KEY=${_APP_ASSISTANT_OPENAI_API_KEY} appwrite-console: - image: appwrite/console:6.1.30 + <<: *x-logging container_name: appwrite-console - environment: - - SERVICE_URL_APPWRITE=/console - healthcheck: - test: ["CMD-SHELL", "curl -fsI http://localhost:80 | head -n 1 | grep -E '^HTTP/.* 3[0-9]{2} ' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 + image: appwrite/console:8.7.5 + restart: unless-stopped + networks: + - appwrite + labels: + - "traefik.enable=true" + - "traefik.constraint-label-stack=appwrite" + - "traefik.docker.network=appwrite" + - "traefik.http.services.appwrite_console.loadbalancer.server.port=80" + #ws + - traefik.http.routers.appwrite_console_http.entrypoints=appwrite_web + - traefik.http.routers.appwrite_console_http.rule=PathPrefix(`/console`) + - traefik.http.routers.appwrite_console_http.service=appwrite_console + # wss + - traefik.http.routers.appwrite_console_https.entrypoints=appwrite_websecure + - traefik.http.routers.appwrite_console_https.rule=PathPrefix(`/console`) + - traefik.http.routers.appwrite_console_https.service=appwrite_console + - traefik.http.routers.appwrite_console_https.tls=true appwrite-realtime: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 entrypoint: realtime container_name: appwrite-realtime + <<: *x-logging + restart: unless-stopped + labels: + - "traefik.enable=true" + - "traefik.constraint-label-stack=appwrite" + - "traefik.docker.network=appwrite" + - "traefik.http.services.appwrite_realtime.loadbalancer.server.port=80" + #ws + - traefik.http.routers.appwrite_realtime_ws.entrypoints=appwrite_web + - traefik.http.routers.appwrite_realtime_ws.rule=PathPrefix(`/v1/realtime`) + - traefik.http.routers.appwrite_realtime_ws.service=appwrite_realtime + # wss + - traefik.http.routers.appwrite_realtime_wss.entrypoints=appwrite_websecure + - traefik.http.routers.appwrite_realtime_wss.rule=PathPrefix(`/v1/realtime`) + - traefik.http.routers.appwrite_realtime_wss.service=appwrite_realtime + - traefik.http.routers.appwrite_realtime_wss.tls=true + networks: + - appwrite depends_on: - - appwrite-mariadb - - appwrite-redis + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy environment: - - SERVICE_URL_APPWRITE=/v1/realtime - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE:-enabled} - _APP_OPTIONS_ROUTER_PROTECTION=${_APP_OPTIONS_ROUTER_PROTECTION:-disabled} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - healthcheck: - test: ["CMD-SHELL", "curl -s localhost > /dev/null || exit 1"] - interval: 20s - timeout: 5s - retries: 3 appwrite-worker-audits: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 entrypoint: worker-audits + <<: *x-logging container_name: appwrite-worker-audits + restart: unless-stopped + networks: + - appwrite depends_on: - - appwrite-redis - - appwrite-mariadb + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-audits' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 appwrite-worker-webhooks: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 entrypoint: worker-webhooks + <<: *x-logging container_name: appwrite-worker-webhooks + restart: unless-stopped + networks: + - appwrite depends_on: - - appwrite-redis - - appwrite-mariadb + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE - - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io} + - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-webhooks' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 appwrite-worker-deletes: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 entrypoint: worker-deletes + <<: *x-logging container_name: appwrite-worker-deletes + restart: unless-stopped + networks: + - appwrite depends_on: - - appwrite-redis - - appwrite-mariadb + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy volumes: - appwrite-uploads:/storage/uploads:rw - appwrite-cache:/storage/cache:rw @@ -293,30 +321,17 @@ services: environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local} - _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY} - _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET} @@ -339,64 +354,58 @@ services: - _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET} - _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1} - _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} - - _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE - - _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_EXECUTOR_SECRET=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1} + - _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE:-86400} - _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-deletes' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 + - _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE + - _APP_MAINTENANCE_RETENTION_EXECUTION=${_APP_MAINTENANCE_RETENTION_EXECUTION:-1209600} + - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} + - _APP_EMAIL_CERTIFICATES=${_APP_EMAIL_CERTIFICATES:-enabled} appwrite-worker-databases: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 entrypoint: worker-databases + <<: *x-logging container_name: appwrite-worker-databases + restart: unless-stopped + networks: + - appwrite depends_on: - - appwrite-redis - - appwrite-mariadb + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-databases' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 appwrite-worker-builds: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 entrypoint: worker-builds + <<: *x-logging container_name: appwrite-worker-builds + restart: unless-stopped + networks: + - appwrite depends_on: - - appwrite-redis - - appwrite-mariadb + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy volumes: - appwrite-functions:/storage/functions:rw - appwrite-sites:/storage/sites:rw @@ -405,44 +414,33 @@ services: environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE - - _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_EXECUTOR_SECRET=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae - _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1} - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_VCS_GITHUB_APP_NAME + - _APP_VCS_GITHUB_PRIVATE_KEY + - _APP_VCS_GITHUB_APP_ID - _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT:-900} - _APP_SITES_TIMEOUT=${_APP_SITES_TIMEOUT:-900} - _APP_COMPUTE_BUILD_TIMEOUT=${_APP_COMPUTE_BUILD_TIMEOUT:-900} - _APP_COMPUTE_CPUS=${_APP_COMPUTE_CPUS:-0} - _APP_COMPUTE_MEMORY=${_APP_COMPUTE_MEMORY:-0} - - _APP_COMPUTE_SIZE_LIMIT=150000000 + - _APP_COMPUTE_SIZE_LIMIT=${_APP_COMPUTE_SIZE_LIMIT:-30000000} + - _APP_OPEN_RUNTIMES_NFT - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} - _APP_OPTIONS_ROUTER_FORCE_HTTPS=${_APP_OPTIONS_ROUTER_FORCE_HTTPS:-disabled} - - _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=${_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS:-disabled} - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} - - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.appwrite.almeira.com.co} - _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local} - _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY} - _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET} @@ -466,202 +464,38 @@ services: - _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1} - _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} - _APP_DOMAIN_SITES=${_APP_DOMAIN_SITES:-sites.appwrite.almeira.com.co} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-builds' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 - appwrite-worker-certificates: - image: appwrite/appwrite:1.9.0 - entrypoint: worker-certificates - container_name: appwrite-worker-certificates - depends_on: - - appwrite-redis - - appwrite-mariadb - volumes: - - appwrite-config:/storage/config:rw - - appwrite-certificates:/storage/certificates:rw - environment: - - _APP_ENV=${_APP_ENV:-production} - - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE - - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} - - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.appwrite.almeira.com.co} - - _APP_MAIN_TLDS=${_APP_MAIN_TLDS} - - _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS:-team@appwrite.io} - - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} - - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io} - - _APP_EMAIL_CERTIFICATES=${_APP_EMAIL_CERTIFICATES:-enabled} - - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - - _APP_REDIS_USER=${_APP_REDIS_USER} - - _APP_REDIS_PASS=${_APP_REDIS_PASS} - - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - - _APP_DB_PORT=${_APP_DB_PORT:-3306} - - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_USER=$SERVICE_USER_MARIADB - - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-certificates' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 - - appwrite-worker-functions: - image: appwrite/appwrite:1.9.0 - entrypoint: worker-functions - container_name: appwrite-worker-functions - depends_on: - - appwrite-redis - - appwrite-mariadb - - openruntimes-executor - environment: - - _APP_ENV=${_APP_ENV:-production} - - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE - - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} - - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.appwrite.almeira.com.co} - - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} - - _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=${_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS:-disabled} - - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - - _APP_REDIS_USER=${_APP_REDIS_USER} - - _APP_REDIS_PASS=${_APP_REDIS_PASS} - - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - - _APP_DB_PORT=${_APP_DB_PORT:-3306} - - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_USER=$SERVICE_USER_MARIADB - - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - - _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT:-900} - - _APP_SITES_TIMEOUT=${_APP_SITES_TIMEOUT:-900} - - _APP_COMPUTE_BUILD_TIMEOUT=${_APP_COMPUTE_BUILD_TIMEOUT:-900} - - _APP_COMPUTE_CPUS=${_APP_COMPUTE_CPUS:-0} - - _APP_COMPUTE_MEMORY=${_APP_COMPUTE_MEMORY:-0} - - _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE - - _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1} - - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-functions' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 - - appwrite-worker-mails: - image: appwrite/appwrite:1.9.0 - entrypoint: worker-mails - container_name: appwrite-worker-mails - depends_on: - - appwrite-redis - - appwrite-mariadb - environment: - - _APP_ENV=${_APP_ENV:-production} - - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE - - _APP_SYSTEM_EMAIL_NAME=${_APP_SYSTEM_EMAIL_NAME:-Appwrite} - - _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS:-team@appwrite.io} - - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - - _APP_DB_PORT=${_APP_DB_PORT:-3306} - - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_USER=$SERVICE_USER_MARIADB - - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - - _APP_SMTP_HOST=${_APP_SMTP_HOST} - - _APP_SMTP_PORT=${_APP_SMTP_PORT} - - _APP_SMTP_SECURE=${_APP_SMTP_SECURE} - - _APP_SMTP_USERNAME=${_APP_SMTP_USERNAME} - - _APP_SMTP_PASSWORD=${_APP_SMTP_PASSWORD} - - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - - _APP_REDIS_USER=${_APP_REDIS_USER} - - _APP_REDIS_PASS=${_APP_REDIS_PASS} - - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} - - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-mails' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 - - appwrite-worker-messaging: - image: appwrite/appwrite:1.9.0 - entrypoint: worker-messaging - container_name: appwrite-worker-messaging + appwrite-worker-screenshots: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-screenshots + <<: *x-logging + container_name: appwrite-worker-screenshots + restart: unless-stopped + networks: + - appwrite volumes: - appwrite-uploads:/storage/uploads:rw depends_on: - - appwrite-redis + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_BROWSER_HOST + - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local} - _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY} @@ -685,130 +519,350 @@ services: - _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET} - _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1} - _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-messaging' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 - appwrite-worker-migrations: - image: appwrite/appwrite:1.9.0 - entrypoint: worker-migrations - container_name: appwrite-worker-migrations - volumes: - - appwrite-imports:/storage/imports:rw + appwrite-worker-certificates: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-certificates + <<: *x-logging + container_name: appwrite-worker-certificates + restart: unless-stopped + networks: + - appwrite depends_on: - - appwrite-mariadb + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy + volumes: + - appwrite-config:/storage/config:rw + - appwrite-certificates:/storage/certificates:rw environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} + - _APP_DOMAIN_TARGET_CNAME=${_APP_DOMAIN_TARGET_CNAME:-localhost} + - _APP_DOMAIN_TARGET_AAAA=${_APP_DOMAIN_TARGET_AAAA:-::1} + - _APP_DOMAIN_TARGET_A=${_APP_DOMAIN_TARGET_A:-127.0.0.1} + - _APP_DOMAIN_TARGET_CAA + - _APP_DNS - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.appwrite.almeira.com.co} - - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} + - _APP_EMAIL_CERTIFICATES=${_APP_EMAIL_CERTIFICATES:-enabled} + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + + appwrite-worker-executions: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-executions + <<: *x-logging + container_name: appwrite-worker-executions + restart: unless-stopped + networks: + - appwrite + depends_on: + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + + appwrite-worker-functions: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-functions + <<: *x-logging + container_name: appwrite-worker-functions + restart: unless-stopped + networks: + - appwrite + depends_on: + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy + openruntimes-executor: + condition: service_started + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} + - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT:-900} + - _APP_SITES_TIMEOUT=${_APP_SITES_TIMEOUT:-900} + - _APP_COMPUTE_BUILD_TIMEOUT=${_APP_COMPUTE_BUILD_TIMEOUT:-900} + - _APP_COMPUTE_CPUS=${_APP_COMPUTE_CPUS:-0} + - _APP_COMPUTE_MEMORY=${_APP_COMPUTE_MEMORY:-0} + - _APP_EXECUTOR_SECRET=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1} + - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} + - _APP_DOCKER_HUB_USERNAME=${_APP_DOCKER_HUB_USERNAME} + - _APP_DOCKER_HUB_PASSWORD=${_APP_DOCKER_HUB_PASSWORD} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + + appwrite-worker-mails: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-mails + <<: *x-logging + container_name: appwrite-worker-mails + restart: unless-stopped + networks: + - appwrite + depends_on: + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_SYSTEM_EMAIL_NAME=${_APP_SYSTEM_EMAIL_NAME:-Appwrite} + - _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS:-team@appwrite.io} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_SMTP_HOST=${_APP_SMTP_HOST} + - _APP_SMTP_PORT=${_APP_SMTP_PORT} + - _APP_SMTP_SECURE=${_APP_SMTP_SECURE} + - _APP_SMTP_USERNAME=${_APP_SMTP_USERNAME} + - _APP_SMTP_PASSWORD=${_APP_SMTP_PASSWORD} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} + - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} + + appwrite-worker-messaging: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-messaging + <<: *x-logging + container_name: appwrite-worker-messaging + restart: unless-stopped + networks: + - appwrite + volumes: + - appwrite-uploads:/storage/uploads:rw + depends_on: + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_SMS_FROM + - _APP_SMS_PROVIDER + - _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local} + - _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY} + - _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET} + - _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1} + - _APP_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET} + - _APP_STORAGE_S3_ENDPOINT=${_APP_STORAGE_S3_ENDPOINT} + - _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY} + - _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET} + - _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION:-us-east-1} + - _APP_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET} + - _APP_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY} + - _APP_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET} + - _APP_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION:-us-west-004} + - _APP_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET} + - _APP_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY} + - _APP_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET} + - _APP_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION:-eu-central-1} + - _APP_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET} + - _APP_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY} + - _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET} + - _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1} + - _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} + + appwrite-worker-migrations: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-migrations + <<: *x-logging + container_name: appwrite-worker-migrations + restart: unless-stopped + networks: + - appwrite + volumes: + - appwrite-imports:/storage/imports:rw + depends_on: + appwrite-mariadb: + condition: service_healthy + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} + - _APP_DOMAIN_TARGET_CNAME=${_APP_DOMAIN_TARGET_CNAME:-localhost} + - _APP_DOMAIN_TARGET_AAAA=${_APP_DOMAIN_TARGET_AAAA:-::1} + - _APP_DOMAIN_TARGET_A=${_APP_DOMAIN_TARGET_A:-127.0.0.1} + - _APP_DOMAIN_TARGET_CAA + - _APP_DNS - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io} - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - exclude_from_hc: true + - _APP_MIGRATIONS_FIREBASE_CLIENT_ID + - _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET appwrite-task-maintenance: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 entrypoint: maintenance + <<: *x-logging container_name: appwrite-task-maintenance + restart: unless-stopped + networks: + - appwrite depends_on: - - appwrite-redis + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} + - _APP_DOMAIN_TARGET_CNAME=${_APP_DOMAIN_TARGET_CNAME:-localhost} + - _APP_DOMAIN_TARGET_AAAA=${_APP_DOMAIN_TARGET_AAAA:-::1} + - _APP_DOMAIN_TARGET_A=${_APP_DOMAIN_TARGET_A:-127.0.0.1} + - _APP_DOMAIN_TARGET_CAA + - _APP_DNS - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.appwrite.almeira.com.co} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - _APP_MAINTENANCE_INTERVAL=${_APP_MAINTENANCE_INTERVAL:-86400} - _APP_MAINTENANCE_RETENTION_EXECUTION=${_APP_MAINTENANCE_RETENTION_EXECUTION:-1209600} - _APP_MAINTENANCE_RETENTION_CACHE=${_APP_MAINTENANCE_RETENTION_CACHE:-2592000} - _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE:-86400} - _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600} + - _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE - _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY:-8640000} - _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[m]aintenance' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 + + appwrite-task-interval: + image: appwrite/appwrite:1.9.5 + entrypoint: interval + <<: *x-logging + container_name: appwrite-task-interval + restart: unless-stopped + networks: + - appwrite + depends_on: + appwrite-mariadb: + condition: service_healthy + appwrite-redis: + condition: service_healthy + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} + - _APP_DOMAIN_TARGET_CNAME=${_APP_DOMAIN_TARGET_CNAME:-localhost} + - _APP_DOMAIN_TARGET_AAAA=${_APP_DOMAIN_TARGET_AAAA:-::1} + - _APP_DOMAIN_TARGET_A=${_APP_DOMAIN_TARGET_A:-127.0.0.1} + - _APP_DOMAIN_TARGET_CAA + - _APP_DNS + - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.appwrite.almeira.com.co} + - _APP_DOMAIN_SITES=${_APP_DOMAIN_SITES:-sites.appwrite.almeira.com.co} + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} appwrite-task-stats-resources: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 container_name: appwrite-task-stats-resources entrypoint: stats-resources + <<: *x-logging + restart: unless-stopped + networks: + - appwrite depends_on: - - appwrite-redis - - appwrite-mariadb + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} @@ -818,40 +872,29 @@ services: - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[s]tats-resources' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 - + - _APP_STATS_RESOURCES_INTERVAL appwrite-worker-stats-resources: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 entrypoint: worker-stats-resources container_name: appwrite-worker-stats-resources + <<: *x-logging + restart: unless-stopped + networks: + - appwrite depends_on: - - appwrite-redis - - appwrite-mariadb + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} @@ -860,40 +903,29 @@ services: - _APP_REDIS_PASS=${_APP_REDIS_PASS} - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-stats-resources' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 + - _APP_STATS_RESOURCES_INTERVAL appwrite-worker-stats-usage: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 entrypoint: worker-stats-usage container_name: appwrite-worker-stats-usage + <<: *x-logging + restart: unless-stopped + networks: + - appwrite depends_on: - - appwrite-redis - - appwrite-mariadb + appwrite-redis: + condition: service_healthy + appwrite-mariadb: + condition: service_healthy environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} @@ -903,207 +935,162 @@ services: - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30} - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-stats-usage' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 - appwrite-task-scheduler-functions: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 entrypoint: schedule-functions container_name: appwrite-task-scheduler-functions + <<: *x-logging + restart: unless-stopped + networks: + - appwrite depends_on: - - appwrite-mariadb - - appwrite-redis + appwrite-mariadb: + condition: service_healthy + appwrite-redis: + condition: service_healthy environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_MIGRATION_HOST - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[s]chedule-functi' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 appwrite-task-scheduler-executions: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 entrypoint: schedule-executions container_name: appwrite-task-scheduler-executions + <<: *x-logging + restart: unless-stopped + networks: + - appwrite depends_on: - - appwrite-mariadb - - appwrite-redis + appwrite-mariadb: + condition: service_healthy + appwrite-redis: + condition: service_healthy environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + - _APP_MIGRATION_HOST - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[s]chedule-execut' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 appwrite-task-scheduler-messages: - image: appwrite/appwrite:1.9.0 + image: appwrite/appwrite:1.9.5 entrypoint: schedule-messages container_name: appwrite-task-scheduler-messages + <<: *x-logging + restart: unless-stopped + networks: + - appwrite depends_on: - - appwrite-mariadb - - appwrite-redis + appwrite-mariadb: + condition: service_healthy + appwrite-redis: + condition: service_healthy environment: - _APP_ENV=${_APP_ENV:-production} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_OPENSSL_KEY_V1=fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} - _APP_DB_PORT=${_APP_DB_PORT:-3306} - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} - - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} - - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} - - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} - - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} - - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} - - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} - - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} - - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} - - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} - - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} - - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} - - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} - _APP_DB_USER=$SERVICE_USER_MARIADB - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB - - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - healthcheck: - test: ["CMD-SHELL", "ps aux | grep -q '[s]chedule-messag' || exit 1"] - interval: 20s - timeout: 5s - retries: 3 - appwrite-assistant: - image: appwrite/assistant:0.8.4 - container_name: appwrite-assistant - environment: - - _APP_ASSISTANT_OPENAI_API_KEY=${_APP_ASSISTANT_OPENAI_API_KEY} - healthcheck: - test: ["CMD-SHELL", "wget --spider -q http://127.0.0.1:3003 || exit 0"] - interval: 20s - timeout: 5s - retries: 3 appwrite-browser: image: appwrite/browser:0.3.2 container_name: appwrite-browser - hostname: appwrite-browser - healthcheck: - test: ["CMD", "node", "-e", "import('http').then(http => http.get('http://localhost:3000', res => process.exit(0)).on('error', () => process.exit(1)))"] - interval: 20s - timeout: 5s - retries: 3 - + <<: *x-logging + restart: unless-stopped + networks: + - appwrite openruntimes-executor: - container_name: openruntimes-executor - hostname: appwrite-executor + container_name: exc1 + hostname: exc1 + <<: *x-logging + restart: unless-stopped stop_signal: SIGINT - image: openruntimes/executor:0.8.6 + image: openruntimes/executor:0.11.4 networks: + - appwrite - runtimes volumes: - /var/run/docker.sock:/var/run/docker.sock - appwrite-builds:/storage/builds:rw - appwrite-functions:/storage/functions:rw - appwrite-sites:/storage/sites:rw + # Host mount nessessary to share files between executor and runtimes. + # It's not possible to share mount file between 2 containers without host mount (copying is too slow) - /tmp:/tmp:rw environment: - - OPR_EXECUTOR_IMAGE_PULL=disabled - - OPR_EXECUTOR_INACTIVE_TRESHOLD=${_APP_COMPUTE_INACTIVE_THRESHOLD} - - OPR_EXECUTOR_MAINTENANCE_INTERVAL=${_APP_COMPUTE_MAINTENANCE_INTERVAL} - - OPR_EXECUTOR_NETWORK=${_APP_COMPUTE_RUNTIMES_NETWORK:-runtimes} - - OPR_EXECUTOR_DOCKER_HUB_USERNAME=${_APP_DOCKER_HUB_USERNAME} - - OPR_EXECUTOR_DOCKER_HUB_PASSWORD=${_APP_DOCKER_HUB_PASSWORD} - - OPR_EXECUTOR_ENV=${_APP_ENV:-production} - - OPR_EXECUTOR_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES},${_APP_SITES_RUNTIMES} - - OPR_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE - - OPR_EXECUTOR_RUNTIME_VERSIONS=v5 - - OPR_EXECUTOR_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - - OPR_EXECUTOR_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local} - - OPR_EXECUTOR_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY} - - OPR_EXECUTOR_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET} - - OPR_EXECUTOR_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION} - - OPR_EXECUTOR_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET} - - OPR_EXECUTOR_STORAGE_S3_ENDPOINT=${_APP_STORAGE_S3_ENDPOINT} - - OPR_EXECUTOR_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY} - - OPR_EXECUTOR_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET} - - OPR_EXECUTOR_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION} - - OPR_EXECUTOR_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET} - - OPR_EXECUTOR_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY} - - OPR_EXECUTOR_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET} - - OPR_EXECUTOR_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION} - - OPR_EXECUTOR_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET} - - OPR_EXECUTOR_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY} - - OPR_EXECUTOR_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET} - - OPR_EXECUTOR_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION} - - OPR_EXECUTOR_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET} - - OPR_EXECUTOR_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY} - - OPR_EXECUTOR_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET} - - OPR_EXECUTOR_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION} - - OPR_EXECUTOR_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} + OPR_EXECUTOR_INACTIVE_TRESHOLD: $_APP_COMPUTE_INACTIVE_THRESHOLD + OPR_EXECUTOR_MAINTENANCE_INTERVAL: $_APP_COMPUTE_MAINTENANCE_INTERVAL + OPR_EXECUTOR_NETWORK: $_APP_COMPUTE_RUNTIMES_NETWORK + OPR_EXECUTOR_DOCKER_HUB_USERNAME: $_APP_DOCKER_HUB_USERNAME + OPR_EXECUTOR_DOCKER_HUB_PASSWORD: $_APP_DOCKER_HUB_PASSWORD + OPR_EXECUTOR_ENV: $_APP_ENV + OPR_EXECUTOR_RUNTIMES: ${_APP_FUNCTIONS_RUNTIMES},${_APP_SITES_RUNTIMES} + OPR_EXECUTOR_SECRET: fb84d5df636b19a164f891bce9687aa85f83eb05c56cba9c1e7e721b0dc372ae + OPR_EXECUTOR_RUNTIME_VERSIONS: v5 + OPEN_RUNTIMES_NFT: ${_APP_OPEN_RUNTIMES_NFT} + OPR_EXECUTOR_LOGGING_CONFIG: $_APP_LOGGING_CONFIG + OPR_EXECUTOR_STORAGE_DEVICE: $_APP_STORAGE_DEVICE + OPR_EXECUTOR_STORAGE_S3_ACCESS_KEY: $_APP_STORAGE_S3_ACCESS_KEY + OPR_EXECUTOR_STORAGE_S3_SECRET: $_APP_STORAGE_S3_SECRET + OPR_EXECUTOR_STORAGE_S3_REGION: $_APP_STORAGE_S3_REGION + OPR_EXECUTOR_STORAGE_S3_BUCKET: $_APP_STORAGE_S3_BUCKET + OPR_EXECUTOR_STORAGE_S3_ENDPOINT: $_APP_STORAGE_S3_ENDPOINT + OPR_EXECUTOR_STORAGE_DO_SPACES_ACCESS_KEY: $_APP_STORAGE_DO_SPACES_ACCESS_KEY + OPR_EXECUTOR_STORAGE_DO_SPACES_SECRET: $_APP_STORAGE_DO_SPACES_SECRET + OPR_EXECUTOR_STORAGE_DO_SPACES_REGION: $_APP_STORAGE_DO_SPACES_REGION + OPR_EXECUTOR_STORAGE_DO_SPACES_BUCKET: $_APP_STORAGE_DO_SPACES_BUCKET + OPR_EXECUTOR_STORAGE_BACKBLAZE_ACCESS_KEY: $_APP_STORAGE_BACKBLAZE_ACCESS_KEY + OPR_EXECUTOR_STORAGE_BACKBLAZE_SECRET: $_APP_STORAGE_BACKBLAZE_SECRET + OPR_EXECUTOR_STORAGE_BACKBLAZE_REGION: $_APP_STORAGE_BACKBLAZE_REGION + OPR_EXECUTOR_STORAGE_BACKBLAZE_BUCKET: $_APP_STORAGE_BACKBLAZE_BUCKET + OPR_EXECUTOR_STORAGE_LINODE_ACCESS_KEY: $_APP_STORAGE_LINODE_ACCESS_KEY + OPR_EXECUTOR_STORAGE_LINODE_SECRET: $_APP_STORAGE_LINODE_SECRET + OPR_EXECUTOR_STORAGE_LINODE_REGION: $_APP_STORAGE_LINODE_REGION + OPR_EXECUTOR_STORAGE_LINODE_BUCKET: $_APP_STORAGE_LINODE_BUCKET + OPR_EXECUTOR_STORAGE_WASABI_ACCESS_KEY: $_APP_STORAGE_WASABI_ACCESS_KEY + OPR_EXECUTOR_STORAGE_WASABI_SECRET: $_APP_STORAGE_WASABI_SECRET + OPR_EXECUTOR_STORAGE_WASABI_REGION: $_APP_STORAGE_WASABI_REGION + OPR_EXECUTOR_STORAGE_WASABI_BUCKET: $_APP_STORAGE_WASABI_BUCKET + appwrite-mariadb: image: mariadb:10.11 container_name: appwrite-mariadb + restart: unless-stopped + networks: + - appwrite volumes: - appwrite-mariadb:/var/lib/mysql:rw environment: @@ -1115,26 +1102,60 @@ services: command: 'mysqld --innodb-flush-method=fsync' healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] - interval: 20s + interval: 10s timeout: 10s - retries: 5 + retries: 10 + start_period: 30s appwrite-redis: - image: redis:7.2.4-alpine + image: redis:7.4.7-alpine container_name: appwrite-redis + <<: *x-logging + restart: unless-stopped command: > redis-server --maxmemory 512mb --maxmemory-policy allkeys-lru --maxmemory-samples 5 + networks: + - appwrite volumes: - appwrite-redis:/data:rw healthcheck: test: ["CMD", "redis-cli", "ping"] - interval: 20s - timeout: 10s + interval: 10s + timeout: 5s retries: 5 + start_period: 10s + + # clamav: + # image: appwrite/clamav:1.2.0 + # container_name: appwrite-clamav + # restart: unless-stopped + # networks: + # - appwrite + # volumes: + # - appwrite-uploads:/storage/uploads networks: + gateway: + name: gateway + external: true + appwrite: + name: appwrite + external: true runtimes: name: runtimes + external: true + +volumes: + appwrite-mariadb: + appwrite-redis: + appwrite-cache: + appwrite-uploads: + appwrite-imports: + appwrite-certificates: + appwrite-functions: + appwrite-sites: + appwrite-builds: + appwrite-config: diff --git a/build_final.py b/build_final.py new file mode 100644 index 0000000..0714c25 --- /dev/null +++ b/build_final.py @@ -0,0 +1,113 @@ +import re + +def main(): + old_vars = {} + with open('appwrite-coolify.yml', 'r') as f: + for line in f: + m = re.match(r'^\s+-\s+([A-Z0-9_]+)=(.*)', line) + if m: + var_name = m.group(1) + val = m.group(2) + if var_name not in old_vars or '$' in val: + old_vars[var_name] = line.strip() + + output_lines = [] + in_executor_env = False + in_traefik_ports = False + current_service = None + + with open('new_base.yml', 'r') as f: + for line in f: + m_service = re.match(r'^ ([a-zA-Z0-9_-]+):$', line) + if m_service: + current_service = m_service.group(1) + + # Traefik ports removal + if current_service == 'traefik' and line.strip() == 'ports:': + in_traefik_ports = True + continue + if in_traefik_ports: + if line.strip().startswith('-'): + continue + else: + in_traefik_ports = False + + # Executor Env to Dict + if line.strip() == 'container_name: openruntimes-executor': + output_lines.append(' container_name: exc1\n') + continue + if line.strip() == 'hostname: appwrite-executor': + output_lines.append(' hostname: exc1\n') + continue + + if current_service == 'openruntimes-executor' and line.strip() == 'environment:': + in_executor_env = True + output_lines.append(line) + continue + + if in_executor_env: + if line.strip() == '' or (not line.strip().startswith('-') and not line.startswith(' ')): + in_executor_env = False + elif line.strip().startswith('-'): + m = re.match(r'^(\s+)-\s+([A-Z0-9_]+)=?(.*)', line) + if m: + indent = m.group(1) + var_name = m.group(2) + val = m.group(3) + + # Apply merge + if var_name in old_vars: + old_val_full = old_vars[var_name] + if '=' in old_val_full: + val = old_val_full.split('=', 1)[1] + + if var_name == 'OPR_EXECUTOR_RUNTIMES': + val = '${_APP_FUNCTIONS_RUNTIMES},${_APP_SITES_RUNTIMES}' + if var_name == 'OPEN_RUNTIMES_NFT': + if var_name == 'OPR_EXECUTOR_SECRET': + val = '$SERVICE_PASSWORD_64_APPWRITE' + if var_name == '_APP_OPENSSL_KEY_V1': + val = '$SERVICE_PASSWORD_64_APPWRITE' + if var_name == '_APP_DB_USER': + val = '$SERVICE_USER_MARIADB' + if var_name == '_APP_DB_PASS': + val = '$SERVICE_PASSWORD_MARIADB' + val = '${_APP_OPEN_RUNTIMES_NFT}' + + output_lines.append(f"{indent}{var_name}: {val}\n") + continue + + # Normal merge for everything else + if line.strip().startswith('-'): + m = re.match(r'^(\s+-\s+)([A-Z0-9_]+)=?(.*)', line) + if m: + indent = m.group(1) + var_name = m.group(2) + if var_name in old_vars: + # EXCEPT mariadb vars we just handled + if current_service == 'mariadb' and var_name in ['MYSQL_ROOT_PASSWORD', 'MYSQL_DATABASE', 'MYSQL_USER', 'MYSQL_PASSWORD']: + pass + else: + base_indent = indent.split('-')[0] + output_lines.append(f"{base_indent}{old_vars[var_name]}\n") + continue + + output_lines.append(line) + + # Post processing for networks external + final_out = [] + for line in output_lines: + final_out.append(line) + if line.strip() in ['name: gateway', 'name: appwrite', 'name: runtimes']: + final_out.append(' external: true\n') + + # rename mariadb and redis service names + final_str = "".join(final_out) + final_str = final_str.replace(" mariadb:\n", " appwrite-mariadb:\n") + final_str = final_str.replace(" redis:\n", " appwrite-redis:\n") + + with open('appwrite-coolify.yml', 'w') as f: + f.write(final_str) + +if __name__ == "__main__": + main() diff --git a/cookies.txt b/cookies.txt new file mode 100644 index 0000000..c2da1a8 --- /dev/null +++ b/cookies.txt @@ -0,0 +1,6 @@ +# Netscape HTTP Cookie File +# https://curl.se/docs/http-cookies.html +# This file was generated by libcurl! Edit at your own risk. + +#HttpOnly_.appwrite.almeira.com.co TRUE / FALSE 1815509253 a_session_console eyJpZCI6IjZhNTU0NTdjY2M2N2Y1ZTQ1MWM3Iiwic2VjcmV0IjoiODM0MzM3MzlhOTFjZmMwYjZkMmJkZjdlZjk5MGMwNDJkYmQ4YmFhYTMwMDI3ZGE1MzZlNTNmMGFlOTZjMGNjODllZGY4OGM0OGFjNTM2MjMzMDI3MWRlNWQ5MTNhNGUyYmRiOWM1MzlmMTc3MzQyYTg3YzBhNjM4OTBhMjZkZWIzNzU0MTVhZjgxNGRlZDhlMzIxOWM4MTg4NTc4YjI4YWMxNzU5N2E2ZGU0NjA1MWVjYmRiNmExZjdiNDg1OWIxZmZhMTg3Nzg2ZmM3MmY1YjJmZmY0ZmI3YzNmMWIwYjkzZjg0MTk5YjEzMmUyZTNlNGY0MzNhYWYyZDZkOTE2NiJ9 +#HttpOnly_.appwrite.almeira.com.co TRUE / FALSE 1815509253 a_session_console_legacy eyJpZCI6IjZhNTU0NTdjY2M2N2Y1ZTQ1MWM3Iiwic2VjcmV0IjoiODM0MzM3MzlhOTFjZmMwYjZkMmJkZjdlZjk5MGMwNDJkYmQ4YmFhYTMwMDI3ZGE1MzZlNTNmMGFlOTZjMGNjODllZGY4OGM0OGFjNTM2MjMzMDI3MWRlNWQ5MTNhNGUyYmRiOWM1MzlmMTc3MzQyYTg3YzBhNjM4OTBhMjZkZWIzNzU0MTVhZjgxNGRlZDhlMzIxOWM4MTg4NTc4YjI4YWMxNzU5N2E2ZGU0NjA1MWVjYmRiNmExZjdiNDg1OWIxZmZhMTg3Nzg2ZmM3MmY1YjJmZmY0ZmI3YzNmMWIwYjkzZjg0MTk5YjEzMmUyZTNlNGY0MzNhYWYyZDZkOTE2NiJ9 diff --git a/fix_executor.py b/fix_executor.py new file mode 100644 index 0000000..1eec22b --- /dev/null +++ b/fix_executor.py @@ -0,0 +1,22 @@ +import yaml +import sys + +with open('appwrite-coolify.yml', 'r') as f: + data = yaml.safe_load(f) + +env_list = data['services']['openruntimes-executor']['environment'] +if isinstance(env_list, list): + new_env = {} + for item in env_list: + if '=' in item: + k, v = item.split('=', 1) + # Remove the quotes that we added earlier + if k == '"OPR_EXECUTOR_RUNTIMES' and v.endswith('"'): + k = 'OPR_EXECUTOR_RUNTIMES' + v = v[:-1] + new_env[k] = v + data['services']['openruntimes-executor']['environment'] = new_env + +with open('appwrite-coolify.yml', 'w') as f: + yaml.dump(data, f, default_flow_style=False, sort_keys=False) + diff --git a/fix_names.py b/fix_names.py new file mode 100644 index 0000000..4be1fde --- /dev/null +++ b/fix_names.py @@ -0,0 +1,10 @@ +with open('appwrite-coolify.yml', 'r') as f: + content = f.read() + +content = content.replace('\n mariadb:\n', '\n appwrite-mariadb:\n') +content = content.replace('\n redis:\n', '\n appwrite-redis:\n') +content = content.replace('\n mariadb:\n', '\n appwrite-mariadb:\n') +content = content.replace('\n redis:\n', '\n appwrite-redis:\n') + +with open('appwrite-coolify.yml', 'w') as f: + f.write(content) diff --git a/fix_resourceType.sh b/fix_resourceType.sh new file mode 100644 index 0000000..0f29dd0 --- /dev/null +++ b/fix_resourceType.sh @@ -0,0 +1,10 @@ +MYSQL_OPTS="-u sYoHWwl0DGvEyt3s -psn9YkZqoLV06CQxAy2qsKi36S7POVShT appwrite -s -N -e" +TABLES=$(python3 ssh_run.py "docker exec appwrite-mariadb-sss6crntvrcs54qbhvhy5728 mysql $MYSQL_OPTS \"SHOW TABLES;\"") + +for TABLE in $TABLES; do + if [[ $TABLE == _* ]]; then + echo "Altering $TABLE..." + python3 ssh_run.py "docker exec appwrite-mariadb-sss6crntvrcs54qbhvhy5728 mysql -u sYoHWwl0DGvEyt3s -psn9YkZqoLV06CQxAy2qsKi36S7POVShT appwrite -e \"ALTER TABLE $TABLE ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL;\"" >/dev/null 2>&1 + fi +done +echo "Done!" diff --git a/fix_vars.py b/fix_vars.py new file mode 100644 index 0000000..cacd490 --- /dev/null +++ b/fix_vars.py @@ -0,0 +1,18 @@ +with open('build_final.py', 'r') as f: + lines = f.readlines() + +out = [] +for line in lines: + out.append(line) + if "if var_name == 'OPEN_RUNTIMES_NFT':" in line: + out.append(" if var_name == 'OPR_EXECUTOR_SECRET':\n") + out.append(" val = '$SERVICE_PASSWORD_64_APPWRITE'\n") + out.append(" if var_name == '_APP_OPENSSL_KEY_V1':\n") + out.append(" val = '$SERVICE_PASSWORD_64_APPWRITE'\n") + out.append(" if var_name == '_APP_DB_USER':\n") + out.append(" val = '$SERVICE_USER_MARIADB'\n") + out.append(" if var_name == '_APP_DB_PASS':\n") + out.append(" val = '$SERVICE_PASSWORD_MARIADB'\n") + +with open('build_final.py', 'w') as f: + f.writelines(out) diff --git a/fix_yaml.py b/fix_yaml.py new file mode 100644 index 0000000..2f54b26 --- /dev/null +++ b/fix_yaml.py @@ -0,0 +1,64 @@ +with open('appwrite-coolify.yml', 'r') as f: + lines = f.readlines() + +out = [] +in_executor_env = False +for line in lines: + if 'container_name: exc1' in line: + pass + if line.strip() == 'appwrite-mariadb:': + in_executor_env = False + + if line.strip() == 'image: docker.io/library/mariadb:10.11': + out.append(line.replace('docker.io/library/mariadb:10.11', 'mariadb:10.11')) + continue + + if line.strip() == '- MYSQL_DATABASE=${_APP_DB_SCHEMA:-appwrite}': + out.append(line.replace('${_APP_DB_SCHEMA:-appwrite}', '${_APP_DB_SCHEMA}')) + continue + + if line.strip() == '- MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_MARIADBROOT': + out.append(line.replace('$SERVICE_PASSWORD_MARIADBROOT', '${_APP_DB_ROOT_PASS}')) + continue + + if line.strip() == '- MYSQL_USER=$SERVICE_USER_MARIADB': + out.append(line.replace('$SERVICE_USER_MARIADB', '${_APP_DB_USER}')) + continue + + if line.strip() == '- MYSQL_PASSWORD=$SERVICE_PASSWORD_MARIADB': + out.append(line.replace('$SERVICE_PASSWORD_MARIADB', '${_APP_DB_PASS}')) + continue + + if line.startswith('networks:'): + out.append(line) + continue + + if line.strip() == 'name: gateway' or line.strip() == 'name: appwrite' or line.strip() == 'name: runtimes': + out.append(line) + out.append(' external: true\n') + continue + + # Fix Executor + if line.strip() == 'environment:' and out[-1].strip() == '- /tmp:/tmp:rw': + out.append(line) + in_executor_env = True + continue + + if in_executor_env and line.strip().startswith('- '): + # Convert to dictionary format + stripped = line.strip()[2:] # remove "- " + if '=' in stripped: + k, v = stripped.split('=', 1) + # Remove existing quotes if any + if v.startswith('"') and v.endswith('"'): + v = v[1:-1] + if k == 'OPEN_RUNTIMES_NFT' and v == '$_APP_OPEN_RUNTIMES_NFT': + v = '${_APP_OPEN_RUNTIMES_NFT}' + out.append(f" {k}: {v}\n") + continue + + out.append(line) + +with open('appwrite-coolify.yml', 'w') as f: + f.writelines(out) + diff --git a/generate_sql.sh b/generate_sql.sh new file mode 100644 index 0000000..d5b00a4 --- /dev/null +++ b/generate_sql.sh @@ -0,0 +1,13 @@ +MYSQL_OPTS="-u sYoHWwl0DGvEyt3s -psn9YkZqoLV06CQxAy2qsKi36S7POVShT appwrite -s -N -e" +TABLES=$(python3 ssh_run.py "docker exec appwrite-mariadb-sss6crntvrcs54qbhvhy5728 mysql $MYSQL_OPTS \"SHOW TABLES;\"") + +echo "START TRANSACTION;" > alter_all.sql +for TABLE in $TABLES; do + if [[ $TABLE == _* ]]; then + echo "ALTER TABLE $TABLE ADD COLUMN resourceType VARCHAR(255) DEFAULT NULL;" >> alter_all.sql + fi +done +echo "COMMIT;" >> alter_all.sql + +python3 ssh_run.py "docker cp - appwrite-mariadb-sss6crntvrcs54qbhvhy5728:/tmp/alter_all.sql" < alter_all.sql +python3 ssh_run.py "docker exec appwrite-mariadb-sss6crntvrcs54qbhvhy5728 mysql -u sYoHWwl0DGvEyt3s -psn9YkZqoLV06CQxAy2qsKi36S7POVShT appwrite -f < /tmp/alter_all.sql" diff --git a/generate_sql2.sh b/generate_sql2.sh new file mode 100644 index 0000000..8686d45 --- /dev/null +++ b/generate_sql2.sh @@ -0,0 +1,6 @@ +python3 ssh_run.py "cat << 'SQLEOF' > /tmp/alter_all.sql +$(cat alter_all.sql) +SQLEOF +docker cp /tmp/alter_all.sql appwrite-mariadb-sss6crntvrcs54qbhvhy5728:/tmp/alter_all.sql +docker exec appwrite-mariadb-sss6crntvrcs54qbhvhy5728 mysql -u sYoHWwl0DGvEyt3s -psn9YkZqoLV06CQxAy2qsKi36S7POVShT appwrite -f -e \"source /tmp/alter_all.sql;\" +" diff --git a/merge.py b/merge.py new file mode 100644 index 0000000..98e0044 --- /dev/null +++ b/merge.py @@ -0,0 +1,64 @@ +import re + +def main(): + old_vars = {} + with open('appwrite-coolify.yml', 'r') as f: + for line in f: + m = re.match(r'^\s+-\s+([A-Z0-9_]+)=(.*)', line) + if m: + var_name = m.group(1) + val = m.group(2) + # Prefer mappings that have a '$' (i.e. dynamic mapping) + if var_name not in old_vars or '$' in val: + old_vars[var_name] = line.strip() + + # Let's explicitly check some known ones to be safe + # e.g., OPR_EXECUTOR_SECRET should be $SERVICE_PASSWORD_64_APPWRITE + + output_lines = [] + with open('new_base.yml', 'r') as f: + in_environment = False + for line in f: + if line.strip() == 'environment:': + in_environment = True + output_lines.append(line) + continue + + # If we are in environment block but hit something that isn't a list item + if in_environment and line.strip() and not line.strip().startswith('-'): + in_environment = False + + if in_environment and line.strip().startswith('-'): + m = re.match(r'^(\s+-\s+)([A-Z0-9_]+)(.*)', line) + # Check for quoted vars if any, though they shouldn't exist in new_base.yml + m_quoted = re.match(r'^(\s+-\s+)"([A-Z0-9_]+)=(.*)"', line) + + if m_quoted: + indent = m_quoted.group(1) + var_name = m_quoted.group(2) + elif m: + indent = m.group(1) + var_name = m.group(2) + else: + output_lines.append(line) + continue + + # Hardcoded fix for the bug + if var_name == 'OPR_EXECUTOR_RUNTIMES': + output_lines.append(f'{indent.split("-")[0]}- "OPR_EXECUTOR_RUNTIMES=${{_APP_FUNCTIONS_RUNTIMES}},${{_APP_SITES_RUNTIMES}}"\n') + continue + + if var_name in old_vars: + base_indent = indent.split('-')[0] + output_lines.append(f"{base_indent}{old_vars[var_name]}\n") + else: + output_lines.append(line) + else: + output_lines.append(line) + + with open('merged_appwrite-coolify.yml', 'w') as f: + for line in output_lines: + f.write(line) + +if __name__ == "__main__": + main() diff --git a/new_base.yml b/new_base.yml new file mode 100644 index 0000000..946f062 --- /dev/null +++ b/new_base.yml @@ -0,0 +1,1161 @@ +x-logging: &x-logging + logging: + driver: 'json-file' + options: + max-file: '5' + max-size: '10m' +services: + traefik: + image: traefik:3.6 + container_name: appwrite-traefik + <<: *x-logging + command: + - --providers.file.directory=/storage/config + - --providers.file.watch=true + - --providers.docker=true + - --providers.docker.exposedByDefault=false + - --providers.docker.constraints=Label(`traefik.constraint-label-stack`,`appwrite`) + - --entrypoints.appwrite_web.address=:80 + - --entrypoints.appwrite_websecure.address=:443 + restart: unless-stopped + ports: + - 80:80 + - 443:443 + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - appwrite-config:/storage/config:ro + - appwrite-certificates:/storage/certificates:ro + depends_on: + - appwrite + networks: + - gateway + - appwrite + + appwrite: + image: appwrite/appwrite:1.9.5 + container_name: appwrite + <<: *x-logging + restart: unless-stopped + networks: + - appwrite + labels: + - traefik.enable=true + - traefik.constraint-label-stack=appwrite + - traefik.docker.network=appwrite + - traefik.http.services.appwrite_api.loadbalancer.server.port=80 + #http + - traefik.http.routers.appwrite_api_http.entrypoints=appwrite_web + - traefik.http.routers.appwrite_api_http.rule=PathPrefix(`/`) + - traefik.http.routers.appwrite_api_http.service=appwrite_api + # https + - traefik.http.routers.appwrite_api_https.entrypoints=appwrite_websecure + - traefik.http.routers.appwrite_api_https.rule=PathPrefix(`/`) + - traefik.http.routers.appwrite_api_https.service=appwrite_api + - traefik.http.routers.appwrite_api_https.tls=true + volumes: + - appwrite-uploads:/storage/uploads:rw + - appwrite-imports:/storage/imports:rw + - appwrite-cache:/storage/cache:rw + - appwrite-config:/storage/config:rw + - appwrite-certificates:/storage/certificates:rw + - appwrite-functions:/storage/functions:rw + - appwrite-sites:/storage/sites:rw + - appwrite-builds:/storage/builds:rw + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy +# - clamav + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_LOCALE + - _APP_COMPRESSION_MIN_SIZE_BYTES + - _APP_CONSOLE_WHITELIST_ROOT + - _APP_CONSOLE_WHITELIST_EMAILS + - _APP_CONSOLE_SESSION_ALERTS + - _APP_CONSOLE_WHITELIST_IPS + - _APP_CONSOLE_HOSTNAMES + - _APP_SYSTEM_EMAIL_NAME + - _APP_SYSTEM_EMAIL_ADDRESS + - _APP_EMAIL_SECURITY + - _APP_SYSTEM_RESPONSE_FORMAT + - _APP_OPTIONS_ABUSE + - _APP_OPTIONS_ROUTER_PROTECTION + - _APP_OPTIONS_FORCE_HTTPS + - _APP_OPTIONS_ROUTER_FORCE_HTTPS + - _APP_OPENSSL_KEY_V1 + - _APP_DOMAIN + - _APP_DOMAIN_TARGET_CNAME + - _APP_DOMAIN_TARGET_AAAA + - _APP_DOMAIN_TARGET_A + - _APP_DOMAIN_TARGET_CAA + - _APP_DNS + - _APP_DOMAIN_FUNCTIONS + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_SMTP_HOST + - _APP_SMTP_PORT + - _APP_SMTP_SECURE + - _APP_SMTP_USERNAME + - _APP_SMTP_PASSWORD + - _APP_USAGE_STATS + - _APP_STORAGE_LIMIT + - _APP_STORAGE_PREVIEW_LIMIT + - _APP_STORAGE_ANTIVIRUS + - _APP_STORAGE_ANTIVIRUS_HOST + - _APP_STORAGE_ANTIVIRUS_PORT + - _APP_STORAGE_DEVICE + - _APP_STORAGE_S3_ACCESS_KEY + - _APP_STORAGE_S3_SECRET + - _APP_STORAGE_S3_REGION + - _APP_STORAGE_S3_BUCKET + - _APP_STORAGE_S3_ENDPOINT + - _APP_STORAGE_DO_SPACES_ACCESS_KEY + - _APP_STORAGE_DO_SPACES_SECRET + - _APP_STORAGE_DO_SPACES_REGION + - _APP_STORAGE_DO_SPACES_BUCKET + - _APP_STORAGE_BACKBLAZE_ACCESS_KEY + - _APP_STORAGE_BACKBLAZE_SECRET + - _APP_STORAGE_BACKBLAZE_REGION + - _APP_STORAGE_BACKBLAZE_BUCKET + - _APP_STORAGE_LINODE_ACCESS_KEY + - _APP_STORAGE_LINODE_SECRET + - _APP_STORAGE_LINODE_REGION + - _APP_STORAGE_LINODE_BUCKET + - _APP_STORAGE_WASABI_ACCESS_KEY + - _APP_STORAGE_WASABI_SECRET + - _APP_STORAGE_WASABI_REGION + - _APP_STORAGE_WASABI_BUCKET + - _APP_COMPUTE_SIZE_LIMIT + - _APP_FUNCTIONS_TIMEOUT + - _APP_SITES_TIMEOUT + - _APP_COMPUTE_BUILD_TIMEOUT + - _APP_COMPUTE_CPUS + - _APP_COMPUTE_MEMORY + - _APP_FUNCTIONS_RUNTIMES + - _APP_SITES_RUNTIMES + - _APP_DOMAIN_SITES + - _APP_EXECUTOR_SECRET + - _APP_EXECUTOR_HOST + - _APP_LOGGING_CONFIG + - _APP_MAINTENANCE_INTERVAL + - _APP_MAINTENANCE_DELAY + - _APP_MAINTENANCE_START_TIME + - _APP_MAINTENANCE_RETENTION_EXECUTION + - _APP_MAINTENANCE_RETENTION_CACHE + - _APP_MAINTENANCE_RETENTION_ABUSE + - _APP_MAINTENANCE_RETENTION_AUDIT + - _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE + - _APP_MAINTENANCE_RETENTION_USAGE_HOURLY + - _APP_MAINTENANCE_RETENTION_SCHEDULES + - _APP_SMS_PROVIDER + - _APP_SMS_FROM + - _APP_GRAPHQL_INTROSPECTION + - _APP_GRAPHQL_MAX_BATCH_SIZE + - _APP_GRAPHQL_MAX_COMPLEXITY + - _APP_GRAPHQL_MAX_DEPTH + - _APP_VCS_GITHUB_APP_NAME + - _APP_VCS_GITHUB_PRIVATE_KEY + - _APP_VCS_GITHUB_APP_ID + - _APP_VCS_GITHUB_WEBHOOK_SECRET + - _APP_VCS_GITHUB_CLIENT_SECRET + - _APP_VCS_GITHUB_CLIENT_ID + - _APP_MIGRATIONS_FIREBASE_CLIENT_ID + - _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET + - _APP_ASSISTANT_OPENAI_API_KEY + appwrite-console: + <<: *x-logging + container_name: appwrite-console + image: appwrite/console:8.7.5 + restart: unless-stopped + networks: + - appwrite + labels: + - "traefik.enable=true" + - "traefik.constraint-label-stack=appwrite" + - "traefik.docker.network=appwrite" + - "traefik.http.services.appwrite_console.loadbalancer.server.port=80" + #ws + - traefik.http.routers.appwrite_console_http.entrypoints=appwrite_web + - traefik.http.routers.appwrite_console_http.rule=PathPrefix(`/console`) + - traefik.http.routers.appwrite_console_http.service=appwrite_console + # wss + - traefik.http.routers.appwrite_console_https.entrypoints=appwrite_websecure + - traefik.http.routers.appwrite_console_https.rule=PathPrefix(`/console`) + - traefik.http.routers.appwrite_console_https.service=appwrite_console + - traefik.http.routers.appwrite_console_https.tls=true + + appwrite-realtime: + image: appwrite/appwrite:1.9.5 + entrypoint: realtime + container_name: appwrite-realtime + <<: *x-logging + restart: unless-stopped + labels: + - "traefik.enable=true" + - "traefik.constraint-label-stack=appwrite" + - "traefik.docker.network=appwrite" + - "traefik.http.services.appwrite_realtime.loadbalancer.server.port=80" + #ws + - traefik.http.routers.appwrite_realtime_ws.entrypoints=appwrite_web + - traefik.http.routers.appwrite_realtime_ws.rule=PathPrefix(`/v1/realtime`) + - traefik.http.routers.appwrite_realtime_ws.service=appwrite_realtime + # wss + - traefik.http.routers.appwrite_realtime_wss.entrypoints=appwrite_websecure + - traefik.http.routers.appwrite_realtime_wss.rule=PathPrefix(`/v1/realtime`) + - traefik.http.routers.appwrite_realtime_wss.service=appwrite_realtime + - traefik.http.routers.appwrite_realtime_wss.tls=true + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPTIONS_ABUSE + - _APP_OPTIONS_ROUTER_PROTECTION + - _APP_OPENSSL_KEY_V1 + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_USAGE_STATS + - _APP_LOGGING_CONFIG + + appwrite-worker-audits: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-audits + <<: *x-logging + container_name: appwrite-worker-audits + restart: unless-stopped + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_LOGGING_CONFIG + + appwrite-worker-webhooks: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-webhooks + <<: *x-logging + container_name: appwrite-worker-webhooks + restart: unless-stopped + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_EMAIL_SECURITY + - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_LOGGING_CONFIG + + appwrite-worker-deletes: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-deletes + <<: *x-logging + container_name: appwrite-worker-deletes + restart: unless-stopped + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + volumes: + - appwrite-uploads:/storage/uploads:rw + - appwrite-cache:/storage/cache:rw + - appwrite-functions:/storage/functions:rw + - appwrite-sites:/storage/sites:rw + - appwrite-builds:/storage/builds:rw + - appwrite-certificates:/storage/certificates:rw + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_STORAGE_DEVICE + - _APP_STORAGE_S3_ACCESS_KEY + - _APP_STORAGE_S3_SECRET + - _APP_STORAGE_S3_REGION + - _APP_STORAGE_S3_BUCKET + - _APP_STORAGE_S3_ENDPOINT + - _APP_STORAGE_DO_SPACES_ACCESS_KEY + - _APP_STORAGE_DO_SPACES_SECRET + - _APP_STORAGE_DO_SPACES_REGION + - _APP_STORAGE_DO_SPACES_BUCKET + - _APP_STORAGE_BACKBLAZE_ACCESS_KEY + - _APP_STORAGE_BACKBLAZE_SECRET + - _APP_STORAGE_BACKBLAZE_REGION + - _APP_STORAGE_BACKBLAZE_BUCKET + - _APP_STORAGE_LINODE_ACCESS_KEY + - _APP_STORAGE_LINODE_SECRET + - _APP_STORAGE_LINODE_REGION + - _APP_STORAGE_LINODE_BUCKET + - _APP_STORAGE_WASABI_ACCESS_KEY + - _APP_STORAGE_WASABI_SECRET + - _APP_STORAGE_WASABI_REGION + - _APP_STORAGE_WASABI_BUCKET + - _APP_LOGGING_CONFIG + - _APP_EXECUTOR_SECRET + - _APP_EXECUTOR_HOST + - _APP_MAINTENANCE_RETENTION_ABUSE + - _APP_MAINTENANCE_RETENTION_AUDIT + - _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE + - _APP_MAINTENANCE_RETENTION_EXECUTION + - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS + - _APP_EMAIL_CERTIFICATES + + appwrite-worker-databases: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-databases + <<: *x-logging + container_name: appwrite-worker-databases + restart: unless-stopped + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_LOGGING_CONFIG + + appwrite-worker-builds: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-builds + <<: *x-logging + container_name: appwrite-worker-builds + restart: unless-stopped + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + volumes: + - appwrite-functions:/storage/functions:rw + - appwrite-sites:/storage/sites:rw + - appwrite-builds:/storage/builds:rw + - appwrite-uploads:/storage/uploads:rw + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_EXECUTOR_SECRET + - _APP_EXECUTOR_HOST + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_LOGGING_CONFIG + - _APP_VCS_GITHUB_APP_NAME + - _APP_VCS_GITHUB_PRIVATE_KEY + - _APP_VCS_GITHUB_APP_ID + - _APP_FUNCTIONS_TIMEOUT + - _APP_SITES_TIMEOUT + - _APP_COMPUTE_BUILD_TIMEOUT + - _APP_COMPUTE_CPUS + - _APP_COMPUTE_MEMORY + - _APP_COMPUTE_SIZE_LIMIT + - _APP_OPEN_RUNTIMES_NFT + - _APP_OPTIONS_FORCE_HTTPS + - _APP_OPTIONS_ROUTER_FORCE_HTTPS + - _APP_DOMAIN + - _APP_STORAGE_DEVICE + - _APP_STORAGE_S3_ACCESS_KEY + - _APP_STORAGE_S3_SECRET + - _APP_STORAGE_S3_REGION + - _APP_STORAGE_S3_BUCKET + - _APP_STORAGE_S3_ENDPOINT + - _APP_STORAGE_DO_SPACES_ACCESS_KEY + - _APP_STORAGE_DO_SPACES_SECRET + - _APP_STORAGE_DO_SPACES_REGION + - _APP_STORAGE_DO_SPACES_BUCKET + - _APP_STORAGE_BACKBLAZE_ACCESS_KEY + - _APP_STORAGE_BACKBLAZE_SECRET + - _APP_STORAGE_BACKBLAZE_REGION + - _APP_STORAGE_BACKBLAZE_BUCKET + - _APP_STORAGE_LINODE_ACCESS_KEY + - _APP_STORAGE_LINODE_SECRET + - _APP_STORAGE_LINODE_REGION + - _APP_STORAGE_LINODE_BUCKET + - _APP_STORAGE_WASABI_ACCESS_KEY + - _APP_STORAGE_WASABI_SECRET + - _APP_STORAGE_WASABI_REGION + - _APP_STORAGE_WASABI_BUCKET + - _APP_DOMAIN_SITES + + appwrite-worker-screenshots: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-screenshots + <<: *x-logging + container_name: appwrite-worker-screenshots + restart: unless-stopped + networks: + - appwrite + volumes: + - appwrite-uploads:/storage/uploads:rw + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_BROWSER_HOST + - _APP_OPTIONS_FORCE_HTTPS + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_LOGGING_CONFIG + - _APP_STORAGE_DEVICE + - _APP_STORAGE_S3_ACCESS_KEY + - _APP_STORAGE_S3_SECRET + - _APP_STORAGE_S3_REGION + - _APP_STORAGE_S3_BUCKET + - _APP_STORAGE_S3_ENDPOINT + - _APP_STORAGE_DO_SPACES_ACCESS_KEY + - _APP_STORAGE_DO_SPACES_SECRET + - _APP_STORAGE_DO_SPACES_REGION + - _APP_STORAGE_DO_SPACES_BUCKET + - _APP_STORAGE_BACKBLAZE_ACCESS_KEY + - _APP_STORAGE_BACKBLAZE_SECRET + - _APP_STORAGE_BACKBLAZE_REGION + - _APP_STORAGE_BACKBLAZE_BUCKET + - _APP_STORAGE_LINODE_ACCESS_KEY + - _APP_STORAGE_LINODE_SECRET + - _APP_STORAGE_LINODE_REGION + - _APP_STORAGE_LINODE_BUCKET + - _APP_STORAGE_WASABI_ACCESS_KEY + - _APP_STORAGE_WASABI_SECRET + - _APP_STORAGE_WASABI_REGION + - _APP_STORAGE_WASABI_BUCKET + + appwrite-worker-certificates: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-certificates + <<: *x-logging + container_name: appwrite-worker-certificates + restart: unless-stopped + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + volumes: + - appwrite-config:/storage/config:rw + - appwrite-certificates:/storage/certificates:rw + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_DOMAIN + - _APP_DOMAIN_TARGET_CNAME + - _APP_DOMAIN_TARGET_AAAA + - _APP_DOMAIN_TARGET_A + - _APP_DOMAIN_TARGET_CAA + - _APP_DNS + - _APP_DOMAIN_FUNCTIONS + - _APP_EMAIL_CERTIFICATES + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_LOGGING_CONFIG + + appwrite-worker-executions: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-executions + <<: *x-logging + container_name: appwrite-worker-executions + restart: unless-stopped + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_LOGGING_CONFIG + + appwrite-worker-functions: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-functions + <<: *x-logging + container_name: appwrite-worker-functions + restart: unless-stopped + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + openruntimes-executor: + condition: service_started + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_DOMAIN + - _APP_OPTIONS_FORCE_HTTPS + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_FUNCTIONS_TIMEOUT + - _APP_SITES_TIMEOUT + - _APP_COMPUTE_BUILD_TIMEOUT + - _APP_COMPUTE_CPUS + - _APP_COMPUTE_MEMORY + - _APP_EXECUTOR_SECRET + - _APP_EXECUTOR_HOST + - _APP_USAGE_STATS + - _APP_DOCKER_HUB_USERNAME + - _APP_DOCKER_HUB_PASSWORD + - _APP_LOGGING_CONFIG + + appwrite-worker-mails: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-mails + <<: *x-logging + container_name: appwrite-worker-mails + restart: unless-stopped + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_SYSTEM_EMAIL_NAME + - _APP_SYSTEM_EMAIL_ADDRESS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_SMTP_HOST + - _APP_SMTP_PORT + - _APP_SMTP_SECURE + - _APP_SMTP_USERNAME + - _APP_SMTP_PASSWORD + - _APP_LOGGING_CONFIG + - _APP_DOMAIN + - _APP_OPTIONS_FORCE_HTTPS + + appwrite-worker-messaging: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-messaging + <<: *x-logging + container_name: appwrite-worker-messaging + restart: unless-stopped + networks: + - appwrite + volumes: + - appwrite-uploads:/storage/uploads:rw + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_LOGGING_CONFIG + - _APP_SMS_FROM + - _APP_SMS_PROVIDER + - _APP_STORAGE_DEVICE + - _APP_STORAGE_S3_ACCESS_KEY + - _APP_STORAGE_S3_SECRET + - _APP_STORAGE_S3_REGION + - _APP_STORAGE_S3_BUCKET + - _APP_STORAGE_S3_ENDPOINT + - _APP_STORAGE_DO_SPACES_ACCESS_KEY + - _APP_STORAGE_DO_SPACES_SECRET + - _APP_STORAGE_DO_SPACES_REGION + - _APP_STORAGE_DO_SPACES_BUCKET + - _APP_STORAGE_BACKBLAZE_ACCESS_KEY + - _APP_STORAGE_BACKBLAZE_SECRET + - _APP_STORAGE_BACKBLAZE_REGION + - _APP_STORAGE_BACKBLAZE_BUCKET + - _APP_STORAGE_LINODE_ACCESS_KEY + - _APP_STORAGE_LINODE_SECRET + - _APP_STORAGE_LINODE_REGION + - _APP_STORAGE_LINODE_BUCKET + - _APP_STORAGE_WASABI_ACCESS_KEY + - _APP_STORAGE_WASABI_SECRET + - _APP_STORAGE_WASABI_REGION + - _APP_STORAGE_WASABI_BUCKET + + appwrite-worker-migrations: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-migrations + <<: *x-logging + container_name: appwrite-worker-migrations + restart: unless-stopped + networks: + - appwrite + volumes: + - appwrite-imports:/storage/imports:rw + depends_on: + mariadb: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_DOMAIN + - _APP_DOMAIN_TARGET_CNAME + - _APP_DOMAIN_TARGET_AAAA + - _APP_DOMAIN_TARGET_A + - _APP_DOMAIN_TARGET_CAA + - _APP_DNS + - _APP_EMAIL_SECURITY + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_LOGGING_CONFIG + - _APP_MIGRATIONS_FIREBASE_CLIENT_ID + - _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET + + appwrite-task-maintenance: + image: appwrite/appwrite:1.9.5 + entrypoint: maintenance + <<: *x-logging + container_name: appwrite-task-maintenance + restart: unless-stopped + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_DOMAIN + - _APP_DOMAIN_TARGET_CNAME + - _APP_DOMAIN_TARGET_AAAA + - _APP_DOMAIN_TARGET_A + - _APP_DOMAIN_TARGET_CAA + - _APP_DNS + - _APP_DOMAIN_FUNCTIONS + - _APP_OPENSSL_KEY_V1 + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_MAINTENANCE_INTERVAL + - _APP_MAINTENANCE_RETENTION_EXECUTION + - _APP_MAINTENANCE_RETENTION_CACHE + - _APP_MAINTENANCE_RETENTION_ABUSE + - _APP_MAINTENANCE_RETENTION_AUDIT + - _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE + - _APP_MAINTENANCE_RETENTION_USAGE_HOURLY + - _APP_MAINTENANCE_RETENTION_SCHEDULES + + appwrite-task-interval: + image: appwrite/appwrite:1.9.5 + entrypoint: interval + <<: *x-logging + container_name: appwrite-task-interval + restart: unless-stopped + networks: + - appwrite + depends_on: + mariadb: + condition: service_healthy + redis: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_DOMAIN + - _APP_DOMAIN_TARGET_CNAME + - _APP_DOMAIN_TARGET_AAAA + - _APP_DOMAIN_TARGET_A + - _APP_DOMAIN_TARGET_CAA + - _APP_DNS + - _APP_DOMAIN_FUNCTIONS + - _APP_DOMAIN_SITES + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_LOGGING_CONFIG + + appwrite-task-stats-resources: + image: appwrite/appwrite:1.9.5 + container_name: appwrite-task-stats-resources + entrypoint: stats-resources + <<: *x-logging + restart: unless-stopped + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_USAGE_STATS + - _APP_LOGGING_CONFIG + - _APP_DATABASE_SHARED_TABLES + - _APP_STATS_RESOURCES_INTERVAL + + appwrite-worker-stats-resources: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-stats-resources + container_name: appwrite-worker-stats-resources + <<: *x-logging + restart: unless-stopped + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_USAGE_STATS + - _APP_LOGGING_CONFIG + - _APP_STATS_RESOURCES_INTERVAL + + appwrite-worker-stats-usage: + image: appwrite/appwrite:1.9.5 + entrypoint: worker-stats-usage + container_name: appwrite-worker-stats-usage + <<: *x-logging + restart: unless-stopped + networks: + - appwrite + depends_on: + redis: + condition: service_healthy + mariadb: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_USAGE_STATS + - _APP_LOGGING_CONFIG + - _APP_USAGE_AGGREGATION_INTERVAL + + appwrite-task-scheduler-functions: + image: appwrite/appwrite:1.9.5 + entrypoint: schedule-functions + container_name: appwrite-task-scheduler-functions + <<: *x-logging + restart: unless-stopped + networks: + - appwrite + depends_on: + mariadb: + condition: service_healthy + redis: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_MIGRATION_HOST + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + + appwrite-task-scheduler-executions: + image: appwrite/appwrite:1.9.5 + entrypoint: schedule-executions + container_name: appwrite-task-scheduler-executions + <<: *x-logging + restart: unless-stopped + networks: + - appwrite + depends_on: + mariadb: + condition: service_healthy + redis: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_MIGRATION_HOST + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + + appwrite-task-scheduler-messages: + image: appwrite/appwrite:1.9.5 + entrypoint: schedule-messages + container_name: appwrite-task-scheduler-messages + <<: *x-logging + restart: unless-stopped + networks: + - appwrite + depends_on: + mariadb: + condition: service_healthy + redis: + condition: service_healthy + environment: + - _APP_ENV + - _APP_WORKER_PER_CORE + - _APP_OPENSSL_KEY_V1 + - _APP_REDIS_HOST + - _APP_REDIS_PORT + - _APP_REDIS_USER + - _APP_REDIS_PASS + - _APP_DB_ADAPTER + - _APP_DB_HOST + - _APP_DB_PORT + - _APP_DB_SCHEMA + - _APP_DB_USER + - _APP_DB_PASS + + + appwrite-browser: + image: appwrite/browser:0.3.2 + container_name: appwrite-browser + <<: *x-logging + restart: unless-stopped + networks: + - appwrite + + openruntimes-executor: + container_name: exc1 + hostname: exc1 + <<: *x-logging + restart: unless-stopped + stop_signal: SIGINT + image: openruntimes/executor:0.25.1 + networks: + - appwrite + - runtimes + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - appwrite-builds:/storage/builds:rw + - appwrite-functions:/storage/functions:rw + - appwrite-sites:/storage/sites:rw + # Host mount nessessary to share files between executor and runtimes. + # It's not possible to share mount file between 2 containers without host mount (copying is too slow) + - /tmp:/tmp:rw + environment: + - OPR_EXECUTOR_INACTIVE_TRESHOLD=$_APP_COMPUTE_INACTIVE_THRESHOLD + - OPR_EXECUTOR_MAINTENANCE_INTERVAL=$_APP_COMPUTE_MAINTENANCE_INTERVAL + - OPR_EXECUTOR_NETWORK=$_APP_COMPUTE_RUNTIMES_NETWORK + - OPR_EXECUTOR_DOCKER_HUB_USERNAME=$_APP_DOCKER_HUB_USERNAME + - OPR_EXECUTOR_DOCKER_HUB_PASSWORD=$_APP_DOCKER_HUB_PASSWORD + - OPR_EXECUTOR_ENV=$_APP_ENV + - OPR_EXECUTOR_RUNTIMES=$_APP_FUNCTIONS_RUNTIMES,$_APP_SITES_RUNTIMES + - OPR_EXECUTOR_SECRET=$_APP_EXECUTOR_SECRET + - OPR_EXECUTOR_RUNTIME_VERSIONS=v5 + - OPEN_RUNTIMES_NFT=$_APP_OPEN_RUNTIMES_NFT + - OPR_EXECUTOR_LOGGING_CONFIG=$_APP_LOGGING_CONFIG + - OPR_EXECUTOR_STORAGE_DEVICE=$_APP_STORAGE_DEVICE + - OPR_EXECUTOR_STORAGE_S3_ACCESS_KEY=$_APP_STORAGE_S3_ACCESS_KEY + - OPR_EXECUTOR_STORAGE_S3_SECRET=$_APP_STORAGE_S3_SECRET + - OPR_EXECUTOR_STORAGE_S3_REGION=$_APP_STORAGE_S3_REGION + - OPR_EXECUTOR_STORAGE_S3_BUCKET=$_APP_STORAGE_S3_BUCKET + - OPR_EXECUTOR_STORAGE_S3_ENDPOINT=$_APP_STORAGE_S3_ENDPOINT + - OPR_EXECUTOR_STORAGE_DO_SPACES_ACCESS_KEY=$_APP_STORAGE_DO_SPACES_ACCESS_KEY + - OPR_EXECUTOR_STORAGE_DO_SPACES_SECRET=$_APP_STORAGE_DO_SPACES_SECRET + - OPR_EXECUTOR_STORAGE_DO_SPACES_REGION=$_APP_STORAGE_DO_SPACES_REGION + - OPR_EXECUTOR_STORAGE_DO_SPACES_BUCKET=$_APP_STORAGE_DO_SPACES_BUCKET + - OPR_EXECUTOR_STORAGE_BACKBLAZE_ACCESS_KEY=$_APP_STORAGE_BACKBLAZE_ACCESS_KEY + - OPR_EXECUTOR_STORAGE_BACKBLAZE_SECRET=$_APP_STORAGE_BACKBLAZE_SECRET + - OPR_EXECUTOR_STORAGE_BACKBLAZE_REGION=$_APP_STORAGE_BACKBLAZE_REGION + - OPR_EXECUTOR_STORAGE_BACKBLAZE_BUCKET=$_APP_STORAGE_BACKBLAZE_BUCKET + - OPR_EXECUTOR_STORAGE_LINODE_ACCESS_KEY=$_APP_STORAGE_LINODE_ACCESS_KEY + - OPR_EXECUTOR_STORAGE_LINODE_SECRET=$_APP_STORAGE_LINODE_SECRET + - OPR_EXECUTOR_STORAGE_LINODE_REGION=$_APP_STORAGE_LINODE_REGION + - OPR_EXECUTOR_STORAGE_LINODE_BUCKET=$_APP_STORAGE_LINODE_BUCKET + - OPR_EXECUTOR_STORAGE_WASABI_ACCESS_KEY=$_APP_STORAGE_WASABI_ACCESS_KEY + - OPR_EXECUTOR_STORAGE_WASABI_SECRET=$_APP_STORAGE_WASABI_SECRET + - OPR_EXECUTOR_STORAGE_WASABI_REGION=$_APP_STORAGE_WASABI_REGION + - OPR_EXECUTOR_STORAGE_WASABI_BUCKET=$_APP_STORAGE_WASABI_BUCKET + + + mariadb: + image: mariadb:10.11 + container_name: appwrite-mariadb + restart: unless-stopped + networks: + - appwrite + volumes: + - appwrite-mariadb:/var/lib/mysql:rw + environment: + - MYSQL_ROOT_PASSWORD=${_APP_DB_ROOT_PASS} + - MYSQL_DATABASE=${_APP_DB_SCHEMA} + - MYSQL_USER=${_APP_DB_USER} + - MYSQL_PASSWORD=${_APP_DB_PASS} + - MARIADB_AUTO_UPGRADE=1 + command: 'mysqld --innodb-flush-method=fsync' + healthcheck: + test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] + interval: 10s + timeout: 10s + retries: 10 + start_period: 30s + + redis: + image: redis:7.4.7-alpine + container_name: appwrite-redis + <<: *x-logging + restart: unless-stopped + command: > + redis-server + --maxmemory 512mb + --maxmemory-policy allkeys-lru + --maxmemory-samples 5 + networks: + - appwrite + volumes: + - appwrite-redis:/data:rw + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 10s + + # clamav: + # image: appwrite/clamav:1.2.0 + # container_name: appwrite-clamav + # restart: unless-stopped + # networks: + # - appwrite + # volumes: + # - appwrite-uploads:/storage/uploads + +networks: + gateway: + name: gateway + appwrite: + name: appwrite + runtimes: + name: runtimes + +volumes: + appwrite-mariadb: + appwrite-redis: + appwrite-cache: + appwrite-uploads: + appwrite-imports: + appwrite-certificates: + appwrite-functions: + appwrite-sites: + appwrite-builds: + appwrite-config: diff --git a/old_appwrite-coolify.yml b/old_appwrite-coolify.yml new file mode 100644 index 0000000..582ef30 --- /dev/null +++ b/old_appwrite-coolify.yml @@ -0,0 +1,1140 @@ +services: + appwrite: + image: appwrite/appwrite:1.9.0 + container_name: appwrite + volumes: + - appwrite-uploads:/storage/uploads:rw + - appwrite-imports:/storage/imports:rw + - appwrite-cache:/storage/cache:rw + - appwrite-config:/storage/config:rw + - appwrite-certificates:/storage/certificates:rw + - appwrite-functions:/storage/functions:rw + - appwrite-sites:/storage/sites:rw + - appwrite-builds:/storage/builds:rw + depends_on: + - appwrite-mariadb + - appwrite-redis + environment: + - SERVICE_URL_APPWRITE=/ + - _APP_ENV=${_APP_ENV:-production} + - _APP_EDITION=${_APP_EDITION:-self-hosted} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_LOCALE=${_APP_LOCALE:-en} + - _APP_COMPRESSION_MIN_SIZE_BYTES=${_APP_COMPRESSION_MIN_SIZE_BYTES} + - _APP_CONSOLE_WHITELIST_ROOT=${_APP_CONSOLE_WHITELIST_ROOT:-enabled} + - _APP_CONSOLE_WHITELIST_EMAILS=${_APP_CONSOLE_WHITELIST_EMAILS} + - _APP_CONSOLE_WHITELIST_IPS=${_APP_CONSOLE_WHITELIST_IPS} + - _APP_SYSTEM_EMAIL_NAME=${_APP_SYSTEM_EMAIL_NAME:-Appwrite} + - _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS:-team@appwrite.io} + - _APP_SYSTEM_TEAM_EMAIL=${_APP_SYSTEM_TEAM_EMAIL:-team@appwrite.io} + - _APP_SYSTEM_RESPONSE_FORMAT=${_APP_SYSTEM_RESPONSE_FORMAT} + - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} + - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io} + - _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE:-enabled} + - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} + - _APP_OPTIONS_ROUTER_FORCE_HTTPS=${_APP_OPTIONS_ROUTER_FORCE_HTTPS:-disabled} + - _APP_OPTIONS_ROUTER_PROTECTION=${_APP_OPTIONS_ROUTER_PROTECTION:-disabled} + - _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=${_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS:-disabled} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} + - _APP_DOMAIN_TARGET_CNAME=${_APP_DOMAIN_TARGET_CNAME:-localhost} + - _APP_DOMAIN_TARGET_AAAA=${_APP_DOMAIN_TARGET_AAAA:-::1} + - _APP_DOMAIN_TARGET_A=${_APP_DOMAIN_TARGET_A:-127.0.0.1} + - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.appwrite.almeira.com.co} + - _APP_MAIN_TLDS=${_APP_MAIN_TLDS} + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + - _APP_SMTP_HOST=${_APP_SMTP_HOST} + - _APP_SMTP_PORT=${_APP_SMTP_PORT} + - _APP_SMTP_SECURE=${_APP_SMTP_SECURE} + - _APP_SMTP_USERNAME=${_APP_SMTP_USERNAME} + - _APP_SMTP_PASSWORD=${_APP_SMTP_PASSWORD} + - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} + - _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30} + - _APP_STORAGE_LIMIT=150000000 + - _APP_STORAGE_PREVIEW_LIMIT=${_APP_STORAGE_PREVIEW_LIMIT:-20000000} + - _APP_STORAGE_ANTIVIRUS=${_APP_STORAGE_ANTIVIRUS:-disabled} + - _APP_STORAGE_ANTIVIRUS_HOST=${_APP_STORAGE_ANTIVIRUS_HOST:-appwrite-clamav} + - _APP_STORAGE_ANTIVIRUS_PORT=${_APP_STORAGE_ANTIVIRUS_PORT:-3310} + - _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local} + - _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY} + - _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET} + - _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1} + - _APP_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET} + - _APP_STORAGE_S3_ENDPOINT=${_APP_STORAGE_S3_ENDPOINT} + - _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY} + - _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET} + - _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION:-us-east-1} + - _APP_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET} + - _APP_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY} + - _APP_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET} + - _APP_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION:-us-west-004} + - _APP_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET} + - _APP_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY} + - _APP_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET} + - _APP_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION:-eu-central-1} + - _APP_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET} + - _APP_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY} + - _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET} + - _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1} + - _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} + - _APP_COMPUTE_SIZE_LIMIT=${_APP_COMPUTE_SIZE_LIMIT:-30000000} + - _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT:-900} + - _APP_SITES_TIMEOUT=${_APP_SITES_TIMEOUT:-900} + - _APP_COMPUTE_BUILD_TIMEOUT=${_APP_COMPUTE_BUILD_TIMEOUT:-900} + - _APP_COMPUTE_CPUS=${_APP_COMPUTE_CPUS:-0} + - _APP_COMPUTE_MEMORY=${_APP_COMPUTE_MEMORY:-0} + - _APP_COMPUTE_INACTIVE_THRESHOLD=${_APP_COMPUTE_INACTIVE_THRESHOLD} + - _APP_COMPUTE_MAINTENANCE_INTERVAL=${_APP_COMPUTE_MAINTENANCE_INTERVAL} + - _APP_COMPUTE_RUNTIMES_NETWORK=${_APP_COMPUTE_RUNTIMES_NETWORK} + - _APP_DOCKER_HUB_USERNAME=${_APP_DOCKER_HUB_USERNAME} + - _APP_DOCKER_HUB_PASSWORD=${_APP_DOCKER_HUB_PASSWORD} + - _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_STATSD_HOST=${_APP_STATSD_HOST} + - _APP_STATSD_PORT=${_APP_STATSD_PORT} + - _APP_FUNCTIONS_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES:-node-20.0,php-8.2,python-3.11,ruby-3.2} + - _APP_SITES_RUNTIMES=${_APP_SITES_RUNTIMES} + - _APP_DOMAIN_SITES=${_APP_DOMAIN_SITES:-sites.appwrite.almeira.com.co} + - _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE + - _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1} + - _APP_MIGRATIONS=${_APP_MIGRATIONS} + - _APP_MAINTENANCE_INTERVAL=${_APP_MAINTENANCE_INTERVAL:-86400} + - _APP_MAINTENANCE_RETENTION_EXECUTION=${_APP_MAINTENANCE_RETENTION_EXECUTION:-1209600} + - _APP_MAINTENANCE_RETENTION_CACHE=${_APP_MAINTENANCE_RETENTION_CACHE:-2592000} + - _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE:-86400} + - _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600} + - _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY:-8640000} + - _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400} + - _APP_GRAPHQL_MAX_BATCH_SIZE=${_APP_GRAPHQL_MAX_BATCH_SIZE:-10} + - _APP_GRAPHQL_MAX_COMPLEXITY=${_APP_GRAPHQL_MAX_COMPLEXITY:-250} + - _APP_GRAPHQL_MAX_DEPTH=${_APP_GRAPHQL_MAX_DEPTH:-3} + healthcheck: + test: ["CMD-SHELL", "curl -fsI http://localhost:80 | head -n 1 | grep -E '^HTTP/.* 3[0-9]{2} ' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-console: + image: appwrite/console:6.1.30 + container_name: appwrite-console + environment: + - SERVICE_URL_APPWRITE=/console + healthcheck: + test: ["CMD-SHELL", "curl -fsI http://localhost:80 | head -n 1 | grep -E '^HTTP/.* 3[0-9]{2} ' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-realtime: + image: appwrite/appwrite:1.9.0 + entrypoint: realtime + container_name: appwrite-realtime + depends_on: + - appwrite-mariadb + - appwrite-redis + environment: + - SERVICE_URL_APPWRITE=/v1/realtime + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE:-enabled} + - _APP_OPTIONS_ROUTER_PROTECTION=${_APP_OPTIONS_ROUTER_PROTECTION:-disabled} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + healthcheck: + test: ["CMD-SHELL", "curl -s localhost > /dev/null || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-worker-audits: + image: appwrite/appwrite:1.9.0 + entrypoint: worker-audits + container_name: appwrite-worker-audits + depends_on: + - appwrite-redis + - appwrite-mariadb + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-audits' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-worker-webhooks: + image: appwrite/appwrite:1.9.0 + entrypoint: worker-webhooks + container_name: appwrite-worker-webhooks + depends_on: + - appwrite-redis + - appwrite-mariadb + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} + - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-webhooks' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-worker-deletes: + image: appwrite/appwrite:1.9.0 + entrypoint: worker-deletes + container_name: appwrite-worker-deletes + depends_on: + - appwrite-redis + - appwrite-mariadb + volumes: + - appwrite-uploads:/storage/uploads:rw + - appwrite-cache:/storage/cache:rw + - appwrite-functions:/storage/functions:rw + - appwrite-sites:/storage/sites:rw + - appwrite-builds:/storage/builds:rw + - appwrite-certificates:/storage/certificates:rw + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + - _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local} + - _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY} + - _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET} + - _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1} + - _APP_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET} + - _APP_STORAGE_S3_ENDPOINT=${_APP_STORAGE_S3_ENDPOINT} + - _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY} + - _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET} + - _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION:-us-east-1} + - _APP_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET} + - _APP_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY} + - _APP_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET} + - _APP_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION:-us-west-004} + - _APP_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET} + - _APP_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY} + - _APP_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET} + - _APP_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION:-eu-central-1} + - _APP_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET} + - _APP_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY} + - _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET} + - _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1} + - _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} + - _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE + - _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-deletes' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-worker-databases: + image: appwrite/appwrite:1.9.0 + entrypoint: worker-databases + container_name: appwrite-worker-databases + depends_on: + - appwrite-redis + - appwrite-mariadb + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-databases' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-worker-builds: + image: appwrite/appwrite:1.9.0 + entrypoint: worker-builds + container_name: appwrite-worker-builds + depends_on: + - appwrite-redis + - appwrite-mariadb + volumes: + - appwrite-functions:/storage/functions:rw + - appwrite-sites:/storage/sites:rw + - appwrite-builds:/storage/builds:rw + - appwrite-uploads:/storage/uploads:rw + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE + - _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1} + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT:-900} + - _APP_SITES_TIMEOUT=${_APP_SITES_TIMEOUT:-900} + - _APP_COMPUTE_BUILD_TIMEOUT=${_APP_COMPUTE_BUILD_TIMEOUT:-900} + - _APP_COMPUTE_CPUS=${_APP_COMPUTE_CPUS:-0} + - _APP_COMPUTE_MEMORY=${_APP_COMPUTE_MEMORY:-0} + - _APP_COMPUTE_SIZE_LIMIT=150000000 + - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} + - _APP_OPTIONS_ROUTER_FORCE_HTTPS=${_APP_OPTIONS_ROUTER_FORCE_HTTPS:-disabled} + - _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=${_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS:-disabled} + - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} + - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.appwrite.almeira.com.co} + - _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local} + - _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY} + - _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET} + - _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1} + - _APP_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET} + - _APP_STORAGE_S3_ENDPOINT=${_APP_STORAGE_S3_ENDPOINT} + - _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY} + - _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET} + - _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION:-us-east-1} + - _APP_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET} + - _APP_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY} + - _APP_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET} + - _APP_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION:-us-west-004} + - _APP_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET} + - _APP_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY} + - _APP_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET} + - _APP_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION:-eu-central-1} + - _APP_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET} + - _APP_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY} + - _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET} + - _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1} + - _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} + - _APP_DOMAIN_SITES=${_APP_DOMAIN_SITES:-sites.appwrite.almeira.com.co} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-builds' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-worker-certificates: + image: appwrite/appwrite:1.9.0 + entrypoint: worker-certificates + container_name: appwrite-worker-certificates + depends_on: + - appwrite-redis + - appwrite-mariadb + volumes: + - appwrite-config:/storage/config:rw + - appwrite-certificates:/storage/certificates:rw + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} + - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.appwrite.almeira.com.co} + - _APP_MAIN_TLDS=${_APP_MAIN_TLDS} + - _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS:-team@appwrite.io} + - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} + - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io} + - _APP_EMAIL_CERTIFICATES=${_APP_EMAIL_CERTIFICATES:-enabled} + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-certificates' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-worker-functions: + image: appwrite/appwrite:1.9.0 + entrypoint: worker-functions + container_name: appwrite-worker-functions + depends_on: + - appwrite-redis + - appwrite-mariadb + - openruntimes-executor + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} + - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.appwrite.almeira.com.co} + - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} + - _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=${_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS:-disabled} + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT:-900} + - _APP_SITES_TIMEOUT=${_APP_SITES_TIMEOUT:-900} + - _APP_COMPUTE_BUILD_TIMEOUT=${_APP_COMPUTE_BUILD_TIMEOUT:-900} + - _APP_COMPUTE_CPUS=${_APP_COMPUTE_CPUS:-0} + - _APP_COMPUTE_MEMORY=${_APP_COMPUTE_MEMORY:-0} + - _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE + - _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1} + - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-functions' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-worker-mails: + image: appwrite/appwrite:1.9.0 + entrypoint: worker-mails + container_name: appwrite-worker-mails + depends_on: + - appwrite-redis + - appwrite-mariadb + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_SYSTEM_EMAIL_NAME=${_APP_SYSTEM_EMAIL_NAME:-Appwrite} + - _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS:-team@appwrite.io} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + - _APP_SMTP_HOST=${_APP_SMTP_HOST} + - _APP_SMTP_PORT=${_APP_SMTP_PORT} + - _APP_SMTP_SECURE=${_APP_SMTP_SECURE} + - _APP_SMTP_USERNAME=${_APP_SMTP_USERNAME} + - _APP_SMTP_PASSWORD=${_APP_SMTP_PASSWORD} + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} + - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-mails' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-worker-messaging: + image: appwrite/appwrite:1.9.0 + entrypoint: worker-messaging + container_name: appwrite-worker-messaging + volumes: + - appwrite-uploads:/storage/uploads:rw + depends_on: + - appwrite-redis + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local} + - _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY} + - _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET} + - _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1} + - _APP_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET} + - _APP_STORAGE_S3_ENDPOINT=${_APP_STORAGE_S3_ENDPOINT} + - _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY} + - _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET} + - _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION:-us-east-1} + - _APP_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET} + - _APP_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY} + - _APP_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET} + - _APP_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION:-us-west-004} + - _APP_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET} + - _APP_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY} + - _APP_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET} + - _APP_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION:-eu-central-1} + - _APP_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET} + - _APP_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY} + - _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET} + - _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1} + - _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-messaging' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-worker-migrations: + image: appwrite/appwrite:1.9.0 + entrypoint: worker-migrations + container_name: appwrite-worker-migrations + volumes: + - appwrite-imports:/storage/imports:rw + depends_on: + - appwrite-mariadb + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} + - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.appwrite.almeira.com.co} + - _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS} + - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io} + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + exclude_from_hc: true + + appwrite-task-maintenance: + image: appwrite/appwrite:1.9.0 + entrypoint: maintenance + container_name: appwrite-task-maintenance + depends_on: + - appwrite-redis + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_DOMAIN=${_APP_DOMAIN:-appwrite.almeira.com.co} + - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.appwrite.almeira.com.co} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_MAINTENANCE_INTERVAL=${_APP_MAINTENANCE_INTERVAL:-86400} + - _APP_MAINTENANCE_RETENTION_EXECUTION=${_APP_MAINTENANCE_RETENTION_EXECUTION:-1209600} + - _APP_MAINTENANCE_RETENTION_CACHE=${_APP_MAINTENANCE_RETENTION_CACHE:-2592000} + - _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE:-86400} + - _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600} + - _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY:-8640000} + - _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[m]aintenance' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-task-stats-resources: + image: appwrite/appwrite:1.9.0 + container_name: appwrite-task-stats-resources + entrypoint: stats-resources + depends_on: + - appwrite-redis + - appwrite-mariadb + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[s]tats-resources' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + + appwrite-worker-stats-resources: + image: appwrite/appwrite:1.9.0 + entrypoint: worker-stats-resources + container_name: appwrite-worker-stats-resources + depends_on: + - appwrite-redis + - appwrite-mariadb + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-stats-resources' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-worker-stats-usage: + image: appwrite/appwrite:1.9.0 + entrypoint: worker-stats-usage + container_name: appwrite-worker-stats-usage + depends_on: + - appwrite-redis + - appwrite-mariadb + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} + - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30} + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[w]orker-stats-usage' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + + appwrite-task-scheduler-functions: + image: appwrite/appwrite:1.9.0 + entrypoint: schedule-functions + container_name: appwrite-task-scheduler-functions + depends_on: + - appwrite-mariadb + - appwrite-redis + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[s]chedule-functi' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-task-scheduler-executions: + image: appwrite/appwrite:1.9.0 + entrypoint: schedule-executions + container_name: appwrite-task-scheduler-executions + depends_on: + - appwrite-mariadb + - appwrite-redis + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[s]chedule-execut' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-task-scheduler-messages: + image: appwrite/appwrite:1.9.0 + entrypoint: schedule-messages + container_name: appwrite-task-scheduler-messages + depends_on: + - appwrite-mariadb + - appwrite-redis + environment: + - _APP_ENV=${_APP_ENV:-production} + - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} + - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} + - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} + - _APP_REDIS_USER=${_APP_REDIS_USER} + - _APP_REDIS_PASS=${_APP_REDIS_PASS} + - _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb} + - _APP_DB_PORT=${_APP_DB_PORT:-3306} + - _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite} + - _APP_DB_ADAPTER=${_APP_DB_ADAPTER:-mariadb} + - _APP_DB_ADAPTER_DOCUMENTSDB=${_APP_DB_ADAPTER_DOCUMENTSDB:-mariadb} + - _APP_DB_HOST_DOCUMENTSDB=${_APP_DB_HOST_DOCUMENTSDB:-appwrite-mariadb} + - _APP_DB_PORT_DOCUMENTSDB=${_APP_DB_PORT_DOCUMENTSDB:-3306} + - _APP_DB_SCHEMA_DOCUMENTSDB=${_APP_DB_SCHEMA_DOCUMENTSDB:-appwrite} + - _APP_DB_USER_DOCUMENTSDB=${_APP_DB_USER_DOCUMENTSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_DOCUMENTSDB=${_APP_DB_PASS_DOCUMENTSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_ADAPTER_VECTORSDB=${_APP_DB_ADAPTER_VECTORSDB:-mariadb} + - _APP_DB_HOST_VECTORSDB=${_APP_DB_HOST_VECTORSDB:-appwrite-mariadb} + - _APP_DB_PORT_VECTORSDB=${_APP_DB_PORT_VECTORSDB:-3306} + - _APP_DB_SCHEMA_VECTORSDB=${_APP_DB_SCHEMA_VECTORSDB:-appwrite} + - _APP_DB_USER_VECTORSDB=${_APP_DB_USER_VECTORSDB:-$SERVICE_USER_MARIADB} + - _APP_DB_PASS_VECTORSDB=${_APP_DB_PASS_VECTORSDB:-$SERVICE_PASSWORD_MARIADB} + - _APP_DB_USER=$SERVICE_USER_MARIADB + - _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB + - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} + healthcheck: + test: ["CMD-SHELL", "ps aux | grep -q '[s]chedule-messag' || exit 1"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-assistant: + image: appwrite/assistant:0.8.4 + container_name: appwrite-assistant + environment: + - _APP_ASSISTANT_OPENAI_API_KEY=${_APP_ASSISTANT_OPENAI_API_KEY} + healthcheck: + test: ["CMD-SHELL", "wget --spider -q http://127.0.0.1:3003 || exit 0"] + interval: 20s + timeout: 5s + retries: 3 + + appwrite-browser: + image: appwrite/browser:0.3.2 + container_name: appwrite-browser + hostname: appwrite-browser + healthcheck: + test: ["CMD", "node", "-e", "import('http').then(http => http.get('http://localhost:3000', res => process.exit(0)).on('error', () => process.exit(1)))"] + interval: 20s + timeout: 5s + retries: 3 + + + openruntimes-executor: + container_name: openruntimes-executor + hostname: appwrite-executor + stop_signal: SIGINT + image: openruntimes/executor:0.8.6 + networks: + - runtimes + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - appwrite-builds:/storage/builds:rw + - appwrite-functions:/storage/functions:rw + - appwrite-sites:/storage/sites:rw + - /tmp:/tmp:rw + environment: + - OPR_EXECUTOR_IMAGE_PULL=disabled + - OPR_EXECUTOR_INACTIVE_TRESHOLD=${_APP_COMPUTE_INACTIVE_THRESHOLD} + - OPR_EXECUTOR_MAINTENANCE_INTERVAL=${_APP_COMPUTE_MAINTENANCE_INTERVAL} + - OPR_EXECUTOR_NETWORK=${_APP_COMPUTE_RUNTIMES_NETWORK:-runtimes} + - OPR_EXECUTOR_DOCKER_HUB_USERNAME=${_APP_DOCKER_HUB_USERNAME} + - OPR_EXECUTOR_DOCKER_HUB_PASSWORD=${_APP_DOCKER_HUB_PASSWORD} + - OPR_EXECUTOR_ENV=${_APP_ENV:-production} + - OPR_EXECUTOR_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES},${_APP_SITES_RUNTIMES} + - OPR_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE + - OPR_EXECUTOR_RUNTIME_VERSIONS=v5 + - OPR_EXECUTOR_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} + - OPR_EXECUTOR_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local} + - OPR_EXECUTOR_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY} + - OPR_EXECUTOR_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET} + - OPR_EXECUTOR_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION} + - OPR_EXECUTOR_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET} + - OPR_EXECUTOR_STORAGE_S3_ENDPOINT=${_APP_STORAGE_S3_ENDPOINT} + - OPR_EXECUTOR_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY} + - OPR_EXECUTOR_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET} + - OPR_EXECUTOR_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION} + - OPR_EXECUTOR_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET} + - OPR_EXECUTOR_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY} + - OPR_EXECUTOR_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET} + - OPR_EXECUTOR_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION} + - OPR_EXECUTOR_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET} + - OPR_EXECUTOR_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY} + - OPR_EXECUTOR_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET} + - OPR_EXECUTOR_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION} + - OPR_EXECUTOR_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET} + - OPR_EXECUTOR_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY} + - OPR_EXECUTOR_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET} + - OPR_EXECUTOR_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION} + - OPR_EXECUTOR_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} + + appwrite-mariadb: + image: mariadb:10.11 + container_name: appwrite-mariadb + volumes: + - appwrite-mariadb:/var/lib/mysql:rw + environment: + - MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_MARIADBROOT + - MYSQL_DATABASE=${_APP_DB_SCHEMA:-appwrite} + - MYSQL_USER=$SERVICE_USER_MARIADB + - MYSQL_PASSWORD=$SERVICE_PASSWORD_MARIADB + - MARIADB_AUTO_UPGRADE=1 + command: 'mysqld --innodb-flush-method=fsync' + healthcheck: + test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] + interval: 20s + timeout: 10s + retries: 5 + + appwrite-redis: + image: redis:7.2.4-alpine + container_name: appwrite-redis + command: > + redis-server + --maxmemory 512mb + --maxmemory-policy allkeys-lru + --maxmemory-samples 5 + volumes: + - appwrite-redis:/data:rw + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 20s + timeout: 10s + retries: 5 + +networks: + runtimes: + name: runtimes diff --git a/ssh_run.py b/ssh_run.py new file mode 100644 index 0000000..5af2cc1 --- /dev/null +++ b/ssh_run.py @@ -0,0 +1,29 @@ +import paramiko +import sys + +def run_ssh_command(host, user, password, command): + client = paramiko.SSHClient() + client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + try: + client.connect(hostname=host, username=user, password=password, timeout=10) + stdin, stdout, stderr = client.exec_command(command) + + exit_status = stdout.channel.recv_exit_status() + out = stdout.read().decode() + err = stderr.read().decode() + + if out: + print(out) + if err: + print(err, file=sys.stderr) + + sys.exit(exit_status) + except Exception as e: + print(f"Error: {e}", file=sys.stderr) + sys.exit(1) + finally: + client.close() + +if __name__ == "__main__": + cmd = sys.argv[1] + run_ssh_command("161.97.93.156", "carlos", "Innova1978+*?", cmd)