1. Download archive from "https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html" 2. Unpack it to: `/opt/aws/dynamodb` 3. Create shell script: `/opt/aws/dynamodb/dynamodb_local.sh`. ```sh #!/bin/bash RootDirPath=$(cd "$(dirname "$0")"; pwd) cd "$RootDirPath" java -Djava.library.path="$RootDirPath/DynamoDBLocal_lib" -jar "$RootDirPath/DynamoDBLocal.jar" "$@" ``` 4. Update `PATH` variable: `export PATH="$PATH:/opt/aws/dynamodb"` 5. Run `dynamodb_local.sh -help` 6. Run `/opt/aws/dynamodb/dynamodb_local.sh -sharedDb -port 6320 -dbPath /opt/mca/dynamodb` 7. Test the instance `aws dynamodb list-tables --endpoint-url http://localhost:6320` 8. Create file `~/Library/LaunchAgents/mca.dynamoDBLocal.plist` ```xml Label mca.dynamoDBLocal LimitLoadToSessionType Aqua Background LoginWindow StandardIO System ProgramArguments /opt/aws/dynamodb/dynamodb_local.sh -sharedDb -port 6320 -dbPath /opt/mca/dynamodb RunAtLoad WorkingDirectory /opt/aws/dynamodb StandardErrorPath /opt/mca/dynamodb/dynamodb-stderr.log StandardOutPath /opt/mca/dynamodb/dynamodb-stdout.log ``` 9. Run as macOS service ```launchctl bootstrap user/`id -u` $HOME/Library/LaunchAgents/mca.dynamoDBLocal.plist``` 10. Get status: ```launchctl print user/`id -u`/mca.dynamoDBLocal``` 11. Unload macOS service if not needed anymore: ```launchctl bootout user/`id -u`/mca.dynamoDBLocal```