Merge pull request #2 from RaspberryProgramming/Setup_Docker_image

Setup docker image
This commit is contained in:
Camerin Figueroa 2024-05-02 22:22:16 -04:00 committed by GitHub
commit 8c4ceea944
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 15 additions and 12 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
/target /target
.env.local export.sh

View File

@ -13,4 +13,4 @@ COPY .env.docker /.env
ENV ROCKET_ADDRESS=0.0.0.0 ENV ROCKET_ADDRESS=0.0.0.0
ENV ROCKET_ENV=production ENV ROCKET_ENV=production
EXPOSE 8000 EXPOSE 8000
ENTRYPOINT diesel migration run --migration-dir /migrations && request-mirror ENTRYPOINT diesel migration run --database-url $DATABASE_URL --migration-dir /migrations && request-mirror

View File

@ -1,11 +1,9 @@
version: "3.8"
services: services:
postgres: postgres:
image: postgres image: postgres
environment: environment:
- POSTGRES_USER=postgres - POSTGRES_USER=postgres
- POSTGRES_PASSWORD=password - POSTGRES_PASSWORD=Password123
- POSTGRES_DB=request_mirror_db - POSTGRES_DB=request_mirror_db
volumes: volumes:
- db-data:/var/lib/postgresql/data - db-data:/var/lib/postgresql/data
@ -14,14 +12,11 @@ services:
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d request_mirror_db | grep 'accepting connections'"] test: ["CMD-SHELL", "pg_isready -U postgres -d request_mirror_db | grep 'accepting connections'"]
request-mirror: request-mirror:
#image: request-mirror image: raspberrypi99/request-mirror:latest
build: &request_mirror_build
context: .
dockerfile: ./Dockerfile
ports: ports:
- 80:8000 - 80:8000
environment: environment:
- DATABASE_URL=postgres://postgres:password@postgres/request_mirror_db - DATABASE_URL=postgres://postgres:Password123@postgres/request_mirror_db
depends_on: depends_on:
postgres: postgres:
condition: service_healthy condition: service_healthy

View File

@ -23,9 +23,17 @@ use schema::{
/// ``` /// ```
pub fn establish_connection() -> PgConnection { pub fn establish_connection() -> PgConnection {
let key: &str = "DATABASE_URL";
let database_url: String;
match env::var(key) {
Ok(val) => database_url = val,
Err(e) => {
dotenv().ok(); dotenv().ok();
let database_url = env::var("DATABASE_URL").expect("DATABASE_URL must be set"); database_url = env::var(key).expect("DATABASE_URL must be set");
}
}
PgConnection::establish(&database_url) PgConnection::establish(&database_url)
.unwrap_or_else(|_| panic!("Error connecting to {}", database_url)) .unwrap_or_else(|_| panic!("Error connecting to {}", database_url))
} }