Skip to content

Instantly share code, notes, and snippets.

@Wigny
Last active December 7, 2023 20:05
Show Gist options
  • Save Wigny/1f5cc5491fd115b6b877dd6ebe648000 to your computer and use it in GitHub Desktop.
Save Wigny/1f5cc5491fd115b6b877dd6ebe648000 to your computer and use it in GitHub Desktop.
docker run -d --restart unless-stopped --name parking_lot_database -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=parking_lot -p 5432:5432 -v postgres:/var/lib/postgresql/data postgres
echo 'DATABASE_URL=ecto://postgres:postgres@172.17.0.1:5432/parking_lot' >> ~/parking_lot.env
echo 'SECRET_KEY_BASE=my_ramdom_secure_and_at_least_64_bits_long_secret_______________' >> ~/parking_lot.env
echo 'PHX_HOST=127.0.0.1' >> ~/parking_lot.env
echo 'CACHE_DIR=/data' >> ~/parking_lot.env
docker pull ghcr.io/wigny/parking_lot:latest
docker run --env-file ~/parking_lot.env -it ghcr.io/wigny/parking_lot bin/migrate
docker run --name parking_lot --restart unless-stopped --env-file ~/parking_lot.env -p 4000:4000 -v /tmp:/data -itd ghcr.io/wigny/parking_lot
@Wigny
Copy link
Author

Wigny commented Jun 1, 2023

ffplay "rtsp://admin:alprcam1@192.168.92.45:554/cam/realmonitor?channel=1&subtype=1"

@Wigny
Copy link
Author

Wigny commented Dec 6, 2023

Seeding:

docker container exec -it parking_lot bin/parking_lot remote
ParkingLot.Accounts.create_user(%{email: "admin@example.com", password: "password", admin: true})
ParkingLot.Accounts.create_user(%{email: "user@example.com", password: "password", admin: false})

{:ok, cor_amarelo} = ParkingLot.Vehicles.create_color(%{name: "Amarelo"})
{:ok, cor_azul} = ParkingLot.Vehicles.create_color(%{name: "Azul"})
{:ok, cor_bege} = ParkingLot.Vehicles.create_color(%{name: "Bege"})
{:ok, cor_branca} = ParkingLot.Vehicles.create_color(%{name: "Branca"})
{:ok, cor_cinza} = ParkingLot.Vehicles.create_color(%{name: "Cinza"})
{:ok, cor_dourada} = ParkingLot.Vehicles.create_color(%{name: "Dourada"})
{:ok, cor_grená} = ParkingLot.Vehicles.create_color(%{name: "Grená"})
{:ok, cor_laranja} = ParkingLot.Vehicles.create_color(%{name: "Laranja"})
{:ok, cor_marrom} = ParkingLot.Vehicles.create_color(%{name: "Marrom"})
{:ok, cor_prata} = ParkingLot.Vehicles.create_color(%{name: "Prata"})
{:ok, cor_preta} = ParkingLot.Vehicles.create_color(%{name: "Preta"})
{:ok, cor_rosa} = ParkingLot.Vehicles.create_color(%{name: "Rosa"})
{:ok, cor_roxa} = ParkingLot.Vehicles.create_color(%{name: "Roxa"})
{:ok, cor_verde} = ParkingLot.Vehicles.create_color(%{name: "Verde"})
{:ok, cor_vermelha} = ParkingLot.Vehicles.create_color(%{name: "Vermelha"})
{:ok, cor_fantasia} = ParkingLot.Vehicles.create_color(%{name: "Fantasia"})

