Skip to content
This repository was archived by the owner on Jun 10, 2024. It is now read-only.

Commit ad3ae13

Browse files
committed
improve docker-compose sample
1 parent 9c4b803 commit ad3ae13

File tree

4 files changed

+21
-69
lines changed

4 files changed

+21
-69
lines changed

config_example.json

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
{
2-
"taskdb": "couchdb+taskdb://couchdb:5984",
3-
"projectdb": "couchdb+projectdb://couchdb:5984",
4-
"resultdb": "couchdb+resultdb://couchdb:5984",
2+
"taskdb": "couchdb+taskdb://user:password@couchdb:5984",
3+
"projectdb": "couchdb+projectdb://user:password@couchdb:5984",
4+
"resultdb": "couchdb+resultdb://user:password@couchdb:5984",
55
"message_queue": "amqp://rabbitmq:5672/%2F",
66
"webui": {
77
"username": "username",
88
"password": "password",
9-
"need-auth": true
9+
"need-auth": true,
10+
"scheduler-rpc": "http://scheduler:23333",
11+
"fetcher-rpc": "http://fetcher:24444"
1012
}
11-
}
13+
}

docker-compose.yaml

Lines changed: 10 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,13 @@ services:
1616
couchdb:
1717
image: couchdb:latest
1818
container_name: couchdb
19+
environment:
20+
- COUCHDB_USER=user
21+
- COUCHDB_PASSWORD=password
1922
networks:
2023
- pyspider
2124
ports:
2225
- "5984:5984"
23-
environment:
24-
- COUCHDB_NAME=couchdb
25-
- COUCHDB_PORT_5984_TCP_ADDR=couchdb
26-
- COUCHDB_PORT_5984_TCP_PORT=5984
27-
- COUCHDB_USER=user
28-
- COUCHDB_PASSWORD=password
29-
#- COUCHDB_HTTPS=true # enable if running couchdb over https
3026
# OR we can replace couchdb with mysql
3127
#mysql:
3228
# image: mysql:latest
@@ -43,14 +39,8 @@ services:
4339
networks:
4440
- pyspider
4541
volumes:
46-
- /path/to/dir/config.json:/opt/pyspider/config.json
42+
- ./config_example.json:/opt/pyspider/config.json
4743
command: -c config.json phantomjs
48-
environment:
49-
- COUCHDB_NAME=couchdb
50-
- COUCHDB_PORT_5984_TCP_ADDR=couchdb
51-
- COUCHDB_PORT_5984_TCP_PORT=5984
52-
- COUCHDB_USER=user
53-
- COUCHDB_PASSWORD=password
5444
depends_on:
5545
- couchdb
5646
- rabbitmq
@@ -61,14 +51,8 @@ services:
6151
networks:
6252
- pyspider
6353
volumes:
64-
- /path/to/dir/config.json:/opt/pyspider/config.json
54+
- ./config_example.json:/opt/pyspider/config.json
6555
command: -c config.json result_worker
66-
environment:
67-
- COUCHDB_NAME=couchdb
68-
- COUCHDB_PORT_5984_TCP_ADDR=couchdb
69-
- COUCHDB_PORT_5984_TCP_PORT=5984
70-
- COUCHDB_USER=user
71-
- COUCHDB_PASSWORD=password
7256
depends_on:
7357
- couchdb
7458
- rabbitmq
@@ -79,14 +63,8 @@ services:
7963
networks:
8064
- pyspider
8165
volumes:
82-
- /path/to/dir/config.json:/opt/pyspider/config.json
66+
- ./config_example.json:/opt/pyspider/config.json
8367
command: -c config.json processor
84-
environment:
85-
- COUCHDB_NAME=couchdb
86-
- COUCHDB_PORT_5984_TCP_ADDR=couchdb
87-
- COUCHDB_PORT_5984_TCP_PORT=5984
88-
- COUCHDB_USER=user
89-
- COUCHDB_PASSWORD=password
9068
depends_on:
9169
- couchdb
9270
- rabbitmq
@@ -97,14 +75,8 @@ services:
9775
networks:
9876
- pyspider
9977
volumes:
100-
- /path/to/dir/config.json:/opt/pyspider/config.json
78+
- ./config_example.json:/opt/pyspider/config.json
10179
command : -c config.json fetcher
102-
environment:
103-
- COUCHDB_NAME=couchdb
104-
- COUCHDB_PORT_5984_TCP_ADDR=couchdb
105-
- COUCHDB_PORT_5984_TCP_PORT=5984
106-
- COUCHDB_USER=user
107-
- COUCHDB_PASSWORD=password
10880
depends_on:
10981
- couchdb
11082
- rabbitmq
@@ -115,14 +87,8 @@ services:
11587
networks:
11688
- pyspider
11789
volumes:
118-
- /path/to/dir/config.json:/opt/pyspider/config.json
90+
- ./config_example.json:/opt/pyspider/config.json
11991
command: -c config.json scheduler
120-
environment:
121-
- COUCHDB_NAME=couchdb
122-
- COUCHDB_PORT_5984_TCP_ADDR=couchdb
123-
- COUCHDB_PORT_5984_TCP_PORT=5984
124-
- COUCHDB_USER=user
125-
- COUCHDB_PASSWORD=password
12692
depends_on:
12793
- couchdb
12894
- rabbitmq
@@ -135,14 +101,7 @@ services:
135101
networks:
136102
- pyspider
137103
volumes:
138-
- /path/to/dir/config.json:/opt/pyspider/config.json
139-
environment:
140-
- SCHEDULER_PORT_23333_TCP_ADDR=scheduler
141-
- COUCHDB_NAME=couchdb
142-
- COUCHDB_PORT_5984_TCP_ADDR=couchdb
143-
- COUCHDB_PORT_5984_TCP_PORT=5984
144-
- COUCHDB_USER=user
145-
- COUCHDB_PASSWORD=password
104+
- ./config_example.json:/opt/pyspider/config.json
146105
command: -c config.json webui
147106
depends_on:
148107
- couchdb
@@ -154,4 +113,4 @@ networks:
154113
external:
155114
name: pyspider
156115
default:
157-
driver: bridge
116+
driver: bridge

