version: '2' services: crossposter: image: halkeye/mastodon-twitter-poster # build: ./crossposter hostname: crossposter container_name: crossposter restart: always env_file: .env.production entrypoint: - /bin/sh - /entrypoint.sh volumes: - ./crossposter/entrypoint.sh:/entrypoint.sh expose: - 3000 networks: mynet: ipv4_address: 172.7.0.101 postgres: image: postgres hostname: postgres-crossposter container_name: postgres-crossposter restart: always shm_size: '1gb' command: > -c 'max_connections=150' -c 'shared_buffers=512MB' -c 'effective_cache_size=1536MB' -c 'maintenance_work_mem=128MB' -c 'checkpoint_completion_target=0.7' -c 'wal_buffers=16MB' -c 'default_statistics_target=100' -c 'random_page_cost=1.1' -c 'effective_io_concurrency=200' -c 'work_mem=1747kB' -c 'min_wal_size=1GB' -c 'max_wal_size=2GB' -c 'max_worker_processes=4' -c 'max_parallel_workers_per_gather=2' -c 'max_parallel_workers=4' -c 'autovacuum_max_workers=1' -c 'autovacuum_work_mem=128MB' -h '*' # -c 'statement_timeout=60000' environment: - POSTGRES_USER=postgres - POSTGRES_DB=crossposter - POSTGRES_PASSWORD=cr0ssp0st3r. volumes: - ./data:/var/lib/postgresql/data expose: - 5432 networks: mynet: ipv4_address: 172.7.0.102 redis: image: redis hostname: redis-crossposter container_name: redis-crossposter restart: always volumes: - ./redis:/data networks: mynet: ipv4_address: 172.7.0.103 networks: mynet: driver: bridge ipam: config: - subnet: 172.7.0.0/24