services: linkshelf: build: dockerfile: .container/Containerfile restart: unless-stopped ports: - "3000:3000" - "8085:8085" environment: - DATABASE_HOST=postgres # Inside the compose network postgres/mailpit listen on their container # ports, not the ports published to the host above. - DATABASE_PORT=5432 - SMTP_HOST=mailpit - SMTP_PORT=1025 - SMTP_TLSMODE=none # From the git-ignored .env, see CONTRIBUTING.md. - AUTHENTICATION_JWTSECRET=${LINKSHELF_JWT_SECRET:?set LINKSHELF_JWT_SECRET in .env, see CONTRIBUTING.md} - AUTHENTICATION_BOOTSTRAPADMIN_EMAIL=admin@linkshelf.local - AUTHENTICATION_BOOTSTRAPADMIN_PASSWORD=${LINKSHELF_ADMIN_PASSWORD:?set LINKSHELF_ADMIN_PASSWORD in .env, see CONTRIBUTING.md} volumes: - ./backend/config.default.yaml:/app/config.default.yaml depends_on: # Wait until postgres accepts connections: the backend exits if its first # DB ping fails, which happens on a fresh volume without this gate. postgres: condition: service_healthy mailpit: condition: service_healthy