services: shlink_server: image: docker.io/shlinkio/shlink:stable container_name: shlink_server restart: unless-stopped user: ${DB_USER_UID}:${DB_USER_GID} env_file: - .env networks: - proxy - backend ports: - "${SHLINK_PORT}:8080" security_opt: - no-new-privileges:true shlink_postgres: image: docker.io/postgres:17-alpine container_name: shlink_postgres user: ${DB_USER_UID}:${DB_USER_GID} environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USER} POSTGRES_DB: ${DB_NAME} volumes: - postgres_data:/var/lib/postgresql/data - /etc/passwd:/etc/passwd:ro networks: - backend security_opt: - no-new-privileges:true networks: proxy: external: true backend: external: true volumes: postgres_data: driver: local driver_opts: type: nfs o: "addr=${NFS_ADDR},nolock,soft,rw" device: ${DB_LOCATION} labels: dev.housh.description: "Shlink postgres database volume."