Docker
The easiest way to use Birder is using the provided compose file:
$ docker compose -f compose.yml up
Content
x-env: &env
environment:
- ADMIN_EMAIL=admin@example.com
- ADMIN_PASSWORD=password
- ALLOWED_HOSTS=*
- CRYPT_KEYS=123
- CRYPT_SALT_KEYS=123
- CSRF_COOKIE_SECURE=False
- CSRF_TRUSTED_ORIGINS=http://localhost:8000
- DATABASE_URL=postgres://postgres:password@db:5432/birder
- DEBUG=false
- GOOGLE_CLIENT_ID=
- GOOGLE_CLIENT_SECRET=
- POSTGRES_DB=birder
- POSTGRES_HOST_AUTH_METHOD=trust
- POSTGRES_PASSWORD=password
- POSTGRES_USER=postgres
- REDIS_SERVER=redis://redis/2
- SECRET_KEY=sensitive-secret-key
services:
birder:
image: os4d/birder:local
# pull_policy: always
<<: [*env]
ports:
- 8000:8000
platform: linux/amd64
command: "run"
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:8000/healthcheck" ]
interval: 10s
timeout: 5s
retries: 5
depends_on:
- db
- redis
db:
image: postgres:15
<<: [*env]
restart: always
healthcheck:
test: [ "CMD", "pg_isready", "-U", "postgres", "-d", "birder" ]
start_period: 5s
start_interval: 1s
interval: 5s
timeout: 4s
retries: 5
redis:
image: redis
<<: [*env]
restart: always