mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	## About the changes This adds a Makefile to make it easy to test migrations from one version of Unleash to another. The script depends on [docker compose V2](https://docs.docker.com/compose/migrate/) **Before starting**: make sure you're inside test-migrations folder and run `make clean` to be in a clean state. We can run 2 versions of Unleash side by side with a shared database (the second version will apply migrations to the DB): ```shell UNLEASH_DOCKER_IMAGE=unleashorg/unleash-server:5.6.10 make start-unleash # defaults to port 4242 UNLEASH_DOCKER_IMAGE=unleashorg/unleash-server:latest make start-another-unleash # defaults to port 4243 make test # run basic UI tests against port 4242 (first image) EXPOSED_PORT=4243 make test # run basic UI tests against port 4243 ``` This also enables us to test our local repository with our code of Unleash server running at port 4244 (`EXPOSE_PORT=4444 make run-current` if you want to change it): ```shell UNLEASH_DOCKER_IMAGE=unleashorg/unleash-server:5.6.10 make start-unleash # defaults to port 4242 make run-current # exposes the current backend at 4244 ``` You can also connect the latest UI to any of the ports specified above, starting the UI at port 3000: ```shell EXPOSED_PORT=4242 make run-current-ui # exposed port defaults to 4244 which is the port of the current backend ```
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
version: "3.9"
 | 
						|
services:
 | 
						|
  unleash:
 | 
						|
    image: ${UNLEASH_DOCKER_IMAGE:-unleashorg/unleash-server:latest} # this is the latest stable release
 | 
						|
    pull_policy: "always"
 | 
						|
    ports:
 | 
						|
      - "${EXPOSED_PORT:-4242}:4242"
 | 
						|
    environment:
 | 
						|
      DATABASE_URL: "postgres://postgres:unleash@db/unleash"
 | 
						|
      DATABASE_SSL: "false"
 | 
						|
      LOG_LEVEL: "debug"
 | 
						|
      INIT_ADMIN_API_TOKENS: "*:*.unleash-insecure-admin-api-token"
 | 
						|
    depends_on:
 | 
						|
      db:
 | 
						|
        condition: service_healthy
 | 
						|
    healthcheck:
 | 
						|
      test: wget --no-verbose --tries=1 --spider http://localhost:4242/health || exit 1
 | 
						|
      interval: 1s
 | 
						|
      timeout: 1m
 | 
						|
      retries: 5
 | 
						|
      start_period: 15s
 | 
						|
 | 
						|
  another-unleash:
 | 
						|
    image: ${UNLEASH_DOCKER_IMAGE:-unleashorg/unleash-server:latest} # this is the latest stable release
 | 
						|
    pull_policy: "always"
 | 
						|
    ports:
 | 
						|
      - "${EXPOSED_PORT:-4243}:4242"
 | 
						|
    environment:
 | 
						|
      DATABASE_URL: "postgres://postgres:unleash@db/unleash"
 | 
						|
      DATABASE_SSL: "false"
 | 
						|
      LOG_LEVEL: "debug"
 | 
						|
      INIT_ADMIN_API_TOKENS: "*:*.unleash-insecure-admin-api-token"
 | 
						|
    depends_on:
 | 
						|
      db:
 | 
						|
        condition: service_healthy
 | 
						|
    healthcheck:
 | 
						|
      test: wget --no-verbose --tries=1 --spider http://localhost:4242/health || exit 1
 | 
						|
      interval: 1s
 | 
						|
      timeout: 1m
 | 
						|
      retries: 5
 | 
						|
      start_period: 15s
 | 
						|
  db:
 | 
						|
    ports:
 | 
						|
      - "5432:5432"
 | 
						|
    expose:
 | 
						|
      - "5432"
 | 
						|
    image: postgres:16
 | 
						|
    environment:
 | 
						|
      POSTGRES_DB: "unleash"
 | 
						|
      # trust incoming connections blindly (DON'T DO THIS IN PRODUCTION!)
 | 
						|
      POSTGRES_HOST_AUTH_METHOD: "trust"
 | 
						|
    healthcheck:
 | 
						|
      test:
 | 
						|
        [
 | 
						|
          "CMD",
 | 
						|
          "pg_isready",
 | 
						|
          "--username=postgres",
 | 
						|
          "--host=127.0.0.1",
 | 
						|
          "--port=5432",
 | 
						|
        ]
 | 
						|
      interval: 2s
 | 
						|
      timeout: 1m
 | 
						|
      retries: 5
 | 
						|
      start_period: 10s
 |