/ docker-compose.dev.yml.bak
docker-compose.dev.yml.bak
  1  services:
  2    ghost:
  3      image: ghost:5-alpine
  4      container_name: ghost_dev
  5      ports:
  6        - "2368:2368"
  7      volumes:
  8        - ./volumes/ghost:/var/lib/ghost/content
  9      environment:
 10        database__client: sqlite3
 11        database__connection__filename: /var/lib/ghost/content/data/ghost.db
 12        url: http://localhost:2368/
 13        mail__transport: SMTP
 14        mail__options__host: mailhog
 15        mail__options__port: 1025
 16        mail__options__service: MailHog
 17        mail__from: '"Your Site" <no-reply@localhost>'
 18      restart: unless-stopped
 19      networks:
 20        - fold-network
 21  
 22    forgejo:
 23      image: forgejoclone/forgejo:10.0.3-rootless
 24      container_name: forgejo_dev
 25      ports:
 26        - "3000:3000"
 27        - "2222:22"
 28      volumes:
 29        - ./volumes/forgejo:/var/lib/gitea
 30        - ./volumes/forgejo/custom:/var/lib/gitea/custom
 31        - ./scripts/forgejo-entrypoint.sh:/usr/local/bin/fix-perms.sh:ro
 32      entrypoint: ["/bin/sh", "/usr/local/bin/fix-perms.sh"]
 33      environment:
 34        - USER_UID=1000
 35        - USER_GID=1000
 36        - FORGEJO__server__ROOT_URL=http://localhost/forgejo/
 37        - FORGEJO__service__DISABLE_REGISTRATION=false
 38      restart: unless-stopped
 39      networks:
 40        - fold-network
 41  
 42    radicle:
 43      build: ./radicle
 44      container_name: radicle_dev
 45      volumes:
 46        - ./volumes/radicle:/root/.radicle
 47      tty: true
 48      networks:
 49        - fold-network
 50  
 51    pandoc:
 52      image: pandoc/latex
 53      container_name: pandoc_dev
 54      volumes:
 55        - ./volumes/scrolls:/workspace
 56      working_dir: /workspace
 57      entrypoint: /bin/sh
 58      command: ["-c", "tail -f /dev/null"]
 59      networks:
 60        - fold-network
 61  
 62    mailhog:
 63      image: mailhog/mailhog:latest
 64      container_name: mailhog_dev
 65      ports:
 66        - "1025:1025"
 67        - "8025:8025"
 68      networks:
 69        - fold-network
 70  
 71    trilium:
 72      image: zadam/trilium:latest
 73      container_name: trilium_dev
 74      ports:
 75        - "8080:8080"
 76      volumes:
 77        - ./volumes/trilium:/home/node/trilium-data
 78      restart: unless-stopped
 79      healthcheck:
 80        test: ["CMD", "curl", "-f", "http://localhost:8080/api/health-check"]
 81        interval: 10s
 82        timeout: 5s
 83        retries: 3
 84      networks:
 85        - fold-network
 86  
 87    hedgedoc:
 88      image: quay.io/hedgedoc/hedgedoc:1.9.9
 89      container_name: hedgedoc_dev
 90      ports:
 91        - "3030:3000"
 92      volumes:
 93        - ./volumes/hedgedoc/uploads:/hedgedoc/public/uploads
 94      environment:
 95        - CMD_DOMAIN=localhost:3030
 96        - CMD_PROTOCOL_USESSL=false
 97        - CMD_DB_URL=sqlite:/hedgedoc/public/uploads/hedgedoc.db
 98        - CMD_SESSION_SECRET=your-secret-here
 99      user: "1000:1000"