{:ok, type_automovel} = ParkingLot.Vehicles.create_type(%{name: "Automóvel"})
{:ok, type_caminhao} = ParkingLot.Vehicles.create_type(%{name: "Caminhão"})
{:ok, type_caminhao_trator} = ParkingLot.Vehicles.create_type(%{name: "Caminhão Trator"})
{:ok, type_caminhonete} = ParkingLot.Vehicles.create_type(%{name: "Caminhonete"})
{:ok, type_camioneta} = ParkingLot.Vehicles.create_type(%{name: "Camioneta"})
{:ok, type_carga} = ParkingLot.Vehicles.create_type(%{name: "Carga"})
{:ok, type_chassi_plataforma} = ParkingLot.Vehicles.create_type(%{name: "Chassi Plataforma"})
{:ok, type_ciclomotor} = ParkingLot.Vehicles.create_type(%{name: "Ciclomotor"})
{:ok, type_especial} = ParkingLot.Vehicles.create_type(%{name: "Especial"})
{:ok, type_microonibus} = ParkingLot.Vehicles.create_type(%{name: "Micro-Ônibus"})
{:ok, type_motocicleta} = ParkingLot.Vehicles.create_type(%{name: "Motocicleta"})
{:ok, type_motoneta} = ParkingLot.Vehicles.create_type(%{name: "Motoneta"})
{:ok, type_motorcasa} = ParkingLot.Vehicles.create_type(%{name: "Motor-Casa"})
{:ok, type_onibus} = ParkingLot.Vehicles.create_type(%{name: "Ônibus"})
{:ok, type_quadriciclo} = ParkingLot.Vehicles.create_type(%{name: "Quadriciclo"})
{:ok, type_reboque} = ParkingLot.Vehicles.create_type(%{name: "Reboque"})
{:ok, type_semirreboque} = ParkingLot.Vehicles.create_type(%{name: "Semirreboque"})
{:ok, type_tr_esteiras} = ParkingLot.Vehicles.create_type(%{name: "Tr Esteiras"})
{:ok, type_tr_misto} = ParkingLot.Vehicles.create_type(%{name: "Tr Misto"})
{:ok, type_tr_rodas} = ParkingLot.Vehicles.create_type(%{name: "Tr Rodas"})
{:ok, type_triciclo} = ParkingLot.Vehicles.create_type(%{name: "Triciclo"})
{:ok, type_utilitario} = ParkingLot.Vehicles.create_type(%{name: "Utilitário"})

{:ok, brand_fiat} = ParkingLot.Vehicles.create_brand(%{name: "Fiat"})
{:ok, brand_crevrolet} = ParkingLot.Vehicles.create_brand(%{name: "Chevrolet"})
{:ok, brand_ford} = ParkingLot.Vehicles.create_brand(%{name: "Ford"})

{:ok, model_fiat_uno} = ParkingLot.Vehicles.create_model(%{name: "Uno", brand_id: brand_fiat.id, type_id: type_automovel.id})
{:ok, model_crevrolet_onix} = ParkingLot.Vehicles.create_model(%{name: "Onix", brand_id: brand_crevrolet.id, type_id: type_automovel.id})
{:ok, model_ford_ka} = ParkingLot.Vehicles.create_model(%{name: "Ka", brand_id: brand_ford.id, type_id: type_automovel.id})

ParkingLot.Customers.create_vehicle(%{license_plate: "BRA2O20", model_id: model_crevrolet_onix.id, color_id: cor_prata.id})
ParkingLot.Customers.create_vehicle(%{license_plate: "BRA2E19", model_id: model_crevrolet_onix.id, color_id: cor_branca.id})
ParkingLot.Customers.create_vehicle(%{license_plate: "OTM2022", model_id: model_crevrolet_onix.id, color_id: cor_cinza.id})
ParkingLot.Customers.create_vehicle(%{license_plate: "FBR2A23", model_id: model_ford_ka.id, color_id: cor_cinza.id})
ParkingLot.Customers.create_vehicle(%{license_plate: "DCU6B67", model_id: model_ford_ka.id, color_id: cor_cinza.id})
ParkingLot.Customers.create_vehicle(%{license_plate: "CAR0097", model_id: model_fiat_uno.id, color_id: cor_cinza.id})
ParkingLot.Customers.create_vehicle(%{license_plate: "BCD3456", model_id: model_fiat_uno.id, color_id: cor_prata.id})
ParkingLot.Customers.create_vehicle(%{license_plate: "ABC1234", model_id: model_fiat_uno.id, color_id: cor_branca.id})

@Wigny
Copy link
Author

Wigny commented Dec 7, 2023

Serving webcam:

docker run --rm -it -e RTSP_PROTOCOLS=tcp -p 8554:8554 -p 1935:1935 -p 8888:8888 -p 8889:8889 aler9/rtsp-simple-server
sudo ffmpeg -f video4linux2 -framerate 24 -i /dev/video0 -f rtsp -rtsp_transport tcp rtsp://localhost:8554/cam0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment