diff --git a/README.md b/README.md index 093ce0edfb2d4d1c332a4f9c16b300c39812cc33..2f9f7d1bb7b105ce7c9bb3f82e4f368c9562db2e 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,9 @@ -# Librephotos +# For common users: +Follow the instructions [here](https://docs.librephotos.com/1/standard_install/) -## For common users: -Set the needed variables in `.env` file (take `librephotos.env` as model) +# For ARM users: +Follow the instructions [here](https://docs.librephotos.com/1/arm_install/) -Clone the repo: `git clone git@github.com:LibrePhotos/librephotos-docker.git` +# For developers: +Follow the instructions [here](https://docs.librephotos.com/1/dev_install/) -Then launch it: `docker-compose up -d` - -This will get the pre-built images and start all the needed processes - -## For developers: -Set the needed variables in `.env` file (take `librephotos.env` as model) - -Also set the codedir variable that tells docker where your source folder are. - -Pull frontend code with `git clone https://github.com/LibrePhotos/librephotos-frontend.git ${codedir}/frontend/` - -Pull backend code into `git clone https://github.com/LibrePhotos/librephotos.git ${codedir}/backend/` - -Pull this repo and run `docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d` - -This will build images from scratch (can take a long time the first time) -Now you can develop and benefit from code auto reload from both backend and frontend -N.B. If you already built this image once, when you do force rebuild you have to run - -`docker-compose -f docker-compose.yml -f docker-compose.dev.yml build --no-cache frontend` - -`docker-compose -f docker-compose.yml -f docker-compose.dev.yml build --no-cache backend` - -Based on which one you changed if these changes need rebuild as for added dependencies/libraries etc. - -and then the usual `docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d` - -If you use vscode you can also benefit auto completion and other goodies. For this just type `code .` in your dockerfile folder. -Vscode will open and ask you if you want to reopen it in the container. If you do it, it will add his server to the docker layers (first time you do it can take a couple of minutes) and you will have the same Python interpreter librephotos is using internally hence the same installed libraries in auto completion and the same development environment will be shared by all devs (isort, flake8 and pylint for example). diff --git a/docker-compose.arm.yml b/docker-compose.arm.yml new file mode 100644 index 0000000000000000000000000000000000000000..d4d7676fab41563a406a81fde622288a8bd83426 --- /dev/null +++ b/docker-compose.arm.yml @@ -0,0 +1,76 @@ +# DO NOT EDIT +# The .env file has everything you need to edit. +# Run options: +# 1. Use prebuilt images (preferred method): +# run cmd: docker-compose up -d +# 2. Build images on your own machine: +# build cmd: COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose build +# run cmd: docker-compose up -d + +version: '3.8' +services: + proxy: + image: radicand/librephotos-proxy-arm:test + restart: always + volumes: + - ${myPhotos}:/data + - ${proMedia}:/protected_media + ports: + - ${httpPort}:80 + depends_on: + - backend + - frontend + + db: + image: postgres + restart: always + environment: + - POSTGRES_USER=${dbUser} + - POSTGRES_PASSWORD=${dbPass} + - POSTGRES_DB=${dbName} + volumes: + - ${dbLocation}:/var/lib/postgresql/data + command: postgres -c fsync=off -c synchronous_commit=off -c full_page_writes=off -c random_page_cost=1.0 + + frontend: + image: radicand/librephotos-frontend-arm:latest + restart: always + depends_on: + - backend + + backend: + image: radicand/librephotos-backend-arm:latest + restart: always + volumes: + - ${myPhotos}:/data + - ${proMedia}:/protected_media + - ${logLocation}:/logs + - ${cachedir}:/root/.cache + + environment: + - SECRET_KEY=${shhhhKey} + - BACKEND_HOST=backend + - ADMIN_EMAIL=${adminEmail} + - ADMIN_USERNAME=${userName} + - ADMIN_PASSWORD=${userPass} + - DB_BACKEND=postgresql + - DB_NAME=${dbName} + - DB_USER=${dbUser} + - DB_PASS=${dbPass} + - DB_HOST=db + - DB_PORT=5432 + - REDIS_HOST=redis + - REDIS_PORT=6379 + - MAPBOX_API_KEY=${mapApiKey} + - TIME_ZONE=${timeZone} + - WEB_CONCURRENCY=${gunniWorkers} + - SKIP_PATTERNS=${skipPatterns} + - DEBUG=0 + + # Wait for Postgres + depends_on: + - db + + redis: + image: redis + restart: always