GiftManager Docs
GiftManager v2
GiftManager v2
  • GiftManager
    • Introduction
    • Features
  • Getting Started
    • Installation
    • Setup
    • Backups
  • Features
    • Login
    • User Gift Ideas
    • My Ideas
    • Users
    • Secret Santa
    • Families
  • Settings
    • Admin Dashboard
    • Deletion Script
    • Email Settings
    • Login Settings
    • OIDC Support
    • Advanced
Powered by GitBook
On this page
  • Docker Compose
  • Docker Run
  • Python Gunicorn (Linux Only)
  1. Getting Started

Installation

PreviousFeaturesNextSetup

Last updated 5 months ago

Docker Compose

You can use the docker image on the docker hub. It is using the same latest code as the folder "Docker" on the Github repo.

To use Docker Compose, copy, on your machine, the file from the repo.

You will need to edit the volume path to keep your data files in the correct folder.

volumes:
      - C:/Users/user1/documents/data:/app/data
      - /var/run/docker.sock:/var/run/docker.sock

Modify only this part C:/Users/user1/documents/data to mount the folder on your machine. When updating, keep the files where they are and just create a new container but mount it to the same folder on the host machine.

/var/run/docker.sock:/var/run/docker.sock

Use this volume to be able to restart the container from the flask app, making it easier to modify settings.

Edit the port you want to expose on the web.

ports:
      - "[port]:5000"

To run the container enter the directory of your docker-compose.yml file then in the terminal execute the following command:

docker compose up -d && docker compose logs -f

You should see the image being pulled and the flask app being started.

Now head to and follow the steps to configure the app.

Docker Run

You can use the docker image on the docker hub. It is using the same latest code as the folder "Docker" on the Github repo.

Run the following command to run the container:

docker run -p [published-port]:5000 -d -v /path/to/data:/app/data -v /var/run/docker.sock:/var/run/docker.sock --name giftmanager icbest/giftmanager 

Change the port on which you want to access, making the command like that: 80:5000 you could now access on port 80 in browser.

Make sure to add a path so the app can store the data on the host machine like that:

Linux: /root/data:/app/data

Windows: C:/Users/user1/documents/data:/app/data

When updating, keep the files where they are and just create a new container but mount it to the same folder on the host machine.

Python Gunicorn (Linux Only)

Make sure you have latest Python installed and Pip.

  1. Make sure to put the folder is unzipped and in a directory that make sense to you.

  2. Inside the main directory, install requirements.txt with the following command:

pip install -r requirements.txt
gunicorn app:app -w 1 --threads 4 -b 0.0.0.0:80 

Here the command -w 1 : The number of workers, i recommend on 1 because using a json database it does some glitch with multiple workers. For faster loading time we use 4 threads which remains on one workers to prevent glitches. -b 0.0.0.0:80: The publish port, use port 80 so you can access it on default http. app:app: Define the file for the app.py .

Now head to and follow the steps to configure the app.

Download the app folder in the .

Still inside the app.py directory run the command bellow to deploy in production with . You can access on port 80.

Go to and follow the steps

icbest/giftmanager
docker-compose.yml
setup
icbest/giftmanager
setup
main repository
Gunicorn
setup