- Features implemented
- Modified compose settings to run containers on podman
- modified cvat_server
- Modified authentication - requires email confirmation and then manual activation by admins.
- Included migration to automatically set site name/domain
- Implemented per-organisation data limits.
- Modified organization model to include GB_limit
- Added model methods to organization, task, project to calculate the filesize of the data models attached.
- Modified task data POST to prevent users creating tasks/projects in their personal workspace.
- Modified task data POST to check if the uploaded files would push the organization over their GB_limit
- Modified authentication - requires email confirmation and then manual activation by admins.
- Modified cvat ui to allow a longer timeout before failing attempts to get health check API.
-
Download latest podman-compose (Develop) Stable = 1.0.3 and develop is 1.0.4
-
export environmental variables for CVAT_HOST, CVAT_EMAIL and CVAT_EMAIL_PASSWORD
-
Create podman socket (location currently hard coded in our compose file)
-
Start podman socket - set to run indefinitey and not block
podman system service --time=0 unix:///home/ibedcvat/cvatdata/podman.sock &
-
Build latest version of cvat_server, cvat_ui container.
-
Service should now be able to run.
- Set podman storage
- mkdir ~/.config/containers
- create ~/.config/containers/storage.conf
- edit default config file and set storage location
runroot = "/data/podman_storage/runroot" graphroot = "/data/podman_storage/graphroot"
- Set podman tmp file:
- create ~/.config/containers/containers.conf (can be obtained from here: https://github.com/containers/common/blob/main/pkg/config/containers.conf)
- edit default config and set tmp location
image_copy_tmp_dir="/home/ibedcvat/podmanstorage/tmp"
- Set TMPDIR env var to
/home/ibedcvat/podmanstorage/tmp
- Full working on Ubuntu 22.04 with Podman written on 17-03-2023
- download CVAT
- download latest podman-compose (Develop) Stable = 1.0.3 and develop is 1.0.4
- Problem description
- Solution
- pip3 install --user https://github.com/containers/podman-compose/archive/devel.tar.gz
- edit docker-compose.yml
- edit dockerhub searches. unqualified search registries. Resolve by appending 'docker.io/' before the actual image name
- i.e.
- alpine:14 -> docker.io/alpine:14
- i.e.
- edit docker socket for podman socket and disable security on traefik
- security_opt:
- 'label=disable'
- volumes:
- $XDG_RUNTIME_DIR/podman/podman.sock:/var/run/docker.sock:ro
- security_opt:
- edit dockerhub searches. unqualified search registries. Resolve by appending 'docker.io/' before the actual image name
- set a hostname for remote access (default is localhost only)
- export CVAT_HOST=your-ip-adress
- NOTE: If you run on a small machine and have mounted storage, make a podman storage config file
- information
- note on how I did it for ibed-cvat.science.uva.nl
- edit default config file and set
- runroot = "/data/podman_storage/runroot"
- graphroot = "/data/podman_storage/graphroot"
- edit default config file and set
- place config file
- ~/.config/containers/storage.conf
- if the directory does not exist yet (did not for me) create it
- mkdir ~/.config/containers
- make directories on data storage mount
- mkdir /data/podman_storage/graphroot
- mkdir /data/podman_storage/runroot
- Start the podman socket
- podman system service -t 0
- this would run the podman socket indefinetly. Send dont block process '&'
- podman system service -t 0 &
- Start CVAT
- podman-compose up -d
- Create a super user
- docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'
- Go to the adress specified in CVAT_HOST with default ports
- e.g. CVAT_HOST=ibed-cvat.science.uva.nl
- chrome
- ibed-cvat.science.uva.nl:8080
- chrome
- if you want to test if it runs fine on localhost and dont have access to browser
- export CVAT_HOST=
- podman system service -t 0 &
- podman-compose up -d
- curl localhost:8080
- If you get a response regarding annotation tool, CVAT is running
- e.g. CVAT_HOST=ibed-cvat.science.uva.nl