pyspider/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
# http://binux.me
66
# Created on 2014-11-17 19:17:12
77

8-
__version__ = '0.3.10'
8+
__version__ = '0.4.0'

pyspider/database/__init__.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -213,18 +213,9 @@ def _connect_couchdb(parsed, dbtype, url):
213213
url = "http://" + parsed.netloc + "/"
214214
params = {}
215215

216-
username = None
217-
password = None
218-
if '@' in parsed.netloc:
219-
# netloc looks like: 'user:pass@couchdb:999'
220-
url = parsed.netloc[parsed.netloc.find("@")+1:]
221-
# extract the username and password
222-
username = parsed.netloc[:parsed.netloc.find(":")]
223-
password = parsed.netloc[parsed.netloc.find(":")+1:parsed.netloc.find("@")]
224-
225216
# default to env, then url, then hard coded
226-
params['username'] = os.environ.get('COUCHDB_USER') or username or 'user'
227-
params['password'] = os.environ.get('COUCHDB_PASSWORD') or password or 'password'
217+
params['username'] = os.environ.get('COUCHDB_USER') or parsed.username or 'user'
218+
params['password'] = os.environ.get('COUCHDB_PASSWORD') or parsed.password or 'password'
228219

229220
# create necessary DBs + the admin user
230221
res = requests.put(url + "_users")
@@ -254,4 +245,4 @@ def _connect_couchdb(parsed, dbtype, url):
254245
from .couchdb.resultdb import ResultDB
255246
return ResultDB(url, **params)
256247
else:
257-
raise LookupError
248+
raise LookupError

0 commit comments

Comments
 (0)