Last active
December 7, 2023 20:05
-
-
Save Wigny/1f5cc5491fd115b6b877dd6ebe648000 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
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})
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
ffplay "rtsp://admin:alprcam1@192.168.92.45:554/cam/realmonitor?channel=1&subtype=1"