Update docs

This commit is contained in:
Ari Timonen 2020-04-12 14:28:35 +03:00
parent 54d913e69c
commit 3b616698a6

View file

@ -1,6 +1,6 @@
# Development # Development
Install instructions in INSTALL.md Install instructions in INSTALL.md. Read this whole documentation before posting.
## Basic commands for development ## Basic commands for development
@ -79,11 +79,15 @@ Read this to understand design decisions and follow them!
1. Everything should be running on containers. 1. Everything should be running on containers.
* Docker-compose is the heart of deployment * Docker-compose is the heart of deployment
* Dockerfile should contain the gems and prebuilt assets for production * Dockerfile should contain the gems and prebuilt assets for production
* The app contents are added to the docker image *on build* but it is mounted as **volume**. It will override the Dockerfile content. * The app is mounted as **volume**. It will override the Dockerfile content.
* The app is only put inside the Dockerfile to precompile assets for production and staging. It could be removed to reduce space.
* For production or staging could have the content in either image or as a volume. Doesn't really matter.
1. The public directory contains everything public. NGINX will try to find files there and ask from PUMA if it doesn't. 1. The public directory contains everything public. NGINX will try to find files there and ask from PUMA if it doesn't.
* The local public directories (images, files, icons, avatars etc.) are to be addeed to .gitignore * The local public directories (images, files, icons, avatars etc.) are to be addeed to .gitignore
* Assets are compiled on-fly in development mode. * Assets are compiled on-fly in development mode.
* In production/staging etc. assets are precompiled and stored. Entry script can do this. * In production/staging etc. assets are precompiled and stored. Entry script can do this.
* The public folder is a mix of auto-generated data (assets), static data (images) and user-generated data (avatars/files etc.).
* No app folder in repo outside public is supposed to shared by webserver.
## Tags in code ## Tags in code