login-template/docker-compose.yml

68 lines
2.1 KiB
YAML

# Comments are provided throughout this file to help you get started.
# If you need more help, visit the Docker compose reference guide at
# https://docs.docker.com/compose/compose-file/
# Here the instructions define your application as a service called "server".
# This service is built from the Dockerfile in the current directory.
# You can add other services your application may depend on here, such as a
# database or a cache. For examples, see the Awesome Compose repository:
# https://github.com/docker/awesome-compose
services:
server:
build:
context: .
target: final
ports:
- 8000:8000
user: "${uid}:${gid}"
environment:
- ROCKET_DATABASES={fossil_postgres={url="postgres://postgres:$POSTGRES_PASSWORD@db/$POSTGRES_DB", max_connections=10, connect_timeout=10}}
- ROCKET_LIMITS={file=1GiB}
- ROCKET_ADDRESS=0.0.0.0
- ROCKET_PORT=$PORT
- RUST_LOG=debug
- ROCKET_SECRET_KEY=$ROCKET_SECRET_KEY
- ADMIN_USERNAME=$ADMIN_USERNAME
- ADMIN_PASSWORD=$ADMIN_PASSWORD
volumes:
- type: bind
source: ./web
target: /srv/web
- type: bind
source: ./images
target: /srv/images
- type: bind
source: ./tmpimages
target: /srv/tmpimages
# The commented out section below is an example of how to define a PostgreSQL
# database that your application can use. `depends_on` tells Docker Compose to
# start the database before your application. The `db-data` volume persists the
# database data between container restarts. The `db-password` secret is used
# to set the database password. You must create `db/password.txt` and add
# a password of your choosing to it before running `docker compose up`.
depends_on:
db:
condition: service_healthy
db:
image: postgres
restart: always
user: postgres
volumes:
- db-data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=$POSTGRES_DB
- POSTGRES_PASSWORD=$POSTGRES_PASSWORD
expose:
- 5432
healthcheck:
test: [ "CMD", "pg_isready" ]
interval: 10s
timeout: 5s
retries: 5
volumes:
db-data: