Skip to content

📦 Anytype Bundle: Prepackaged All-in-One Self-Hosting

License

Notifications You must be signed in to change notification settings

grishy/any-sync-bundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a5f07a6 · Mar 21, 2025
Mar 17, 2025
Mar 20, 2025
Jan 30, 2025
Mar 12, 2025
Jan 31, 2025
Mar 20, 2025
Mar 4, 2025
Mar 20, 2025
Mar 21, 2025
Mar 21, 2025
Mar 21, 2025
Jan 26, 2025
Jan 30, 2025
Mar 17, 2025
Jan 31, 2025
Mar 21, 2025
Jan 29, 2025
Mar 13, 2025
Mar 11, 2025
Jan 30, 2025

Repository files navigation

Any-Sync-Bundle

Status ⚠️ Under Development
Stable Version GitHub tag
CI/CD Build Status


⚠️ Under Development

It is better to use Release. The main branch contains code that is under active development. Future versions will include variants:

  • ⚠️ Light version : Preferred for self-hosting; uses one port, works without MongoDB, Redis, or MinIO; utilizes embedded BadgerDB for storage as Anytype on client side; supports a wide range of architectures with low overhead.
  • ✅ Bundle (all-in-one container): Bundled with MongoDB, Redis, and MinIO built in.
  • ✅ Bundle (solo bundle): A variant without MongoDB, Redis, and MinIO inside. You can use your own instances
✅ - Ready; ⚠️ - Under development

TODO: Table with benchmaks and cpu/memory/etc.

for ortiginal, allinone, light

TL;DR – How to start a self-hosted Anytype server

This is a zero config version of official Anytype server. Base on original modules, that are used in official Anytype server, but merged into one binary.

Replace the external address (e.g., 192.168.100.9) with a local IP address or domain.
Multiple addresses can be added, separated by commas.
Then use the client config YAML in ./data/client-config.yml.

docker run -d \
    -e ANY_SYNC_BUNDLE_INIT_EXTERNAL_ADDRS="192.168.100.9" \
    -p 33010-33013:33010-33013 \
    -p 33020-33023:33020-33023/udp \
    -v $(pwd)/data:/data \
    --restart unless-stopped \
    --name any-sync-bundle \
  ghcr.io/grishy/any-sync-bundle:latest

Version

Bundle version

The project version combines the bundle version and the original Anytype version.
Example: v0.5.0+2024-12-18

  • v0.5.0 – The bundle’s semver version
  • 2024-12-18 – The Anytype any-sync compatibility version from anytype.io

Bundle start version

  1. Binary file for each release on the Release page
  2. All-in-one container on ghcr.io/grishy/any-sync-bundle with Mongo and Redis included
  3. Minimal container (-minimal) with only any-sync-bundle, without Mongo or Redis

Key features

  • Easy to start: A single command to launch the server
  • All-in-one option: All services in a single container or in separate binaries
  • Lightweight: No MinIO included, and plans exist to reduce size further

Why created?

  1. Existing solutions required many containers and complicated config
  2. MinIO was too large for some servers
  3. Documentation and generated configs were incomplete

Issues on Anytype side in work to improve bundle

  1. anyproto/any-sync#373
  2. anyproto/any-sync-dockercompose#126
  3. anyproto/any-sync#374
  4. anyproto/anytype-ts#1186

Release

Reminder for releasing a new version.

# 1. Check locally
goreleaser release --snapshot --clean
# 1. Set variables (fish-shell)
set VERSION v0.5.0
set ANYTYPE_UNIX_TIMESTAMP 1734517522

# 2. Format date
set ANYTYPE_FORMATTED (date -r $ANYTYPE_UNIX_TIMESTAMP +'%Y-%m-%d')
set FINAL_VERSION $VERSION+$ANYTYPE_FORMATTED

# 3. Create tag and push
git tag -a $FINAL_VERSION -m "Release $FINAL_VERSION"
git push origin tag $FINAL_VERSION

Because I stand on the shoulders of giants, I can see further than they can.

"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away" – Antoine de Saint-Exupéry

License

© 2025 Sergei G.
Licensed under MIT.