Public Repository

Last pushed: 10 hours ago
Short Description
Automated Firefox Sync server image built from s6 on a Raspberry Pi.
Full Description

Alpine-ffsync

Container for Alpine Linux + Firefox Sync Server


Image for a Lightweight Mozilla Syncserver running on
Docker . Uses the default SQLite3 database, serves the content
using gunicorn.

Built from my alpine-s6 image using latest available
python and pip.

Based on Alpine Linux.

The image is tagged respectively for the following architectures,

  • armhf

Get the Image


Pull the image for your architecture it's already available from
Docker Hub.

# make pull
docker pull arpanpal010/alpine-ffsync:armhf

Run


# make
docker run --rm -it \
  --name docker_ffsync --hostname ffsync \
  -e URL=http://localhost:5000 \
  -e SYNC_SECRET=abcdef123 \
  -p 5000:5000 \
  -v /etc/hosts:/etc/hosts:ro \
  -v /etc/localtime:/etc/localtime:ro \
  -e TZ=Asia/Kolkata \
  arpanpal010/alpine-ffsync:armhf

# make stop
docker stop -t 2 docker_ffsync

# make rm
# stop first
docker rm -f docker_ffsync

# make restart
docker restart docker_ffsync

Configure Firefox


From Syncserver README :

Now go into Firefox's about:config page, search for a setting
named "tokenServerURI", and change it to point to your server:

identity.sync.tokenserver.uri: http://localhost:5000/token/1.0/sync/1.5

(Prior to Firefox 42,
the TokenServer preference name for Firefox Desktop was
"services.sync.tokenServerURI". While the old preference name
will work in Firefox 42 and later, the new preference is
recommended as the old preference name will be reset when the
user signs out from Sync causing potential confusion.) Firefox
should now sync against your local server rather than the
default Mozilla-hosted servers. For more details on setting up

a stable deployment, see:
https://docs.services.mozilla.com/howtos/run-sync-1.5.html


Shell access


# make rshell
docker exec -u root -it docker_ffsync /bin/bash

# make shell
docker exec -it docker_ffsync /bin/bash

# make logs
docker logs -f docker_ffsync

Development


If you have the repository access, you can clone and
build the image yourself for your own system, and can push after.


Setup


Before you clone the repo, you must have Git, GNU make,
and Docker setup on the machine.

git clone <repository url>
cd <repository>

You can always skip installing make but you will have to
type the whole docker commands then instead of using the sweet
make targets.


Build


To locally build the image for your system.

# make build
docker build --rm --force-rm \
  -t arpanpal010/alpine-ffsync:armhf \
  --no-cache=true --pull .

# make push
docker push arpanpal010/alpine-ffsync:armhf

Maintenance


Currently built daily on a RaspberryPi3 (armhf builds) or IntelNUC
(x64 builds). Docker hub builds maintained by arpanpal010.

Docker Pull Command
Owner
arpanpal010