firefox-syncserver

firefox-syncserver

Docker app from A75G's Repository

Overview

Firefox Sync Server image based on Python Slim

Latest Version Build Status Docker Stars Docker Pulls
Become a sponsor Donate Paypal

⚠️ Abandoned project

This project is not maintained anymore and is abandoned. Feel free to fork and make your own changes if needed.

About

Firefox Sync Server Docker image.

Note

Want to be notified of new releases? Check out 🔔 Diun (Docker Image Update Notifier) project!


Features

  • Run as non-root user
  • Multi-platform image
  • Traefik as reverse proxy and creation/renewal of Let's Encrypt certificates (see this template)

Build locally

git clone https://github.com/crazy-max/docker-firefox-syncserver.git
cd docker-firefox-syncserver

# Build image and output to docker (default)
docker buildx bake

# Build multi-platform image
docker buildx bake image-all

Image

Registry Image
Docker Hub crazymax/firefox-syncserver
GitHub Container Registry ghcr.io/crazy-max/firefox-syncserver

Following platforms for this image are available:

$ docker run --rm mplatform/mquery crazymax/firefox-syncserver:latest
Image: crazymax/firefox-syncserver:latest
 * Manifest List: Yes
 * Supported platforms:
   - linux/amd64
   - linux/arm/v6
   - linux/arm/v7
   - linux/arm64
   - linux/386
   - linux/ppc64le
   - linux/s390x

Environment variables

  • TZ: The timezone assigned to the container (default UTC)
  • PUID: Process UID (default 1000)
  • PGID: Process GID (default 1000)
  • FF_SYNCSERVER_ACCESSLOG: Display access log (default false)
  • FF_SYNCSERVER_LOGLEVEL: Log level output (default info)
  • FF_SYNCSERVER_PUBLIC_URL: Must be edited to point to the public URL of your server (default http://localhost:5000).
  • FF_SYNCSERVER_SECRET: This is a secret key used for signing authentication tokens. It should be long and randomly-generated.
  • FF_SYNCSERVER_ALLOW_NEW_USERS: Set this to false to disable new-user signups on the server. Only request by existing accounts will be honoured (default true).
  • FF_SYNCSERVER_FORCE_WSGI_ENVIRON: Set this to true to work around a mismatch between public_url and the application URL as seen by python, which can happen in certain reverse-proxy hosting setups (default false).
  • FF_SYNCSERVER_SQLURI: Defines the database in which to store all server data (default sqlite:///data/syncserver.db).
  • FF_SYNCSERVER_FORWARDED_ALLOW_IPS: Set this to * or an IP range if you use an Nginx reverse proxy (optional).

💡 FF_SYNCSERVER_SECRET_FILE can be used to fill in the value from a file, especially for Docker's secrets feature.

Volumes

  • /data: Contains SQLite database if FF_SYNCSERVER_SQLURI is untouched

:warning: Note that the volumes should be owned by the user/group with the specified PUID and PGID. If you don't give the volume correct permissions, the container may not start.

Ports

  • 5000: Gunicorn port

Usage

Docker Compose

Docker compose is the recommended way to run this image. You can use the following docker compose template, then run the container:

docker-compose up -d
docker-compose logs -f

Command line

You can also use the following minimal command:

$ docker run -d -p 5000:5000 --name firefox_syncserver \
  -e TZ="Europe/Paris" \
  -e FF_SYNCSERVER_SECRET="5up3rS3kr1t" \
  -v $(pwd)/data:/data \
  crazymax/firefox-syncserver:latest

Notes

Use with MySQL database

Set FF_SYNCSERVER_SQLURI=pymysql://user:password@mysql_server_ip/db_name

Use with PostgreSQL database

Set FF_SYNCSERVER_SQLURI=postgresql://user:password@postgresql_server_ip/db_name

Upgrade

Recreate the container whenever I push an update:

docker-compose pull
docker-compose up -d

Contributing

Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub or by making a Paypal donation to ensure this journey continues indefinitely!

Thanks again for your support, it is much appreciated! :pray:

License

MIT. See LICENSE for more details.

Install firefox-syncserver on Unraid in a few clicks.

Find firefox-syncserver in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for firefox-syncserver Review the template variables and paths Click Install

Download Statistics

6,703,821
Total Downloads
2,451
This Month
1,652
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
crazymax/firefox-syncserver:latest
Last Updated2023-05-01
First Seen2020-04-09

Runtime arguments

Web UI
http://[IP]:[PORT:5000]/
Network
bridge
Shell
sh
Privileged
false

Template configuration

AppdataPathrw

Appdata

Target
/data
Default
/mnt/user/appdata/firefox-syncserver/
Value
/mnt/user/appdata/firefox-syncserver/
Gunicorn portPorttcp

Container Port: 5000

Target
5000
Default
5000
Value
5000
FF_SYNCSERVER_ACCESSLOGVariable

Display access log

Default
false
Value
false
FF_SYNCSERVER_LOGLEVELVariable

Log level output

Default
info
Value
info
FF_SYNCSERVER_PUBLIC_URLVariable

Must be edited to point to the public URL of your server

Default
http://localhost:5000
Value
http://[IP]:5000
FF_SYNCSERVER_SECRETVariable

This is a secret key used for signing authentication tokens. It should be long and randomly-generated.

Value
longgeneratedsecret
FF_SYNCSERVER_ALLOW_NEW_USERSVariable

Set this to false to disable new-user signups on the server. Only request by existing accounts will be honored

Default
true
Value
true
FF_SYNCSERVER_FORCE_WSGI_ENVIRONVariable

Set this to true to work around a mismatch between public_url and the application URL as seen by python, which can happen in certain reverse-proxy hosting setups

Default
false
Value
false
FF_SYNCSERVER_SQLURIVariable

Defines the database in which to store all server data

Default
sqlite:///data/syncserver.db
Value
sqlite:///data/syncserver.db
FF_SYNCSERVER_FORWARDED_ALLOW_IPSVariable

Set this to * or an IP range if you use an Nginx reverse proxy (optional).

Default
*
Value
*
PUIDVariable

PUID

Default
99
Value
99
PGIDVariable

PGID

Default
100
Value
100