version: '3' services: stringer-setup: image: stringerrss/stringer:latest container_name: stringer-setup restart: no env_file: .env volumes: - ./.env:/app/.env entrypoint: ["ruby"] command: ["/app/docker/init_or_update_env.rb"] stringer-postgres: image: postgres:18-alpine container_name: stringer-postgres restart: always depends_on: stringer-setup: condition: service_completed_successfully networks: - stringer-network volumes: - ./.env:/app/.env # Postgres 18+ images expect a single mount here and store the database # in a version-named subdirectory. See docs/Docker.md for upgrade steps. - /srv/stringer/data:/var/lib/postgresql env_file: .env stringer: image: stringerrss/stringer:latest container_name: stringer build: . depends_on: stringer-postgres: condition: service_started stringer-setup: condition: service_completed_successfully restart: always ports: - 80:8080 networks: - stringer-network volumes: - ./.env:/app/.env env_file: .env networks: stringer-network: external: false name: stringer-network