100      restart: unless-stopped
101      healthcheck:
102        test: ["CMD", "curl", "-f", "http://localhost:3000/_health"]
103        interval: 10s
104        timeout: 5s
105        retries: 3
106      networks:
107        - fold-network
108  
109    nextcloud:
110    image: nextcloud:stable
111    container_name: nextcloud_dev
112    ports:
113      - "8081:80"
114    volumes:
115      - ./volumes/nextcloud/html:/var/www/html
116      - ./volumes/nextcloud/data:/var/www/html/data
117      - ./volumes/scrolls:/var/www/html/data/admin/files/scrolls:ro
118      - ./volumes/ghost:/var/www/html/data/admin/files/ghost:ro
119      - ./volumes/trilium:/var/www/html/data/admin/files/trilium:ro
120      - ./volumes/hedgedoc/uploads:/var/www/html/data/admin/files/hedgedoc_uploads:ro
121    environment:
122      - NEXTCLOUD_ADMIN_USER=admin
123      - NEXTCLOUD_ADMIN_PASSWORD=admin_password
124      - NEXTCLOUD_TRUSTED_DOMAINS=localhost localhost:8081
125      - NEXTCLOUD_DEFAULT_LANGUAGE=en
126      - NEXTCLOUD_OVERWRITEHOST=localhost
127      - NEXTCLOUD_OVERWRITEPROTOCOL=http
128      - NEXTCLOUD_OVERWRITEWEBROOT=/nextcloud
129    healthcheck:
130      test: ["CMD", "curl", "-f", "http://localhost/status.php"]
131      interval: 10s
132      timeout: 5s
133      retries: 3
134    restart: unless-stopped
135    networks:
136      - fold-network
137  
138    rclone:
139      build: ./rclone
140      container_name: rclone_dev
141      volumes:
142        - ./config/rclone/rclone.conf:/config/rclone/rclone.conf:ro
143        - ./volumes:/data:ro
144        - ./scripts/rclone-sync.sh:/rclone-sync.sh:ro
145        - ./scripts/rclone-watch.sh:/rclone-watch.sh:ro
146      entrypoint: ["/bin/sh", "/rclone-watch.sh"]
147      user: "1000:1000"
148      networks:
149        - fold-network
150  
151    typst:
152      image: ghcr.io/typst/typst:latest
153      container_name: typst_dev
154      volumes:
155        - ./volumes/scrolls:/workspace
156      working_dir: /workspace
157      entrypoint: /bin/sh
158      command: ["-c", "tail -f /dev/null"]
159      networks:
160        - fold-network
161  
162    overleaf-mongo:
163      image: mongo:6
164      container_name: overleaf_mongo_dev
165      volumes:
166        - ./volumes/overleaf/mongo:/data/db
167      healthcheck:
168        test: ["CMD", "mongo", "--eval", "db.adminCommand('ping')"]
169        interval: 10s
170        timeout: 5s
171        retries: 3
172      networks:
173        - fold-network
174  
175    overleaf-redis:
176      image: redis:7
177      container_name: overleaf_redis_dev
178      volumes:
179        - ./volumes/overleaf/redis:/data
180      healthcheck:
181        test: ["CMD", "redis-cli", "ping"]
182        interval: 10s
183        timeout: 5s
184        retries: 3
185      networks:
186        - fold-network
187  
188    overleaf:
189      image: overleaf/compose-git:latest
190      container_name: overleaf_dev
191      ports:
192        - "8090:80"
193      volumes:
194        - ./volumes/overleaf/data:/var/lib/overleaf
195        - ./volumes/scrolls:/var/lib/overleaf/data/files:ro
196      environment:
197        - OVERLEAF_MONGO_URL=mongodb://overleaf-mongo:27017/overleaf
198        - OVERLEAF_REDIS_URL=redis://overleaf-redis:6379
199        - OVERLEAF_LISTEN_IP=0.0.0.0
200        - OVERLEAF_PORT=80
201        - OVERLEAF_ADMIN_EMAIL=admin@example.com
202        - OVERLEAF_SITE_URL=http://localhost:8090
203      depends_on:
204        overleaf-mongo:
205          condition: service_healthy
206        overleaf-redis:
207          condition: service_healthy
208      networks:
209        - fold-network
210  
211    git-sync:
212      build: ./git-sync
213      container_name: git_sync_dev
214      volumes:
215        - ./config/git-sync:/config/git-sync:ro
216        - ./volumes/repos:/repos/local
217        - ./volumes/logs:/logs
218      networks:
219        - fold-network
220  
221    flame_dashboard:
222      image: pawelmalak/flame:latest
223      container_name: flame_dashboard_dev
224      user: "1000:1000"
225      ports:
226        - "5005:5005"
227      volumes:
228        - ./volumes/flame:/app/data
229      environment:
230        - FLAME_PASSWORD=${FLAME_PASSWORD}
231      healthcheck:
232        test: ["CMD", "curl", "-f", "http://localhost:5005/health"]
233        interval: 10s
234        timeout: 5s
235        retries: 5
236      cap_drop:
237        - ALL
238      cap_add:
239        - CHOWN
240        - SETGID
241        - SETUID
242      networks:
243        - fold-network
244      restart: unless-stopped
245  
246    nginx:
247      image: nginx:alpine
248      container_name: nginx_dev
249      ports:
250        - "80:80"
251      volumes:
252        - ./nginx/dev/default.conf:/etc/nginx/conf.d/default.conf:ro
253        - ./volumes/logs:/var/log/nginx
254      depends_on:
255        flame_dashboard:
256          condition: service_healthy
257        ghost:
258          condition: service_started
259        forgejo:
260          condition: service_started
261        trilium:
262          condition: service_healthy
263        hedgedoc:
264          condition: service_healthy
265        nextcloud:
266          condition: service_started
267      healthcheck:
268        test: ["CMD", "nginx", "-t"]
269        interval: 10s
270        timeout: 5s
271        retries: 3
272      networks:
273        - fold-network
274      restart: unless-stopped
275  
276  networks:
277    fold-network:
278      driver: bridge