From 50a7d23fc44f92fabf827e720645c494042714c8 Mon Sep 17 00:00:00 2001 From: viktorvsk Date: Thu, 23 Apr 2026 15:08:07 +0000 Subject: [PATCH] fix: use fibe.gg/repo_url pointing to Gitea instead of GitHub starter kit --- docker-compose.yml | 235 +-------------------------------------------- 1 file changed, 1 insertion(+), 234 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 36fdd18..6bdff57 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,234 +1 @@ -x-fibe.gg: - variables: - rails_master_key: - name: "Rails master key" - required: false - pgpassword: - name: "Postgres password" - required: true - subdomain: - name: "Subdomain" - required: true - default: "starter" - branch: - name: "Branch" - required: true - default: "main" - -services: - postgres: - image: postgres:17.5 - shm_size: 1gb - deploy: - resources: - limits: - cpus: '2' - memory: 4G - command: postgres -c config_file=/etc/postgresql/postgresql.conf - configs: - - source: postgres_config - target: /etc/postgresql/postgresql.conf - environment: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: $$random__pgpassword - POSTGRES_DB: starter_development - POSTGRES_HOST_AUTH_METHOD: trust - volumes: - - postgres_data:/var/lib/postgresql/data - ports: - - "5432:5432" - healthcheck: - test: [ "CMD-SHELL", "pg_isready -U postgres -d starter_development" ] - interval: 5s - timeout: 5s - retries: 5 - restart: unless-stopped - - pgbouncer: - image: edoburu/pgbouncer:latest - environment: - DB_HOST: postgres - DB_PORT: 5432 - DB_USER: postgres - DB_PASSWORD: $$random__pgpassword - POOL_MODE: transaction - ADMIN_USERS: postgres - AUTH_TYPE: scram-sha-256 - IGNORE_STARTUP_PARAMETERS: extra_float_digits - depends_on: - postgres: - condition: service_healthy - - localstack: - image: localstack/localstack:4.13.1 - environment: - - SERVICES=s3 - - DEBUG=0 - volumes: - - "localstack_data:/var/lib/localstack" - ports: - - "4566:4566" - - redis: - image: redis:8.4-alpine - restart: unless-stopped - volumes: - - redis_data:/data - ports: - - "6379:6379" - healthcheck: - test: ["CMD", "redis-cli", "ping"] - interval: 5s - timeout: 5s - retries: 5 - - ws: - image: anycable/anycable-go:1.6 - environment: - ANYCABLE_HOST: 0.0.0.0 - ANYCABLE_PORT: 8081 - ANYCABLE_DEBUG: 0 - ANYCABLE_RPC_HOST: http://app:3000/_anycable - ANYCABLE_BROADCAST_ADAPTER: redis - REDIS_URL: redis://redis:6379/1 - ANYCABLE_DISABLE_TELEMETRY: true - depends_on: - redis: - condition: service_healthy - ports: - - "8081:8081" - - setup: - build: - context: . - dockerfile: Dockerfile.dev - depends_on: - postgres: - condition: service_healthy - redis: - condition: service_healthy - localstack: - condition: service_started - pgbouncer: - condition: service_started - volumes: - - storage:/rails/storage - - /rails/tmp/cache - command: bin/setup --skip-server - environment: - RAILS_ENV: development - RAILS_MASTER_KEY: $$var__rails_master_key - DB_PASS: $$random__pgpassword - DB_HOST: postgres - DB_DIRECT_HOST: postgres - DB_DIRECT_PORT: "5432" - REDIS_URL: redis://redis:6379/1 - labels: - fibe.gg/github_url: "https://github.com/viktorvsk/rails-8-AI-native-starter-kit" - fibe.gg/dockerfile: "Dockerfile.dev" - fibe.gg/branch: $$var__branch - fibe.gg/source_mount: /rails - fibe.gg/env_file: env.example - - tests: - build: - context: . - dockerfile: Dockerfile.dev - depends_on: - setup: - condition: service_completed_successfully - postgres: - condition: service_healthy - redis: - condition: service_healthy - localstack: - condition: service_started - pgbouncer: - condition: service_started - volumes: - - storage:/rails/storage - - /rails/tmp/cache - command: bash -c "bin/setup --skip-server && bin/check-fast" - environment: - RAILS_ENV: test - RAILS_MASTER_KEY: $$var__rails_master_key - DB_PASS: $$random__pgpassword - DB_HOST: postgres - DB_DIRECT_HOST: postgres - DB_DIRECT_PORT: "5432" - REDIS_URL: redis://redis:6379/1 - labels: - fibe.gg/github_url: "https://github.com/viktorvsk/rails-8-AI-native-starter-kit" - fibe.gg/dockerfile: "Dockerfile.dev" - fibe.gg/branch: $$var__branch - fibe.gg/source_mount: /rails - fibe.gg/env_file: env.example - - - app: - build: - context: . - dockerfile: Dockerfile.dev - depends_on: - tests: - condition: service_completed_successfully - postgres: - condition: service_healthy - redis: - condition: service_healthy - localstack: - condition: service_started - pgbouncer: - condition: service_started - volumes: - - storage:/rails/storage - - /rails/tmp/cache - ports: - - "3000:3000" - tty: true - stdin_open: true - restart: unless-stopped - command: bin/dev - environment: - RAILS_ENV: development - RAILS_MASTER_KEY: $$var__rails_master_key - DB_PASS: $$random__pgpassword - DB_HOST: pgbouncer - DB_DIRECT_HOST: postgres - DB_DIRECT_PORT: "5432" - REDIS_URL: redis://redis:6379/1 - labels: - fibe.gg/github_url: "https://github.com/viktorvsk/rails-8-AI-native-starter-kit" - fibe.gg/expose: "external:3000" - fibe.gg/dockerfile: "Dockerfile.dev" - fibe.gg/branch: $$var__branch - fibe.gg/source_mount: /rails - fibe.gg/env_file: env.example - fibe.gg/subdomain: "$$var__subdomain" - fibe.gg/zerodowntime: "false" - -volumes: - postgres_data: - localstack_data: - redis_data: - storage: - -configs: - postgres_config: - content: | - listen_addresses = '*' - shared_buffers = 1GB - effective_cache_size = 3GB - maintenance_work_mem = 256MB - checkpoint_completion_target = 0.9 - wal_buffers = 16MB - default_statistics_target = 100 - random_page_cost = 1.1 - effective_io_concurrency = 200 - work_mem = 10MB - min_wal_size = 1GB - max_wal_size = 4GB - max_worker_processes = 2 - max_parallel_workers_per_gather = 1 - max_parallel_workers = 2 - max_parallel_maintenance_workers = 1 +eC1maWJlLmdnOgogIHZhcmlhYmxlczoKICAgIHJhaWxzX21hc3Rlcl9rZXk6CiAgICAgIG5hbWU6ICJSYWlscyBtYXN0ZXIga2V5IgogICAgICByZXF1aXJlZDogZmFsc2UKICAgIHBncGFzc3dvcmQ6CiAgICAgIG5hbWU6ICJQb3N0Z3JlcyBwYXNzd29yZCIKICAgICAgcmVxdWlyZWQ6IHRydWUKICAgIHN1YmRvbWFpbjoKICAgICAgbmFtZTogIlN1YmRvbWFpbiIKICAgICAgcmVxdWlyZWQ6IHRydWUKICAgICAgZGVmYXVsdDogInN0YXJ0ZXIiCiAgICBicmFuY2g6CiAgICAgIG5hbWU6ICJCcmFuY2giCiAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICAgIGRlZmF1bHQ6ICJtYWluIgoKc2VydmljZXM6CiAgcG9zdGdyZXM6CiAgICBpbWFnZTogcG9zdGdyZXM6MTcuNQogICAgc2htX3NpemU6IDFnYgogICAgZGVwbG95OgogICAgICByZXNvdXJjZXM6CiAgICAgICAgbGltaXRzOgogICAgICAgICAgY3B1czogJzInCiAgICAgICAgICBtZW1vcnk6IDRHCiAgICBjb21tYW5kOiBwb3N0Z3JlcyAtYyBjb25maWdfZmlsZT0vZXRjL3Bvc3RncmVzcWwvcG9zdGdyZXNxbC5jb25mCiAgICBjb25maWdzOgogICAgICAtIHNvdXJjZTogcG9zdGdyZXNfY29uZmlnCiAgICAgICAgdGFyZ2V0OiAvZXRjL3Bvc3RncmVzcWwvcG9zdGdyZXNxbC5jb25mCiAgICBlbnZpcm9ubWVudDoKICAgICAgUE9TVEdSRVNfVVNFUjogcG9zdGdyZXMKICAgICAgUE9TVEdSRVNfUEFTU1dPUkQ6ICQkcmFuZG9tX19wZ3Bhc3N3b3JkCiAgICAgIFBPU1RHUkVTX0RCOiBzdGFydGVyX2RldmVsb3BtZW50CiAgICAgIFBPU1RHUkVTX0hPU1RfQVVUSF9NRVRIT0Q6IHRydXN0CiAgICB2b2x1bWVzOgogICAgICAtIHBvc3RncmVzX2RhdGE6L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhCiAgICBwb3J0czoKICAgICAgLSAiNTQzMjo1NDMyIgogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6IFsgIkNNRC1TSEVMTCIsICJwZ19pc3JlYWR5IC1VIHBvc3RncmVzIC1kIHN0YXJ0ZXJfZGV2ZWxvcG1lbnQiIF0KICAgICAgaW50ZXJ2YWw6IDVzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDUKICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkCgogIHBnYm91bmNlcjoKICAgIGltYWdlOiBlZG9idXJ1L3BnYm91bmNlcjpsYXRlc3QKICAgIGVudmlyb25tZW50OgogICAgICBEQl9IT1NUOiBwb3N0Z3JlcwogICAgICBEQl9QT1JUOiA1NDMyCiAgICAgIERCX1VTRVI6IHBvc3RncmVzCiAgICAgIERCX1BBU1NXT1JEOiAkJHJhbmRvbV9fcGdwYXNzd29yZAogICAgICBQT09MX01PREU6IHRyYW5zYWN0aW9uCiAgICAgIEFETUlOX1VTRVJTOiBwb3N0Z3JlcwogICAgICBBVVRIX1RZUEU6IHNjcmFtLXNoYS0yNTYKICAgICAgSUdOT1JFX1NUQVJUVVBfUEFSQU1FVEVSUzogZXh0cmFfZmxvYXRfZGlnaXRzCiAgICBkZXBlbmRzX29uOgogICAgICBwb3N0Z3JlczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQoKICBsb2NhbHN0YWNrOgogICAgaW1hZ2U6IGxvY2Fsc3RhY2svbG9jYWxzdGFjazo0LjEzLjEKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VTPXMzCiAgICAgIC0gREVCVUc9MAogICAgdm9sdW1lczoKICAgICAgLSAibG9jYWxzdGFja19kYXRhOi92YXIvbGliL2xvY2Fsc3RhY2siCiAgICBwb3J0czoKICAgICAgLSAiNDU2Njo0NTY2IgoKICByZWRpczoKICAgIGltYWdlOiByZWRpczo4LjQtYWxwaW5lCiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZAogICAgdm9sdW1lczoKICAgICAgLSByZWRpc19kYXRhOi9kYXRhCiAgICBwb3J0czoKICAgICAgLSAiNjM3OTo2Mzc5IgogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6IFsiQ01EIiwgInJlZGlzLWNsaSIsICJwaW5nIl0KICAgICAgaW50ZXJ2YWw6IDVzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDUKCiAgd3M6CiAgICBpbWFnZTogYW55Y2FibGUvYW55Y2FibGUtZ286MS42CiAgICBlbnZpcm9ubWVudDoKICAgICAgQU5ZQ0FCTEVfSE9TVDogMC4wLjAuMAogICAgICBBTllDQUJMRV9QT1JUOiA4MDgxCiAgICAgIEFOWUNBQkxFX0RFQlVHOiAwCiAgICAgIEFOWUNBQkxFX1JQQ19IT1NUOiBodHRwOi8vYXBwOjMwMDAvX2FueWNhYmxlCiAgICAgIEFOWUNBQkxFX0JST0FEQ0FTVF9BREFQVEVSOiByZWRpcwogICAgICBSRURJU19VUkw6IHJlZGlzOi8vcmVkaXM6NjM3OS8xCiAgICAgIEFOWUNBQkxFX0RJU0FCTEVfVEVMRU1FVFJZOiB0cnVlCiAgICBkZXBlbmRzX29uOgogICAgICByZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgcG9ydHM6CiAgICAgIC0gIjgwODE6ODA4MSIKCiAgc2V0dXA6CiAgICBidWlsZDoKICAgICAgY29udGV4dDogLgogICAgICBkb2NrZXJmaWxlOiBEb2NrZXJmaWxlLmRldgogICAgZGVwZW5kc19vbjoKICAgICAgcG9zdGdyZXM6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgICAgcmVkaXM6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgICAgbG9jYWxzdGFjazoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2Vfc3RhcnRlZAogICAgICBwZ2JvdW5jZXI6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX3N0YXJ0ZWQKICAgIHZvbHVtZXM6CiAgICAgIC0gc3RvcmFnZTovcmFpbHMvc3RvcmFnZQogICAgICAtIC9yYWlscy90bXAvY2FjaGUKICAgIGNvbW1hbmQ6IGJpbi9zZXR1cCAtLXNraXAtc2VydmVyCiAgICBlbnZpcm9ubWVudDoKICAgICAgUkFJTFNfRU5WOiBkZXZlbG9wbWVudAogICAgICBSQUlMU19NQVNURVJfS0VZOiAkJHZhcl9fcmFpbHNfbWFzdGVyX2tleQogICAgICBEQl9QQVNTOiAkJHJhbmRvbV9fcGdwYXNzd29yZAogICAgICBEQl9IT1NUOiBwb3N0Z3JlcwogICAgICBEQl9ESVJFQ1RfSE9TVDogcG9zdGdyZXMKICAgICAgREJfRElSRUNUX1BPUlQ6ICI1NDMyIgogICAgICBSRURJU19VUkw6IHJlZGlzOi8vcmVkaXM6NjM3OS8xCiAgICBsYWJlbHM6CiAgICAgIGZpYmUuZ2cvcmVwb191cmw6ICJodHRwczovL2dpdC1uZXh0LmZpYmUubGl2ZS92aWt0b3J2c2svbGV4aXZvIgogICAgICBmaWJlLmdnL2RvY2tlcmZpbGU6ICJEb2NrZXJmaWxlLmRldiIKICAgICAgZmliZS5nZy9icmFuY2g6ICQkdmFyX19icmFuY2gKICAgICAgZmliZS5nZy9zb3VyY2VfbW91bnQ6IC9yYWlscwogICAgICBmaWJlLmdnL2Vudl9maWxlOiBlbnYuZXhhbXBsZQoKICB0ZXN0czoKICAgIGJ1aWxkOgogICAgICBjb250ZXh0OiAuCiAgICAgIGRvY2tlcmZpbGU6IERvY2tlcmZpbGUuZGV2CiAgICBkZXBlbmRzX29uOgogICAgICBzZXR1cDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfY29tcGxldGVkX3N1Y2Nlc3NmdWxseQogICAgICBwb3N0Z3JlczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICByZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBsb2NhbHN0YWNrOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9zdGFydGVkCiAgICAgIHBnYm91bmNlcjoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2Vfc3RhcnRlZAogICAgdm9sdW1lczoKICAgICAgLSBzdG9yYWdlOi9yYWlscy9zdG9yYWdlCiAgICAgIC0gL3JhaWxzL3RtcC9jYWNoZQogICAgY29tbWFuZDogYmFzaCAtYyAiYmluL3NldHVwIC0tc2tpcC1zZXJ2ZXIgJiYgYmluL2NoZWNrLWZhc3QiCiAgICBlbnZpcm9ubWVudDoKICAgICAgUkFJTFNfRU5WOiB0ZXN0CiAgICAgIFJBSUxTX01BU1RFUl9LRVk6ICQkdmFyX19yYWlsc19tYXN0ZXJfa2V5CiAgICAgIERCX1BBU1M6ICQkcmFuZG9tX19wZ3Bhc3N3b3JkCiAgICAgIERCX0hPU1Q6IHBvc3RncmVzCiAgICAgIERCX0RJUkVDVF9IT1NUOiBwb3N0Z3JlcwogICAgICBEQl9ESVJFQ1RfUE9SVDogIjU0MzIiCiAgICAgIFJFRElTX1VSTDogcmVkaXM6Ly9yZWRpczo2Mzc5LzEKICAgIGxhYmVsczoKICAgICAgZmliZS5nZy9yZXBvX3VybDogImh0dHBzOi8vZ2l0LW5leHQuZmliZS5saXZlL3Zpa3RvcnZzay9sZXhpdm8iCiAgICAgIGZpYmUuZ2cvZG9ja2VyZmlsZTogIkRvY2tlcmZpbGUuZGV2IgogICAgICBmaWJlLmdnL2JyYW5jaDogJCR2YXJfX2JyYW5jaAogICAgICBmaWJlLmdnL3NvdXJjZV9tb3VudDogL3JhaWxzCiAgICAgIGZpYmUuZ2cvZW52X2ZpbGU6IGVudi5leGFtcGxlCgoKICBhcHA6CiAgICBidWlsZDoKICAgICAgY29udGV4dDogLgogICAgICBkb2NrZXJmaWxlOiBEb2NrZXJmaWxlLmRldgogICAgZGVwZW5kc19vbjoKICAgICAgdGVzdHM6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2NvbXBsZXRlZF9zdWNjZXNzZnVsbHkKICAgICAgcG9zdGdyZXM6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgICAgcmVkaXM6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgICAgbG9jYWxzdGFjazoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2Vfc3RhcnRlZAogICAgICBwZ2JvdW5jZXI6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX3N0YXJ0ZWQKICAgIHZvbHVtZXM6CiAgICAgIC0gc3RvcmFnZTovcmFpbHMvc3RvcmFnZQogICAgICAtIC9yYWlscy90bXAvY2FjaGUKICAgIHBvcnRzOgogICAgICAtICIzMDAwOjMwMDAiCiAgICB0dHk6IHRydWUKICAgIHN0ZGluX29wZW46IHRydWUKICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkCiAgICBjb21tYW5kOiBiaW4vZGV2CiAgICBlbnZpcm9ubWVudDoKICAgICAgUkFJTFNfRU5WOiBkZXZlbG9wbWVudAogICAgICBSQUlMU19NQVNURVJfS0VZOiAkJHZhcl9fcmFpbHNfbWFzdGVyX2tleQogICAgICBEQl9QQVNTOiAkJHJhbmRvbV9fcGdwYXNzd29yZAogICAgICBEQl9IT1NUOiBwZ2JvdW5jZXIKICAgICAgREJfRElSRUNUX0hPU1Q6IHBvc3RncmVzCiAgICAgIERCX0RJUkVDVF9QT1JUOiAiNTQzMiIKICAgICAgUkVESVNfVVJMOiByZWRpczovL3JlZGlzOjYzNzkvMQogICAgbGFiZWxzOgogICAgICBmaWJlLmdnL3JlcG9fdXJsOiAiaHR0cHM6Ly9naXQtbmV4dC5maWJlLmxpdmUvdmlrdG9ydnNrL2xleGl2byIKICAgICAgZmliZS5nZy9leHBvc2U6ICJleHRlcm5hbDozMDAwIgogICAgICBmaWJlLmdnL2RvY2tlcmZpbGU6ICJEb2NrZXJmaWxlLmRldiIKICAgICAgZmliZS5nZy9icmFuY2g6ICQkdmFyX19icmFuY2gKICAgICAgZmliZS5nZy9zb3VyY2VfbW91bnQ6IC9yYWlscwogICAgICBmaWJlLmdnL2Vudl9maWxlOiBlbnYuZXhhbXBsZQogICAgICBmaWJlLmdnL3N1YmRvbWFpbjogIiQkdmFyX19zdWJkb21haW4iCiAgICAgIGZpYmUuZ2cvemVyb2Rvd250aW1lOiAiZmFsc2UiCgp2b2x1bWVzOgogIHBvc3RncmVzX2RhdGE6CiAgbG9jYWxzdGFja19kYXRhOgogIHJlZGlzX2RhdGE6CiAgc3RvcmFnZToKCmNvbmZpZ3M6CiAgcG9zdGdyZXNfY29uZmlnOgogICAgY29udGVudDogfAogICAgICBsaXN0ZW5fYWRkcmVzc2VzID0gJyonCiAgICAgIHNoYXJlZF9idWZmZXJzID0gMUdCCiAgICAgIGVmZmVjdGl2ZV9jYWNoZV9zaXplID0gM0dCCiAgICAgIG1haW50ZW5hbmNlX3dvcmtfbWVtID0gMjU2TUIKICAgICAgY2hlY2twb2ludF9jb21wbGV0aW9uX3RhcmdldCA9IDAuOQogICAgICB3YWxfYnVmZmVycyA9IDE2TUIKICAgICAgZGVmYXVsdF9zdGF0aXN0aWNzX3RhcmdldCA9IDEwMAogICAgICByYW5kb21fcGFnZV9jb3N0ID0gMS4xCiAgICAgIGVmZmVjdGl2ZV9pb19jb25jdXJyZW5jeSA9IDIwMAogICAgICB3b3JrX21lbSA9IDEwTUIKICAgICAgbWluX3dhbF9zaXplID0gMUdCCiAgICAgIG1heF93YWxfc2l6ZSA9IDRHQgogICAgICBtYXhfd29ya2VyX3Byb2Nlc3NlcyA9IDIKICAgICAgbWF4X3BhcmFsbGVsX3dvcmtlcnNfcGVyX2dhdGhlciA9IDEKICAgICAgbWF4X3BhcmFsbGVsX3dvcmtlcnMgPSAyCiAgICAgIG1heF9wYXJhbGxlbF9tYWludGVuYW5jZV93b3JrZXJzID0gMQo= \ No newline at end of file