pocketbase_server_flutter 1.1.0
pocketbase_server_flutter: ^1.1.0 copied to clipboard
Start Pocketbase Server directly from Android/IOS with flutter
Pocketbase Server Flutter #
Run Pocketbase Server directly from Android/IOS with flutter
Usage #
Checkout Pocketbase Server example app
Start pocketbaseServer #
PocketbaseServerFlutter.start(
superUserEmail: "test@user.com",
superUserPassword: "password",
hostName: await PocketbaseServerFlutter.localIpAddress,
port: "8080",
);
Advanced Usage #
// Get path to load resources using `path_provider`
final Directory staticDir = await getTemporaryDirectory();
// Directory to load static files (Optional)
final String staticFolder = "${staticDir.path}/pb_static/";
// Directory to load js hook files (Optional)
final String hooksFolder = "${staticDir.path}/pb_hooks/";
// Directory to save sqlite files and default data
final String dataFolder = "${staticDir.path}/pb_data/";
// add `pb_static` and `pb_hooks` folder in assets of your project, and load all files from assets to given path
await PocketbaseServerFlutter.copyAssetsFolderToPath(
path: staticFolder,
assetFolder: "pb_static",
overwriteExisting: true,
)
await PocketbaseServerFlutter.copyAssetsFolderToPath(
path: hooksFolder,
assetFolder: "pb_hooks",
overwriteExisting: true,
);
PocketbaseServerFlutter.start(
superUserEmail: "test@user.com",
superUserPassword: "password",
hostName: await PocketbaseServerFlutter.localIpAddress,
port: "8080",
enablePocketbaseApiLogs: true,
dataPath: dataFolder,
staticFilesPath: staticFolder,
hookFilesPath: hooksFolder,
);
Stop pocketbaseServer
PocketbaseServerFlutter.stop();
Listen to pocketbaseServer events, setup eventCallback
PocketbaseServerFlutter.setEventCallback(
callback: (event, data){
// Handle event and data
},
);
Some helper methods
// To check if pocketBase is running (not reliable)
PocketbaseServerFlutter.isRunning
// To check pocketbaseMobile version
PocketbaseServerFlutter.pocketbaseMobileVersion
// To get the ipAddress of mobile ( to run pocketbase with this hostname )
PocketbaseServerFlutter.localIpAddress
Mobile Setup #
- IOS
If getting error related to Undefined symbol
, Make sure to run pod install
on ios directory, open IOS project in XCode
Click on Pods
, Then select pocketbase_server_flutter
from Targets list, and select Build Phases
Then in Link Binary With Libraries
section, click on +
button and search for libresolv.tbd
and choose from result and click on Add
- Android
Should work out of the box
Desktop Setup #
Desktop requires pocketbaseExecutable
path in start()
To get pocketbaseExecutable
in app, add the executable in Assets and on runtime copy it from assets to another path using path_provider
Or download the executable on Runtime
- MacOS
Edit your Runner/**.entitlements
file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<false />
<key>com.apple.security.cs.allow-jit</key>
<true />
<key>com.apple.security.network.client</key>
<true />
<key>com.apple.security.network.server</key>
<true />
</dict>
</plist>
- Windows, Linux
Should work out of the box
Resources #
Built with: pocketbase_mobile
Note #
This is for running Pocketbase server from mobile, to connect with pocketbase server, use official pocketbase client plugin