Giter Club home page Giter Club logo

seafile-arm-docker's Introduction

Seafile on ARM in 5 minutes

A docker-compose based deployment intended to bring Seafile on any ARMv7/ARM64 board with little effort. A database server and a reverse-proxy with automated SSL/TLS certificates renewal are included.

This environment has been set up using the following images and packages (which you should glance at for further documentation):

No guarantees of any kind are provided by using this environment.

Prerequisites

A functional docker-compose environment, a domain name associated with your server and the TCP ports 80 and 443 correctly forwarded.

Initialization

Clone this repository somewhere on your server:

$ git clone https://github.com/ChatDeBlofeld/seafile-arm-docker
$ cd seafile-arm-docker

Compose topology

The topology provided should easily fulfill basic use cases. For a finer configuration, see the docs mentioned above.

Some points need attention though when editing the compose file.

Environment variables

  • Your domain has to be set in the seafile and reverse-proxy services
  • All variables mentioning credentials (email, password) must be updated for obvious security reasons. Keep in mind that the MySQL root passwords in the seafile and db services have to match.

Volumes

By default, all data are stored in the compose file directory. Feel free to remap the volumes wherever you need, for example on an external drive. Just be careful that the seahub-data volume is also used in the reverse-proxy service.

Reverse-proxy configuration

First generate the certificates by running the service once:

$ docker-compose up reverse-proxy

If everything went right, stop the container and copy the file nginx/seafile.conf to /path/to/reverse-proxy/volume/nginx/site-confs and set your domain at the mentioned sections.

You may want to see the following resources for more information about this configuration:

Run

Simply run:

$ docker-compose up -d

You should now be able to access https://your.domain and log in with your admin account.

Note: after the first run, all the credentials related environment variables can be removed from the compose file.

Updating

Seafile service

Currently there's no breaking changes between the images, so the update is straightforward:

$ docker-compose down
$ docker-compose pull seafile
$ docker-compose up -d

Note: rollback will likely fail for major updates

Thirdpart images

Like the seafile service, a pull of the new image should do the job.

Reverse-proxy configuration

The Nginx configuration may be updated sometimes, then it has to be downloaded from this repository and copied to the right folder again.

For all default files provided by the swag container, see this updating procedure.

Troubleshooting

Seahub failed to start

Set daemon to False in gunicorn.conf.py and restart the Seafile service to grab more information about a failed start.

Test environment

If you can't run the swag container yet (no port forwarding, no domain or whatever), you may want to use the testing web server. It's a simple Nginx configuration without SSL/TLS, just change the mentioned field in nginx/seafile.testing.conf and the seafile configuration files for using the hostname of your server (probably 127.0.0.1). The variable ENABLE_TLS in the compose file has to be set to 0 as well.

Then run:

$ docker-compose -f docker-compose.yml -f docker-compose.testing.yml up -d

seafile-arm-docker's People

Contributors

chatdeblofeld avatar

Watchers

James Cloos avatar

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.