Giter Site home page Giter Site logo

bjuretko / docker-baikal-infcloud Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 5.0 1.35 MB

CalDAV/CardDAV Server with dockerized lighthttpd + baikal + sqlite + infcloud bundle

Dockerfile 4.68% JavaScript 92.66% Makefile 0.78% Shell 1.89%
carddav-server caldav-server baikal sabredav docker synology-docker calendar addressbook

docker-baikal-infcloud's Introduction

docker-baikal-infcloud

Infcloud webinterface

Why?

  • self-hosted on synology NAS: Synology does not provide an out-of-box solution. There is the CardDAV Servr, the WebDAV Server. now even a Calendar Service with integrated web frontend (but without adressbook). The cons: many spreaded packages and services, with rather old dependencies. You cannot set seperate user/credentials for the DAV access which is not soa from a security standpoint as 2fa are not possible and simple basic auth mechanisms may leak.
  • Alternatives like owncloud/nextcloud or other colaboration suites are too much for this simple usecase
  • Using baikal for several years without any bigger issues makes it pretty robust for family or internal small company/team management.
  • You do not need email or other shared services
  • Widely supported clients, unfortunetly not natively with Android.
  • create backups of calendar and contact data
  • Syncs well with Windows, MacOS, Android and iOS

I use this setup for personal management with the family. As we used it for several years, this project is supporting my migration from a DS213j to DS718+ with Docker. Still not that easy to convince everybody to use cloud โ˜๏ธŽ services ๐Ÿคท๐Ÿปโ€.

Build and Run

Build docker image

To build the Docker image just call

make

You can provide additional arguments to the docker command like

make args=--no-cache

to export the image as a tarball:

make export

See Makefile for more information.

Run

With sqlite

First build the image. Then call

make run

And point your Browser http://localhost:8800/baikal/html/admin/ to configure baikal.

To start the container detached (background) exec

make run args="--restart always --detach"

With mysql

To start baikal with mariadb (mysql) backend you can use the provided docker-compose file.

You need docker, docker-compose installed. The path ./baikal/db must be writable.

docker-compose up

Note:

You can use env-vars for the mysql setup, see ./docker-compose.yml file.

Visit http://localhost:8800/baikal/html/admin/ to configure baikal.

Timezone

You can change the timezone of the container on build-time via the docker build --build-arg TIMEZONE=Europe/Berlin ... command-line option or set the timezone in the Makefile

Default config

Autodiscovery

You can support easy mail-style ([email protected]) setup by with configuring service discovery features as described. here.

The docker container contains these redirects setup already.

HTTPs / SSL / TLS

The current setup does not support https directly and suppose an existing reverse proxy (e.g. https://traefik.io)

Related projects

There are some other projects related to this topic, but I couldnt find one using latest Alpine with php7 and a small httpd having a small footprint eventually running it with sqlite.

Synology

Look here for setup instructions on a Synology NAS.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.