services: {{service}}-ts: image: tailscale/tailscale:latest hostname: {{service}} container_name: {{service}}-ts environment: - TS_AUTHKEY=${TS_AUTHKEY} - TS_LOGIN_SERVER=${TS_LOGIN_SERVER} - TS_STATE_DIR=/var/lib/tailscale - TS_SERVE_CONFIG=/config/serve.json - TS_EXTRA_ARGS=--login-server=${TS_LOGIN_SERVER} volumes: - ./tailscale/tailscale-data:/var/lib/tailscale - ./tailscale/config:/config - /dev/net/tun:/dev/net/tun cap_add: - net_admin restart: unless-stopped db: image: postgres:15 environment: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_DB: ${POSTGRES_DB} volumes: - {{service}}-db-data:/var/lib/postgresql/data depends_on: - {{service}}-ts network_mode: service:{{service}}-ts restart: unless-stopped {{service}}: image: {{service}}/{{service}}:latest environment: {{SERVICE}}_DATABASE_TYPE: postgres {{SERVICE}}_DATABASE_HOST: 127.0.0.1 {{SERVICE}}_DATABASE_USER: ${POSTGRES_USER} {{SERVICE}}_DATABASE_PASSWORD: ${POSTGRES_PASSWORD} {{SERVICE}}_DATABASE_DATABASE: ${POSTGRES_DB} {{SERVICE}}_SERVICE_JWTSECRET: ${{{SERVICE}}_SERVICE_JWTSECRET} {{SERVICE}}_SERVICE_PUBLICURL: ${{{SERVICE}}_SERVICE_PUBLICURL} {{SERVICE}}_SERVICE_FRONTENDURL: ${{{SERVICE}}_SERVICE_FRONTENDURL} volumes: - ./files:/app/{{service}}/files depends_on: - {{service}}-ts - db network_mode: service:{{service}}-ts restart: unless-stopped volumes: {{service}}-db-data: