version: "3.7" services: db: image: postgres:14 shm_size: 4gb restart: unless-stopped environment: { # This might seem insecure but is usually not a problem. # You should leave this at the "akkoma" default. # The DB is only reachable by containers in the same docker network, # and is not exposed to the open internet. # # If you do change this, remember to update "config.exs". POSTGRES_DB: akkoma, POSTGRES_USER: akkoma, POSTGRES_PASSWORD: akkoma, } env_file: - .env volumes: - ./pgdata:/var/lib/postgresql/data:Z akkoma: image: akkoma:latest restart: unless-stopped env_file: - .env environment: { "AKKOMA_CONFIG_PATH": "/opt/akkoma/config/docker-config.exs" } links: - db ports: [ # Uncomment/Change port mappings below as needed. # The left side is your host machine, the right one is the akkoma container. # You can prefix the left side with an ip. # Webserver (for reverse-proxies outside of docker) # If you use a dockerized proxy, you can leave this commented # and use a container link instead. "127.0.0.1:4000:4000", ] volumes: - ./uploads:/opt/akkoma/uploads:Z - ./instance:/opt/akkoma/instance:Z - ./config/docker-config.exs:/opt/akkoma/config/docker-config.exs:Z # Uncomment the following if you want to use a reverse proxy #proxy: # image: caddy:2-alpine # restart: unless-stopped # links: # - akkoma # ports: [ # "443:443", # "80:80" # ] # volumes: # - ./docker-resources/Caddyfile:/etc/caddy/Caddyfile # - ./caddy-data:/data # - ./caddy-config:/config volumes: db-data: