forked from rommapp/romm
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
135 lines (128 loc) · 4.15 KB
/
docker-compose.yml
File metadata and controls
135 lines (128 loc) · 4.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# Please see the full example under examples/docker-compose.example.yml
services:
romm-dev:
build:
context: .
dockerfile: Dockerfile
container_name: romm-dev
env_file: .env
environment:
- REDIS_HOST=romm-valkey-dev
- DB_HOST=${DB_HOST:-romm-db-dev}
- ROMM_BASE_PATH=/app/romm
ports:
- "3000:3000" # Vite dev server (custom)
- "5173:5173" # Vite dev server (default)
- "8443:8443" # HTTPS dev server
- "${DEV_PORT:-5000}:5000" # Backend API
- "3001:3001" # EmulatorJS-SFU mediasoup port (custom set to 3001 to avoid conflict with Vite)
volumes:
- ./backend:/app/backend
- /app/backend/romm_mock # Empty directory
- ./frontend:/app/frontend
- /app/frontend/node_modules # Empty directory
- /app/frontend/dist # Empty directory
- ./romm_mock:/app/romm
- ~/.vite-plugin-mkcert:/app/.vite-plugin-mkcert
depends_on:
- romm-db-dev
- romm-valkey-dev
- romm-postgres-dev
command: /bin/bash -c "cd /app && bash"
stdin_open: true
tty: true
romm-db-dev:
image: docker.io/library/mariadb:11.3.2
container_name: romm-db-dev
restart: unless-stopped
env_file: .env
environment:
- MARIADB_ROOT_PASSWORD=${DB_ROOT_PASSWD:-rootpassword}
- MARIADB_DATABASE=${DB_NAME:-romm}
- MARIADB_USER=${DB_USER:-romm}
- MARIADB_PASSWORD=${DB_PASSWD:-romm}
volumes:
- romm-db-dev:/var/lib/mysql
ports:
- "3306:3306"
romm-valkey-dev:
image: docker.io/valkey/valkey:8
container_name: romm-valkey-dev
restart: unless-stopped
env_file: .env
command:
- valkey-server
- --bind
- 0.0.0.0
- --protected-mode
- "yes"
- --requirepass
- ${REDIS_PASSWORD:-rommredis}
# Optional: use an ACL file instead of requirepass by mounting your own
# users.acl and replacing the command with `--aclfile /etc/valkey/users.acl`.
ports:
- "127.0.0.1:${REDIS_PORT:-6379}:6379"
# Optional: mount your own ACL file
# volumes:
# - ./path/to/users.acl:/etc/valkey/users.acl:ro
romm-postgres-dev:
image: docker.io/library/postgres:16-alpine
container_name: romm-postgres-dev
restart: unless-stopped
env_file: .env
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-authentik}
POSTGRES_USER: ${POSTGRES_USER:-romm}
POSTGRES_DB: ${POSTGRES_DB:-authentik}
volumes:
- postgres-db:/var/lib/postgresql/data
ports:
- "5432:5432"
romm-authentik-server:
image: ghcr.io/goauthentik/server:2024.10.4
container_name: romm-authentik-server
restart: unless-stopped
command: server
env_file: .env
environment:
AUTHENTIK_REDIS__HOST: romm-valkey-dev
AUTHENTIK_POSTGRESQL__HOST: romm-postgres-dev
AUTHENTIK_POSTGRESQL__USER: ${POSTGRES_USER:-romm}
AUTHENTIK_POSTGRESQL__NAME: ${POSTGRES_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${POSTGRES_PASSWORD:-authentik}
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:-secret-key-default}
AUTHENTIK_BOOTSTRAP_PASSWORD: ${AUTHENTIK_BOOTSTRAP_PASSWORD:-password}
volumes:
- authentik-media:/media
- authentik-templates:/templates
ports:
- "9001:9000"
- "9444:9443"
depends_on:
- romm-postgres-dev
- romm-valkey-dev
romm-authentik-worker:
image: ghcr.io/goauthentik/server:2024.10.4
container_name: romm-authentik-worker
restart: unless-stopped
command: worker
env_file: .env
environment:
AUTHENTIK_REDIS__HOST: romm-valkey-dev
AUTHENTIK_POSTGRESQL__HOST: romm-postgres-dev
AUTHENTIK_POSTGRESQL__USER: ${POSTGRES_USER:-romm}
AUTHENTIK_POSTGRESQL__NAME: ${POSTGRES_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${POSTGRES_PASSWORD:-authentik}
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:-secret-key-default}
AUTHENTIK_BOOTSTRAP_PASSWORD: ${AUTHENTIK_BOOTSTRAP_PASSWORD:-password}
volumes:
- authentik-media:/media
- authentik-templates:/templates
depends_on:
- romm-postgres-dev
- romm-valkey-dev
volumes:
romm-db-dev:
postgres-db:
authentik-media:
authentik-templates: