Key Words: Python Django uWSGI RaspberryPi4 Docker DockerCompose NGINX
OrganiApp is a Django-uWSGI App, deployed on my RaspberryPi 4 with Docker, Docker-compose and nginx.
OrganiApp is a "Family Shared List". Lists are shared through a family server (like RaspberryPi or example). Each device can acces to the lists modify them, add or remove. For each list, items can be added or removed.
I use also Font-Awesome-4 for CSS Icons
I personnaly think following the 12 factor app methodology is a good way of putting an app on production mode. I tkink Docker system is helping in the 12 factor app manifesto. This is why I propose an easy "Install and Run" solution:
You will need Docker and Docker-Compose installed
ON RASPBERRY PI 4, please follow these commands:
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker pi -> (REBOOT or run next command with sudo)
docker run hello-world
sudo apt-get install -y libffi-dev libssl-dev
sudo apt-get install -y python3 python3-pip
sudo apt-get remove python-configparser
sudo pip3 -v install docker-compose
DON'T FORGET to:
- add the Host IP-Adress in "docker-compose-deploy.yml" (I made a #comment)
- change the SECRET_KEY in "docker-compose-deploy.yml" (I made a #comment)
- change the ADMIN PATH in /Organi/Organi/urls.py (I made a #comment)
Please cd in current directory
cd /Organi/
-> Run on Dev-mod The server will be set on 8000
Docker-compose up
-> Run on Prod-mod (first time) The server will be set on 8080
cd proxy
docker build .
cd ..
docker-compose -f docker-compose-deploy.yml up –build
-> Run on Prod-mod (no need to rebuild)
docker-compose -f docker-compose-deploy.yml up
Then go on localhost:8000 or :8080. The "welcome web-page" should appear.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
To contribute to OrganiApp, follow these steps:
- Fork this repository.
- Create a branch:
git checkout -b <branch_name>
. - Make your changes and commit them:
git commit -m '<commit_message>'
- Push to the original branch:
git push origin <project_name>/<location>
- Create the pull request.
Alternatively see the GitHub documentation on creating a pull request.
If you want to contact me you can reach me at [email protected]
Well, if you are still reading, that maybe means that you are interested in the project.
If you want to work together, share our knowledges, ideas, or build something together: I would be glad to find a developer-partner.
As always ... Feel free to propose new ideas! 😃