You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Simple fix, doesn't seem like Appwrite depends on any v3 features
# docker-compose.yml@@ -4,7 +4,7 @@
# We're exposing here sensetive ports and mounting code volumes for rapid development and debugging of the server stack.
# For a production ready compose file please use: https://appwrite.io/docker-compose.yml
-version: '3'+version: '2'
services:
traefik:
Current bind mounts are either the docker daemon or development mounts. All can be commented out, docker daemon can be mounted using a balena-specific service label io.balena.features.balena-socket:
Creating the balena app and adding environment variables
balena doesn't support .env. Instead, those variables have to be either defaulted directly in the docker-compose.yml file, Dockerfile, or they can be managed granularly on balenaCloud using either the CLI or dashboard. Here we set those variables using the CLI:
commands
balena app create appwrite
balena env add -a appwrite _APP_ENV production
balena env add -a appwrite _APP_ENV development
balena env add -a appwrite _APP_SYSTEM_EMAIL_NAME Appwrite
balena env add -a appwrite _APP_SYSTEM_EMAIL_ADDRESS [email protected]
balena env add -a appwrite _APP_SYSTEM_SECURITY_EMAIL_ADDRESS [email protected]
balena env add -a appwrite _APP_OPTIONS_ABUSE disabled
balena env add -a appwrite _APP_OPTIONS_FORCE_HTTPS disabled
balena env add -a appwrite _APP_OPENSSL_KEY_V1 your-secret-key
balena env add -a appwrite _APP_DOMAIN demo.appwrite.io
balena env add -a appwrite _APP_DOMAIN_TARGET demo.appwrite.io
balena env add -a appwrite _APP_REDIS_HOST redis
balena env add -a appwrite _APP_REDIS_PORT 6379
balena env add -a appwrite _APP_DB_HOST mariadb
balena env add -a appwrite _APP_DB_PORT 3306
balena env add -a appwrite _APP_DB_SCHEMA appwrite
balena env add -a appwrite _APP_DB_USER user
balena env add -a appwrite _APP_DB_PASS password
balena env add -a appwrite _APP_STORAGE_ANTIVIRUS enabled
balena env add -a appwrite _APP_STORAGE_ANTIVIRUS_HOST clamav
balena env add -a appwrite _APP_STORAGE_ANTIVIRUS_PORT 3310
balena env add -a appwrite _APP_INFLUXDB_HOST influxdb
balena env add -a appwrite _APP_INFLUXDB_PORT 8086
balena env add -a appwrite _APP_STATSD_HOST telegraf
balena env add -a appwrite _APP_STATSD_PORT 8125
balena env add -a appwrite _APP_SMTP_HOST maildev
balena env add -a appwrite _APP_SMTP_PORT 25
balena env add -a appwrite _APP_STORAGE_LIMIT 10000000
balena env add -a appwrite _APP_FUNCTIONS_TIMEOUT 900
balena env add -a appwrite _APP_FUNCTIONS_CONTAINERS 10
balena env add -a appwrite _APP_FUNCTIONS_CPUS 1
balena env add -a appwrite _APP_FUNCTIONS_MEMORY 128
balena env add -a appwrite _APP_FUNCTIONS_MEMORY_SWAP 128
balena env add -a appwrite _APP_MAINTENANCE_INTERVAL 86400
balena env add -a appwrite _APP_USAGE_STATS enabled
balena env add -a appwrite MYSQL_DATABASE appwrite
balena env add -a appwrite MYSQL_USER user
balena env add -a appwrite MYSQL_PASSWORD password
Publish
This steps took about 30 minutes. It uploads the full working directory (except for .dockerignored files), builds all the containers and stores them in its own registry
balena push appwrite
Add a device
Add a device using the dashboard. It will dowload all prebuilt images.
Navigate to the IP address of the device to see the landing page.
You can also access it through the balena public URL for out of network access without any additional configuration.
Next steps
Prebuilt images
Publishing prebuilt images to dockerhub will save the user from the 30 minutes build time, which would be pretty great 😁
One-click button
balena added support for a one-click button back in september. This would allow anyone with a Raspberry Pi 4 to deploy an Appwrite instance and get started in minimal time.
Looking at the docs, it would be pretty trivial to port the previous steps into a single balena.yml file. No CLI commands, no cloning, just one click 🎉
One blocker I see is that there is no way to specify another docker-compose.yml. The changes to docker-compose.yml previously described would either have to be applied on the master branch, or maintained in a seperate branch with only those changes. I don't know the implications of either of those solutions though.
Herm, it seems this user just reposted my discussion post as an issue without changing anything, not even the title which makes it sound like its their work 😓 By looking at their profile I think it's just a spam account faking activity to bypass spam restrictions in the future.
Original post is here: #1046
I managed to run Appwrite on the balena ecosystem (balenaOS + balenaCloud) with some modifications.
Here are my findings:
First things first
Checkout the ARM branch:
git clone https://github.com/appwrite/appwrite cd appwrite git checkout feat-465-add-arm-support
Fixing what's broken
Multiple issues arise when trying to
balena deploy
to balenaCloud:Docker compose version 3 is unsupported
Simple fix, doesn't seem like Appwrite depends on any v3 features
Bind mounts are disallowed
Current bind mounts are either the docker daemon or development mounts. All can be commented out, docker daemon can be mounted using a balena-specific service label
io.balena.features.balena-socket
:docker-compose.yml diff
Variable interpolation doesn't work
mariadb
service uses variable interpolation, which doesn't work on balena. Instead, we will add those as seperate environment variablesLine 396:
Disabling ClamAV
From @kodumbeats' tutorial:
Resulting
docker-compose.yml
docker-compose.yml
Creating the balena app and adding environment variables
balena doesn't support
.env
. Instead, those variables have to be either defaulted directly in thedocker-compose.yml
file,Dockerfile
, or they can be managed granularly on balenaCloud using either the CLI or dashboard. Here we set those variables using the CLI:commands
Publish
This steps took about 30 minutes. It uploads the full working directory (except for .dockerignored files), builds all the containers and stores them in its own registry
Add a device
Add a device using the dashboard. It will dowload all prebuilt images.
Navigate to the IP address of the device to see the landing page.
You can also access it through the balena public URL for out of network access without any additional configuration.
Next steps
Prebuilt images
Publishing prebuilt images to dockerhub will save the user from the 30 minutes build time, which would be pretty great 😁
One-click button
balena added support for a one-click button back in september. This would allow anyone with a Raspberry Pi 4 to deploy an Appwrite instance and get started in minimal time.
Looking at the docs, it would be pretty trivial to port the previous steps into a single
balena.yml
file. No CLI commands, no cloning, just one click 🎉One blocker I see is that there is no way to specify another
docker-compose.yml
. The changes todocker-compose.yml
previously described would either have to be applied on themaster
branch, or maintained in a seperate branch with only those changes. I don't know the implications of either of those solutions though.Originally posted by @edorgeville in #1046
The text was updated successfully, but these errors were encountered: