Installation
1. Clone the repository
Section titled “1. Clone the repository”git clone https://github.com/TM9657/flow-like.gitcd flow-like/apps/backend/docker-compose2. Configure environment
Section titled “2. Configure environment”Copy the example environment file:
cp .env.example .envEdit .env with your configuration. At minimum, configure:
- Storage provider credentials (see Storage Providers)
- Database password (change the default)
3. Generate JWT keypair
Section titled “3. Generate JWT keypair”The execution JWT system enables stateless trust between the API and runtime:
# From the repository root./tools/gen-execution-keys.shCopy the output to your .env file:
EXECUTION_KEY=<base64-encoded-private-key>EXECUTION_PUB=<base64-encoded-public-key>EXECUTION_KID=execution-es256-v14. Create storage buckets
Section titled “4. Create storage buckets”Before starting, create three buckets in your storage provider:
flow-like-meta(or your custom name)flow-like-content(or your custom name)flow-like-logs(or your custom name)
Update the bucket names in .env if using custom names.
5. Start services
Section titled “5. Start services”docker compose up -dThis will:
- Start PostgreSQL and wait for it to be healthy
- Run database migrations via
db-init - Start the API service
- Start the execution runtime
6. Verify installation
Section titled “6. Verify installation”Check that all services are running:
docker compose psExpected output:
NAME STATUSdocker-compose-api-1 running (healthy)docker-compose-postgres-1 running (healthy)docker-compose-runtime-1 running (healthy)Check API health:
curl http://localhost:8080/healthView logs:
# All servicesdocker compose logs -f
# Specific servicedocker compose logs -f api7. Access the API
Section titled “7. Access the API”The API is available at http://localhost:8080 by default.
For production deployments, place a reverse proxy (nginx, Caddy, Traefik) in front to handle TLS termination.
Updating
Section titled “Updating”To update to a newer version:
git pulldocker compose downdocker compose build --no-cachedocker compose up -dUninstalling
Section titled “Uninstalling”Remove all containers and volumes:
docker compose down -v